Data-intensive systems
Summary
This course covers the data management system design concepts using a hands-on approach.
Content
We will cover database architecture, data models, query optimization and planning, query engine and system programming, and storage systems. As our field is evolving rapidly, the list below is not exhaustive and will be adapted to reflect current technology trends.
- Entity-relationship and relational model
- Relational Algebra, Calculus, and SQL
- Memory and storage hierarchy
- Sorting and Indexing
- Query operators and optimization
- Basic synchronization mechanisms: locking and latching, task coordination
- Transaction management and concurrency control
Note that the topics listed are tentative and may be covered at different levels of depth. Material discussed in previous editions of the course provides an indication of what may be covered, but does not constitute a guarantee, as data-intensive systems, technologies, and practices continue to evolve rapidly. Active participation in class and completion of the course projects/labs are strongly recommended.
Learning Prerequisites
Required courses
CS-202 Computer Systems
Recommended courses
CS-200 Computer architecture
Important concepts to start the course
- Excellent C/C++ programming skills
- Undergraduate computer science course(s) on algorithms and data structures
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
- Explore how a DBMS works
- Report performance and possible optimizations for applications utilizing a DBMS
- Identify and understand key components of database systems
- Choose or critique design choices for DB software
Teaching methods
Lectures, exercices, and projects
Expected student activities
- Complete the course projects/labs, which provide practical experience with the concepts covered in the course and prepare students for the corresponding practical questions in the final exam.
- Study all material provided and recommended during the course.
- Take the final written exam.
Assessment methods
The final grade is based entirely (100%) on the final written exam.The final exam will assess both the theoretical and practical aspects of the course. Questions similar in nature to the work carried out in the course projects/labs may account for up to the weighting previously allocated to the projects/labs in past editions of the course.The projects/labs themselves are not graded and do not contribute directly to the final grade.
Supervision
| Office hours | Yes |
| Assistant.e.s | Yes |
Resources
Bibliography
Database System Concept, 7th Edition, Avi Slberschatz, Henry F. Korth, S. Sudrshan
Ressources en bibliothèque
Moodle Link
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
- Labo: 2 Heure(s) hebdo x 14 semaines
- Type: obligatoire
- 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
- Labo: 2 Heure(s) hebdo x 14 semaines
- Type: optionnel
- 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
- Labo: 2 Heure(s) hebdo x 14 semaines
- Type: optionnel
- 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
- Labo: 2 Heure(s) hebdo x 14 semaines
- Type: optionnel
- 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
- Labo: 2 Heure(s) hebdo x 14 semaines
- Type: optionnel
- 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
- Labo: 2 Heure(s) hebdo x 14 semaines
- Type: optionnel
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, Labo, autre