CS-322 / 4 credits

Teacher(s): Ailamaki Anastasia, Koch Christoph

Language: English


Summary

This course provides a deep understanding of the concepts behind data management systems. It covers fundamental data management topics such as system architecture, data models, query processing and optimization, database design, storage organization, and transaction management.

Content

Keywords

databases, database design, data modeling, normalization, database management systems (DBMS), files, indexes, storage, external sorting, queries, query evaluation, query optimization, transactions, concurrency, recovery, SQL

Learning Prerequisites

Required courses

Data structures

Recommended courses

For the practical part of the course (project) the following skills will be needed:

  • System oriented programming, with focus on scripting languages to enhance the parsing process of raw data.
  • Building user interfaces, either web (e.g., PHP, JSP, ASP, ...) or application GUI (e.g., java).

Important concepts to start the course

Before the beginning of the course students must be familiar with:

  • Data structures
  • Algorithms concepts

Learning Outcomes

By the end of the course, the student must be able to:

  • Express application information requirements
  • Use a relational DBMS
  • Create a database on a relational DBMS
  • Design a database with a practical application in mind
  • Model the data of an application using ER and relational modeling
  • Explore how a DBMS performs its work
  • Report performance and possible optimizations for applications using DBMS
  • Justify design and implementation choices

Transversal skills

  • Assess progress against the plan, and adapt the plan as appropriate.
  • Evaluate one's own performance in the team, receive and respond appropriately to feedback.
  • Write a scientific or technical report.
  • Make an oral presentation.

Teaching methods

Ex cathedra; including exercises in class, practice with pen and paper or with a computer, and a project

Expected student activities

During the semester, the students are expected to:

  • attend the lectures in order to ask questions and interact with the professor,
  • attend the exercises session to solve and discuss exercises abou the recently taught material,
  • work on a project during the semester which covers the practical side of building an application using a database system,
  • take a midterm
  • take a final exam

Assessment methods

Homework, project, written examinations and continuous control.

Resources

Bibliography

Slides, list of books, additional material (research articles), all indicated and/or available on moodle page.

Ressources en bibliothèque

Notes/Handbook

The slides that are used in the class are available for the students.

In the programs

  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Introduction to database systems
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Project: 1 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Introduction to database systems
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Project: 1 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Introduction to database systems
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Project: 1 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Introduction to database systems
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Project: 1 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Introduction to database systems
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Project: 1 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Introduction to database systems
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Project: 1 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Introduction to database systems
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Project: 1 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Introduction to database systems
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Project: 1 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Introduction to database systems
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Project: 1 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Introduction to database systems
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Project: 1 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Introduction to database systems
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Project: 1 Hour(s) per week x 14 weeks

Reference week

 MoTuWeThFr
8-9     
9-10     
10-11     
11-12     
12-13     
13-14     
14-15     
15-16     
16-17     
17-18     
18-19     
19-20     
20-21     
21-22