CS-522 / 8 credits

Teacher(s): Argyraki Aikaterini, Candea George

Language: English


Summary

This advanced graduate course teaches the key design principles underlying successful computer and communication systems, and shows how to solve real problems with ideas, techniques, and algorithms from operating systems, networks, databases, programming languages, and computer architecture.

Content

Learning Prerequisites

Required courses

The course is intellectually challenging and fast-paced, and it requires a solid background in operating systems, databases, networking, programming languages, and computer architecture. The basic courses on these topics teach how the elemental parts of modern systems work, and this course picks up where the basic courses leave off. To do well, a student must master the material taught in the following courses:

  • COM-208 Computer networks
  • CS-208/209 Computer architecture
  • CS-210 Functional programming
  • CS-305 Software engineering
  • CS-322 Introduction to database systems
  • CS-323 Introduction to operating systems

Recommended courses

The following EPFL courses cover material that significantly helps students taking this course, however they are not strictly required:

  • CS-320: Computer language processing
  • CS-470: Advanced computer architecture
  • CS-422: Database systems
  • COM-407: TCP/IP networking

Learning Outcomes

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

  • Design computer and communication systems that work well
  • Make rational design trade-offs (e.g., performance vs. correctness, latency vs. availability)
  • Anticipate emergent system behaviors (e.g., failure cascades, security vulnerabilities)
  • Integrate multiple techniques, ideas, and algorithms from different fields of computing/communication into a working system

Teaching methods

  • A combination of online and in-class lectures
  • Interactive design sessions
  • Reading assignments
  • Homework assignments

Expected student activities

  • Attend lectures and design sessions
  • Complete the reading and writing assignments
  • Participate actively in the course (physically and online)

Assessment methods

  • 50% OPs
  • 50% final exam

Supervision

Office hours Yes
Assistants Yes
Forum Yes

Resources

Bibliography

See course website for the latest information and an up-to-date bibliography.

Ressources en bibliothèque

Websites

Moodle Link

In the programs

  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Principles of computer systems
  • Lecture: 4 Hour(s) per week x 14 weeks
  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Principles of computer systems
  • Lecture: 4 Hour(s) per week x 14 weeks
  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Principles of computer systems
  • Lecture: 4 Hour(s) per week x 14 weeks
  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Principles of computer systems
  • Lecture: 4 Hour(s) per week x 14 weeks
  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Principles of computer systems
  • Lecture: 4 Hour(s) per week x 14 weeks
  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Principles of computer systems
  • Lecture: 4 Hour(s) per week x 14 weeks
  • Exam form: During the semester (winter session)
  • Subject examined: Principles of computer systems
  • Lecture: 4 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     

Related courses

Results from graphsearch.epfl.ch.