Course syllabus

Course-PM

DAT335 / DIT033 Data Management lp3 VT23 (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)

 

Administration


Student representatives

Will be added later.

 

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 17/01/2023. The supervision sessions are planned on Wednesdays every week, w.e.f. 18/01/2023 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  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)

(Adlibris link (Links to an external site.))

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) 

NOTE: The grade for the assignment submodule would be awarded as a whole (which means that marks of all the assignments would be averaged and then grade would be assigned based on percentage).
Pass with distinction (5) > =  85% of marks
Pass with credit (4)> = 70% of marks
Pass (3)> = 50% of marks
Fail (U)<  50% of marks

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): 29 Jan 2023

Assignment 2 (First Submission): 12 Feb 2023

Assignment 3 (First Submission): 26 Feb 2023

Assignment 4 (First Submission): 5 March 2023

Resubmissions :

           Second attempt (all four assignments) : 16 April 2023

           Third Attempt (all four assignments): 14th May 2023.

 

 

Sub-module: Written Examination:

Examination (First attempt):       13 March 2023
Examination (Second attempt):  08 June 2023
Examination (Third attempt):      16 August 2023

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