Course syllabus

Course-PM

DAT335 / DIT032 DAT335 / DIT032 Data Management lp3 VT21 (7.5 hp)

Course is offered by the department of Computer Science and Engineering

Contact details

Examiner / Main Teacher
Philipp Leitner (philipp.leitner@chalmers.se)

Teaching Assistant Coordinator / Responsible Person for Assignments
Joel Scheuner (scheuner@chalmers.se)

Course purpose

The purpose of this course is to give students a solid theoretical and practical background in the fundamentals of database design and usage. A focus is put on data management from a software developer's point of view. Further, in addition to traditional data modelling topics, relational theory, and SQL, the course teaches modern database concepts, such as soft-state NoSQL databases, Big Data, and Map/Reduce. At the end of the course, students are expected to be able to design, implement, and use a range of different database technologies in their software projects.

Schedule

Classes and supervisions are typically held every week, but please check the Schedule page on Canvas (link) if there actually is a class/supervision at any given day. We reserve the right to cancel individual classes and supervisions, for instance when there is no ongoing assignment to discuss. The schedule has a detailed list of in-class activities, and it will also say whether a class is scheduled (and what it is about).

The official calendar in TimeEdit can also be useful, but keep in mind that short-term changes will not be reflected there.

Course literature

We are primarily following the book Fundamentals of Database Systems (7th Edition). More details are available in the Literature page here on Canvas. Optional reading will be announced on a rolling basis during the course, as per student requests.

Course design

The course is based on three didactic pillars:

  1. Traditional up-front teaching through video lectures. Participation in lectures is optional but strongly suggested. Lectures will be recorded and made available as videos for later self-study.
  2. Lectures are intended to be enhanced through self-learning, primarily by weekly studying the relevant chapters in the book. In addition to reading the chapters, students are expected to solve (parts of) the book exercises on their own. These voluntary exercises are not graded, but solutions can be discussed either online in the forum or in supervisions.
  3. In addition to voluntary exercises, there are four assignment sheets. Assignments need to be solved in teams of two students, and they are graded. Assignments need to be solved outside of class, but they can be discussed during supervision streams.

Discussions through Slack (the virtual classroom used in the course) are a big part of the learning experience in this course, so any technical questions should be directed there first.

Changes made since the last occasion

The only major change since the last occasion is that, due to Covid-19, lectures and supervisions will be held via Zoom.

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

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

Official Syllabus at GU
Official Syllabus at Chalmers

Examination form

The course is examined using a combination of mandatory assignments and through a final written exam.

Written exam:

The date for the (first) final examination is TBA (pending confirmation by Schemagruppen). A student who has failed the examination has the right for a re-examination. There will be two chances for re-examination in the two re-examination periods following the course. 

Assignment submodule:

The students need to submit four assignments during the course. Assignments are solved in groups of two students, and each group submits a single assignment which "counts" for both students. Groups are registered at the beginning of the course and remain the same for the entire course. Exceptions can only be made if a student cannot continue to participate in the assignments, for instance, due to severe illness. An assignment counts as passed when the group achieves at least 70% of the total points for the assignment. All assignments together are worth 3.0 HEC.

Groups need to pass at least three assignments, and they need at least 50% of the points on all assignments. Students have two chances to re-submit failed assignments. The first re-submission deadline is one month after the end of the course (defined as one month after the first written hall exam). The second re-submission deadline is at the end of June. Resubmissions require a detailed changelog (where students explain why their previous solution did not work, and how the new submission improves it).

There is a hard deadline for each assignment (see Canvas), by which it needs to be submitted electronically via Canvas. Late submissions are not accepted and count as failed assignments. 

Overall grading:

The written hall exam corresponds to 4.5 HEC. The written exam is passed when the student achieves at least 50% of the total points for the final exam. For GU, a pass with honor (VG) is given for the entire course if the student passes all three assignments and reaches at least 85% of the total points in the written exam. For Chalmers, 85% of the total points are required for a 5, 70% for a 4, and 50% for a 3.

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. Further, we will count it as cheating if groups enable others to plagiarize by uploading significant parts of their solution to a public web space (e.g., GitHub).

Course summary:

Date Details Due