CS-202 / 8 crédits

Enseignant(s): Argyraki Aikaterini, Bugnion Edouard, Chappelier Jean-Cédric

Langue: Anglais


Summary

This course will teach operating systems and networks in an integrated fashion,emphasising the fundamental concepts and techniques that make their interaction possible/practical. Core lectures will be coupled with C programming lectures and assignments for hands-on experience.

Content

We will communicate these concepts and techniques through examples at different layers of the stack and draw connections/parallels between different aspects of computing systems.

  • The role of the Operating System
  • File systems
  • Virtual memory
  • Efficient resource management
  • Networked applications
  • The Internet
  • Transport layer
  • Network layer
  • Link layer
  • Data-centers and cloud systems

Learning Prerequisites

Required courses

  • CS-107 Introduction à la programmation
  • CS-108 Pratique de la programmation orientée-objet
  • CS-173 Fundamentals of Digital Systems

Important concepts to start the course

  • Basic Programming
  • Basic computer architecture

Learning Outcomes

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

  • Manage key elements of operating systems and networks
  • Critique the design of an OS or network protocol
  • Design and implement C programs and network applications
  • Compare different OS functions and network protocols
  • Investigate simple OS and network attacks
  • Investigate the correctness of C programs through debugging

Teaching methods

  • Ex cathedra
  • Hands-on exercise sessions

Expected student activities

  • Participate in lectures and exercise sessions
  • Answer quizzes
  • Submit programming assignments
  • Take midterm and final exams

Assessment methods

  • Programming assignments (by groups of two)
  • Midterm and final exam
  • Quizzes

Supervision

Office hours Yes

Resources

Moodle Link

Prerequisite for

CS-311 The Software Enterprise - from ideas to products

CS-300 Data-Intensive Systems

Dans les plans d'études

  • Semestre: Printemps
  • Forme de l'examen: Ecrit (session d'été)
  • Matière examinée: Computer systems
  • Cours: 4 Heure(s) hebdo x 14 semaines
  • Exercices: 2 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: Computer systems
  • Cours: 4 Heure(s) hebdo x 14 semaines
  • Exercices: 2 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: Computer systems
  • Cours: 4 Heure(s) hebdo x 14 semaines
  • Exercices: 2 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: Computer systems
  • Cours: 4 Heure(s) hebdo x 14 semaines
  • Exercices: 2 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: Computer systems
  • Cours: 4 Heure(s) hebdo x 14 semaines
  • Exercices: 2 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: Computer systems
  • Cours: 4 Heure(s) hebdo x 14 semaines
  • Exercices: 2 Heure(s) hebdo x 14 semaines
  • Labo: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel

Semaine de référence

Cours connexes

Résultats de graphsearch.epfl.ch.