Computer systems

CS-202

Media

CS-202 Introduction to Computer Systems | Lundi | Spring 25

17.02.2025, 15:29

60933

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

28.05.2025, 11:54

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

17.02.2025, 15:48

CS-202 Introduction to Computer Systems | Lundi | Spring 25

26.05.2025, 11:39

CS-202 Introduction to Computer Systems | Lundi | Spring 25

17.02.2025, 15:29

Special Topic 2 : Virtualization

21.05.2025, 11:41

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

21.05.2025, 11:49

L11 - DNS & P2P applications

20.05.2025, 18:04

Special Topic 1 : Parallelism & Concurrency

19.05.2025, 11:11

CS-202 Introduction to Computer Systems | Lundi | Spring 25

19.05.2025, 11:44

L17- The Link Layer

14.05.2025, 11:11

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

14.05.2025, 11:51

L16 - Routing & BGP

12.05.2025, 11:37

CS-202 Introduction to Computer Systems | Lundi | Spring 25

12.05.2025, 11:42

L15 - Forwarding and IP

07.05.2025, 11:43

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

07.05.2025, 11:49

L14 - Transport layer & TCP

05.05.2025, 11:37

CS-202 Introduction to Computer Systems | Lundi | Spring 25

05.05.2025, 11:44

L13 - Internet Performance

28.04.2025, 11:09

CS-202 Introduction to Computer Systems | Lundi | Spring 25

28.04.2025, 11:41

L12 - Network system calls & the Internet

16.04.2025, 11:42

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

16.04.2025, 11:48

L10 - Client/server and the Web

09.04.2025, 11:10

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

09.04.2025, 11:48

Intermediate Recap III (Q&A)

07.04.2025, 11:38

CS-202 Introduction to Computer Systems | Lundi | Spring 25

07.04.2025, 11:39

Intermediate Recap II

02.04.2025, 11:13

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

02.04.2025, 11:50

Intermediate Recap I

31.03.2025, 11:37

CS-202 Introduction to Computer Systems | Lundi | Spring 25

31.03.2025, 11:44

L09 - CPU Scheduling

24.03.2025, 11:11

CS-202 Introduction to Computer Systems | Lundi | Spring 25

24.03.2025, 11:45

L08 - IO

19.03.2025, 11:13

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

19.03.2025, 11:50

L07 - File System II

17.03.2025, 11:11

CS-202 Introduction to Computer Systems | Lundi | Spring 25

17.03.2025, 11:45

L06 - File System I

12.03.2025, 11:12

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

12.03.2025, 11:50

L05 - Paging

05.03.2025, 11:13

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

05.03.2025, 11:52

L04 - Memory

03.03.2025, 11:38

CS-202 Introduction to Computer Systems | Lundi | Spring 25

03.03.2025, 11:43

L03 - Sharing the CPU

24.02.2025, 11:10

CS-202 Introduction to Computer Systems | Lundi | Spring 25

24.02.2025, 11:45

L02 - All about processes

19.02.2025, 11:42

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

19.02.2025, 11:48

Case study: in-place tokenization

15.03.2024, 17:10

argc & argv: example

06.03.2024, 22:10

argc & argv

06.03.2024, 22:10

L99.arch-essentials.mp4

06.03.2024, 22:05

Makefiles

28.02.2024, 22:21

more on header files

28.02.2024, 22:01

[opt] linker & loader explained

28.02.2024, 21:49

separate compilation

28.02.2024, 21:40

L20.4-VMM construction

23.02.2024, 14:39

L20.3-virtual machines

23.02.2024, 14:39

L20.2-aggregation

23.02.2024, 14:39

L20.1-virtualization

23.02.2024, 14:37

ptr4-bonus-1: flexible array member

23.02.2024, 14:31


ptr4-3: sizeof

18.02.2024, 20:39

ptr4-2: pointer arithmetic

18.02.2024, 19:30

ptr4-1: pointers and arrays

18.02.2024, 17:45

ptr3-5: casting

16.02.2024, 13:15

ptr3-4: recap on type reading

16.02.2024, 12:24

ptr3-3: pointers to functions and genericity (void*)

16.02.2024, 12:23

ptr3-2: strings 2: tool functions

16.02.2024, 10:47

ptr3-1: strings 1: intro + initialisation

16.02.2024, 10:05

ptr2-8: case study (dyntab) part 2

14.02.2024, 17:28

ptr2-7: realloc

14.02.2024, 16:59

ptr2-6: case study (dyntab) part 1: context

14.02.2024, 16:53

ptr2-5: initialization and good practice

14.02.2024, 16:35

ptr2-4: example (malloc + free)

14.02.2024, 16:32

ptr2-3: free

14.02.2024, 15:38

ptr2-2: malloc & calloc

14.02.2024, 15:22

ptr2-1: intro to dynamic allocation

14.02.2024, 14:35

basics-1: intro; C language; compilation

12.02.2024, 16:20

basics-10: file IO

10.02.2024, 18:41

basics-9: standard IO

10.02.2024, 18:40

basics-5: functions

10.02.2024, 18:03

basics-8: more types and keywords

10.02.2024, 17:01

basics-7: enum, typdef and struct

10.02.2024, 16:49

basics-6: arrays

10.02.2024, 16:43

basics-2: variables and types

10.02.2024, 16:24

basics-bonus-1: ++x versus x++

10.02.2024, 16:07

basics-4 : control structures

10.02.2024, 16:04

basics-3 : operators

10.02.2024, 16:02

ptr1-6: pointer versus reference

29.01.2024, 21:03

ptr1-5: pointers and const

29.01.2024, 20:53

ptr1-4: pass by reference

29.01.2024, 20:45

ptr1-3: pointers in C

29.01.2024, 20:30

ptr1-2: pointer = address storage

29.01.2024, 20:24

ptr1-1: what use is a pointer?

29.01.2024, 19:59

L19.04-pthread_mutex.mp4

29.01.2024, 17:10

L19.03-lockingprimitives.mp4

29.01.2024, 17:10

L19.02-threadabstraction.mp4

29.01.2024, 17:10

L19.01-concurrency.mp4

29.01.2024, 17:10

L08.4-fsperf.mp4

29.01.2024, 17:09

L08.3-HDD.mp4

29.01.2024, 17:09

L08.2-devicedrivers.mp4

29.01.2024, 17:09

L08.1-iodevices.mp4

29.01.2024, 17:09

L07.4-filesystems.mp4

29.01.2024, 17:09

L07.3-mount.mp4

29.01.2024, 17:09

L07.2-FSabstraction.mp4

29.01.2024, 17:09

L07.1-IOstack.mp4

29.01.2024, 17:08

L06.4-COW and swapping.mp4

29.01.2024, 17:08

L06.3-TLB.mp4

29.01.2024, 17:08

L06.2-page tables.mp4

29.01.2024, 17:08

L06.1-page-based-VM.mp4

29.01.2024, 17:08

L05.4-fragmentation-segmentation.mp4

29.01.2024, 17:07

L05.3-case for VM.mp4

29.01.2024, 17:07

L05.2-Address space abstraction.mp4

29.01.2024, 17:07

L05.1-Intro to memory.mp4

29.01.2024, 17:07

L04.4-MLFQ.mp4

29.01.2024, 17:07

L04.3-Policies.mp4

29.01.2024, 17:07

L04.2-Internals and Metrics.mp4

29.01.2024, 17:07

L04.1-scheduling mechanisms.mp4

29.01.2024, 17:06

L03.4-Interrupts.mp4

29.01.2024, 17:06

L03.3-System calls.mp4

29.01.2024, 17:06

L03.2-Limited Direct Execution.mp4

29.01.2024, 17:06

L03.1-Isolation and Protection.mp4

29.01.2024, 17:06

L02-4-shell redirection

29.01.2024, 16:59

L02-3-fork illustrated

29.01.2024, 16:59

L02-2-process states

29.01.2024, 16:59

L02-1-process abstraction

29.01.2024, 16:58

L01-4-OS as Glue

29.01.2024, 16:58

L01-3-Referee

29.01.2024, 16:58

L01-2-Illusionist

29.01.2024, 16:57

L01-1-Role of OS

29.01.2024, 16:56

CS-202 Introduction to Computer Systems | Wednesday | Spring 25

17.02.2025, 15:48


This file is part of the content downloaded from Computer systems.
Course summary

General Information


Where and When:
  • Monday lectures: 9:15am-11:00am; STCC Room C, except April 14 and May 26: room to be announced;
  • Monday exercices: 1:15pm-3:00pm; CO-02[013] + INF[12] + CO260
  • Wednesday lectures: 9:15am-11:00am; auditorium RLC E1 240 (aka Rolex);
  • Wednesday exercices: 1:15pm-3:00pm; CO-02[013] + INF[23] + CO5

Live-streaming:

Project:

Important dates:
  • Quizzes: every week (Wednesday -- Sunday)
  • C bootcamp assessment: Wednesday March 12th 1:15pm-2:00pm or 2:15-3:00 (45 min per student)
  • Midterm: Monday April 7th 1:15pm-3:00pm (1:45)
  • Project deadline 1: Sunday May 4th 11:59pm
  • Project deadline 2: Sunday June 1st 11:59pm
  • Final Exam: TBD (3:00)

Grading Scheme:
  • Project (P): 25% bootcamp + 25% first deliverable + 50% final deliverable
    (and also questions in final exam; see E below)
  • Midtem (M): about weeks 1-6
  • Weekly quizzes (Q)
  • Final exam (E): about everything; 8% of which about the project
  • Total: 60% E + 20% P + 15 % M + 5% Q

Tentative semester schedule: (updated May 24th)


The course's weekly schedule

(in blue, the OS part; in yellow/orange, the C and project part; in green, the network part; and in red(ish), the assessments and special slots)

News/Discussions:


Week 01 - Introduction, Processes, C boot camp (1/3)


Week 02 - Sharing the CPU, L01-L03 exercises, C boot camp (2/3)

This Wednesday morning, instead of a lecture, we will have an exercise session in rooms AAC008AAC014 and AAC231 .


Week 03 - Memory, C boot camp (3/3)


Week 04 - Memory exercises, File systems (1/2), C bootcamp assignement and project warmup

This Monday morning, instead of a lecture, we will have an exercise session in rooms CO-020, CO-021, INF 1 and INF 3.


Week 05 - File systems (2/2), I/O


Week 06 - Scheduling & Catch-up exercises

This Wednesday morning, instead of a lecture, we will have an exercise session in rooms AAC008AAC014, AAC020, and AAC108.


Week 07 - Midterm preparation


Week 08 - Midterm + Client/server & the web


Week 09 - DNS + Network syscalls & the Internet

This Monday morning, the lecture will be on zoom, because STCC is occupied.



Easter break


Week 10 - Internet performance

This Wednesday morning, instead of a lecture, we will have an exercise session in AAC0 14, AAC0 20, AAC1 08 and AAC2 031.





Week 11 - Transport layer & TCP, Network layer & IP


Week 12 - Routing & BGP, Link layer & Ethernet


Week 13 - Parallelism & Concurrency, Machine virtualization


Week 14 - Recap

The Monday lecture is online at https://epfl.zoom.us/my/katerina.argyraki


Final exam preparation


Resources


Sanbox