Course syllabus

Course-PM

DAT335 / DIT032 Data Management lp3 VT20 (7.5 hp)

Department of Computer Science and Engineering, Software Engineering division

Contact details

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

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

Teaching Assistants

Susan Lieu gusliesu@student.gu.se
Hartmut Fischer gusfisha@student.gu.se
Hannah Maltkvist hannahmaltkvist@gmail.com
Konrad Otto gusottko@student.gu.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 lectures. Participation in lectures is optional but strongly suggested.
  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.

Discussions in the Canvas Discussions section are a big part of the learning experience in this course, so any technical questions should be directed to the forum first.

Changes made since the last occasion

Based on student feedback, we have split up the 3 larger assignments into 4 smaller ones (with an identical number of tasks that need to be done - i.e., the total amount of work remains the same, but it is submitted and graded in shorter increments).

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 hall 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 the end of the semester (end of the re-examination period in August). 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