Course syllabus
Course-PM
DAT335 / DIT033 Data Management lp3 VT24 (7.5 hp)
This course is offered by the department of Computer Science and Engineering study period 3 of 2024.
Contact details
- Teacher and course contact: Linda Erlenhov (linda.erlenhov@chalmers.se)
- Examiner and lecturer: Philipp Leitner (philipp.leitner@chalmers.se)
- Teacher and lecturer: Mazen Mohamad (mazenm@chalmers.se)
- Teacher : Arsham Gholamzadeh Khoee (khoee@chalmers.se)
Administration
- Study counsellor: svl@cse.gu.se
- Student office: Student_office.cse@chalmers.se
- Student portal: https://studentportal.gu.se/english/my-studies/cse
Student representatives
Elin Forssell (gusforely@student.gu.se)
Julia Bonato Antunes (gusbonaju@student.gu.se)
Bimnet Daniel Tesfamariam (gustesbi@student.gu.se)
Course purpose
The course introduces the student to the role of data, information, and knowledge in software engineering. The course has two general themes: (1) fundamental concepts related to data in software engineering; (2) basic principles of database systems as seen by users, application programmers and database administrators.
The course introduces concepts and techniques related to working with data, information and knowledge, although the focus is mostly on data and information. Techniques related to extraction, representation, modelling, and access and visualization of data are discussed.
The course then introduces the role of databases and database management systems, covering topics such as algebra and the relational database, logical and physical design of databases, and the use of SQL. This includes programming in SQL, from the perspective of a user querying or modifying an existing database, by a database designer, and by an application, programmer invoking SQL from a host language.
Further, the student learns to query NoSQL databases, and contrast them to the relational model. The course also covers different data models such as XML, RDF, and JSON.
Schedule
Lectures primarily on Tuesdays and Fridays, Supervision sessions primarily on Thursdays but see Schedule for exact location and time each week.
Course literature
|
Ramez Elmasri, Shamkant B. Navathe: Fundamentals of Database Systems (7th Edition) |
Several editions are available for the suggested book, however, students are advised to get hold of the suggested edition for maximum relevance to the course contents.
A detail of how the course contents are covered through lectures can be found on the Course Literature page.
Any other optional reading will be suggested during the course, if requested by the students.
Course design
The teaching will take the form of Lectures and Supervision sessions.
Student participation in these sessions is not mandatory but is recommended. Self-learning initiatives are also expected from the students in the form of group work and reading the recommended literature for the course.
The learning experience is designed based on four themes, i.e.,
- Concept of Data and Data Modelling
- Relational Algebra
- Data management (CRUD) using SQL
- Data management (CRUD) in NoSQL databases.
The four graded assignments for the course are designed according to the above-mentioned themes. Students are required to work in groups of 2-3, in order to optimize learning. During the supervision sessions, students will work on relevant exercises which would complement the lectures and the assignments, contributing to the overall learning from the course. The language of instruction for the course is English. Therefore, we expect all communication to take place in English.
Student Groups:
The students are expected to work in groups (with 2 to 3 students in each group)
The groups are created in the canvas, and the students can self assign themselves to one of these groups.
Examination form
The course has two mandatory assessment sub-modules, i.e.,
1. Written exam: 4.5 credits
Grading scale: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U)
2. Assignments: 3 credits
Grading scale: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U)
NOTE: The grade for the assignment submodule will be awarded as a whole:
There are 200 points total for the assignments (50 x 4)
- >= 180 points: 5
- >= 150 points: 4
- >= 120 points: 3
- Students need to have at least 25 points on each individual assignment to pass (50%)
- Passed assignments cannot be resubmitted for a better grade
To pass the course, all mandatory components must be passed. To earn a higher grade than Pass, a higher weighted average from the grades of the components is required.
Details:
- The course is examined by an individual written exam carried out in an examination hall at the end of the course, and written assignments normally carried out in groups of 2–3 students.
- The sub-module Assignments is examined on the basis of solutions to compulsory problems handed in during the course and on the basis of individual contribution to the group work.
- The student is required to complete written self-and peer-assessment forms during the the course which will be part of the assessment of the student's individual contribution to the project.
- The sub-module Assignments is reexamined by individual assignments.
- For the Examination sub-module, the student shall normally be guaranteed at least three examination occasions (including the ordinary examination) during a period of at least one year from the last time the course was given.
Plagiarism:
A student will get a Fail (U) in case of plagiarism/cheating during the written exam or during the assignments. Assignments count as plagiarized if students submit (parts of) another group's assignment solution. Students are expected NOT to upload a part of their solution on a public webspace such that others can plagiarize from it.
Learning objectives and syllabus
Learning objectives:
Knowledge and understanding
- explain the differences between data, information and knowledge,
- explain basic concepts: relational data model, non-relational data model, entity-relationship model, relational database design, relational algebra and the database language SQL
- explain the ideas of distributed and NoSQL databases, and contrast them to the relational model
Skills and abilities
- construct an algorithm for querying and filtering data based on predefined criteria
- manage the process of collecting and representing data in a database
- build a data model (entity-relationship model)
- create database tables, and formulate database queries in SQL
- experiment with data technologies such as big data and open data
- manage and query NoSQL database systems
Judgement and approach
- assess the quality of data and correctness of data models
- evaluate the applicability of data management techniques for a given purpose, especially with respect to comparing monolithic and distributed, and relational and NoSQL database management systems
Link to the syllabus in the Studentportal:
Course summary:
Date | Details | Due |
---|---|---|