Data-intensive systems
Summary
The purpose of this course is to discuss the design of database and operating systems concepts using a hands-on approach.
Content
Topics we will cover include database and operating system architecture, data models, query optimization and planning, query engine and system programming, networked and distributed systems, and storage systems.
- Entity-relationship and relational model
- Relational algebra and Calculus
- The SQL query language
- Storage and indexing
- Query operators and optimization
- Transaction Management and Concurrency control
- Isolation mechanisms: process abstraction, system calls, and interrupts
- Virtual memory: MMU, TLB, paging, on-demand paging, working set
- Task scheduling: Context switch, scheduling algorithms, coroutines
- Basic synchronization mechanisms: locking and latching, task coordination
- File system: UNIX file representation, inodes, crash recovery, buffer cache, logging mechanisms
Learning Prerequisites
Required courses
CS-202 Computer Systems
CS-302 Parallelism and concurrency in software (from 2024-2025)
Recommended courses
CS-200 Computer architecture
Important concepts to start the course
Algorithms and data structures, programming, parallelism
Learning Outcomes
By the end of the course, the student must be able to:
- Identify and manage key components of database and operating systems
- Choose or critique design choices for DB and OS system software
- Express application information requirements and model the data of an application
- Create and design a database with a practical application in mind while justifying choices
- Explore how a DBMS and/or an OS performs work
- Report performance and possible optimizations for applications
Teaching methods
Lectures, exercices, and projects
Expected student activities
- Attend the lectures in order to ask questions and interact with the professor
- Attend the exercises session to solve and discuss exercises about the recently taught material
- Work on a team project which covers the practical side of the course, e.g. build a key component of an OS or build an application for using a database system
- Take a midterm and a final exam
Assessment methods
Homework, project, written examinations and continous control
Supervision
Office hours | Yes |
Assistants | Yes |
Dans les plans d'études
- Semestre: Printemps
- Forme de l'examen: Ecrit (session d'été)
- Matière examinée: Data-intensive systems
- Cours: 2 Heure(s) hebdo x 14 semaines
- Exercices: 1 Heure(s) hebdo x 14 semaines
- Projet: 2 Heure(s) hebdo x 14 semaines
- Semestre: Printemps
- Forme de l'examen: Ecrit (session d'été)
- Matière examinée: Data-intensive systems
- Cours: 2 Heure(s) hebdo x 14 semaines
- Exercices: 1 Heure(s) hebdo x 14 semaines
- Projet: 2 Heure(s) hebdo x 14 semaines
- Semestre: Printemps
- Forme de l'examen: Ecrit (session d'été)
- Matière examinée: Data-intensive systems
- Cours: 2 Heure(s) hebdo x 14 semaines
- Exercices: 1 Heure(s) hebdo x 14 semaines
- Projet: 2 Heure(s) hebdo x 14 semaines
- Semestre: Printemps
- Forme de l'examen: Ecrit (session d'été)
- Matière examinée: Data-intensive systems
- Cours: 2 Heure(s) hebdo x 14 semaines
- Exercices: 1 Heure(s) hebdo x 14 semaines
- Projet: 2 Heure(s) hebdo x 14 semaines
- Semestre: Printemps
- Forme de l'examen: Ecrit (session d'été)
- Matière examinée: Data-intensive systems
- Cours: 2 Heure(s) hebdo x 14 semaines
- Exercices: 1 Heure(s) hebdo x 14 semaines
- Projet: 2 Heure(s) hebdo x 14 semaines
Semaine de référence
Lu | Ma | Me | Je | Ve | |
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 |
Légendes:
Cours
Exercice, TP
Projet, autre