Course syllabus
Course-PM
DAT335 / DIT033 Data Management lp3 VT22 (7.5 hp)
The Course is offered by the Department of Computer Science and Engineering
Contact details
Examiner: Philipp Leitner (philipp.leitner@chalmers.se)
Course Responsible: Nayla Nasir (nayla@chalmers.se)
Co-Teacher: Samuel Idowu (samuelid@chalmers.se)
Co-Teacher: Fadhl Hujainah (fadhl@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
- Sejal Ulhas Kanaskar guskanase@student.gu.se
- Ahmed Ebrahim Ahmed Al Gabri gusalgaah@student.gu.se
- Kevin Collins guscollke@student.gu.se
- Shariq Shahbaz gusshahbsh@student.gu.se
Course evaluation
We greatly appreciate your participation in the course evaluation questionnaire. Your answers will be treated anonymously and cannot be linked to you. If you include comments, please be constructive and keep to the point so that we can use your comments to develop the course. Please remember to specify why you think something has worked well or less well. Offensive comments will be removed.
https://sunet.artologik.net/gu/Survey/16805
The link has also been sent to you student email address.
Thank you for participating!
Best regards,
CSE Student office
For question, please contact student_office.cse@chalmers.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
The forms of teaching include Lectures and Supervision sessions. The lectures will typically take place on Tuesdays and Thursdays every week, starting from 18/01/2022. The supervision sessions are planned on Wednesdays every week, w.e.f. 19/01/2022 until the end of the course.
However, there can be some exceptions, so we strongly recommend visiting the Course Schedule page on Canvas.
We reserve the right to cancel individual classes and supervision, (e.g. in case there is no ongoing assignment to discuss). The schedule page also provides an overview of the activities planned for each session, and how the teaching will be carried out.
The official calendar in TimeEdit (Links to be added by student office.) can also be referenced, but the short term changes will not be reflected there.
Mandatory course literature:
Coursebook: |
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.
Digital Tools Utilized for Instruction:
- Zoom for online sessions.
- Slack for coordination and discussions
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)
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.
Important Dates:
Sub-module: Assignments:
Assignment 1 (First Submission): 30 Jan 2022
Assignment 2 (First Submission): 13 Feb 2022
Assignment 3 (First Submission): 27 Feb 2022
Assignment 4 (First Submission): 12 March 2022
Note: Resubmissions for this sub-module will be announced later.
Sub-module: Written Examination:
Examination (First attempt): 2022-03-14
Examination (Second attempt): 2022-06-09
Examination (Third attempt): 2022-08-17
Learning objectives and syllabus
On successful completion of the course the student will be able to:
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
Competence and skills:
- 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 DAT335: https://www.student.chalmers.se/sp/course?course_id=32285
Link to syllabus DIT033: https://kursplaner.gu.se/pdf/kurs/en/DIT033