CS-202 / 8 credits

Teacher(s): Argyraki Aikaterini, Chappelier Jean-Cédric, Kashyap Sanidhya

Language: English


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

In the programs

  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Computer systems
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Computer systems
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Computer systems
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Computer systems
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Computer systems
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Computer systems
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional

Reference week

Related courses

Results from graphsearch.epfl.ch.