Info
Bocconi links: course
synopsis, course
schedule
Room: Aula 5 (Sarfatti 25, ground floor)
Office hours:
- drop-in: Wednesdays, 13:15 (Roentgen building, room 2-c2-04)
- any other time (in-person or remote): email me
- with TA Caicai
Chen
Assignments:
Resources:
Lectures and tutorials
| Fri Sep 5 |
12:00 |
Introduction |
|
|
Part 1: How computers
work |
|
|
Boolean
logic |
|
|
Integers,
characters and text |
| Fri Sep 12 |
12:00 |
Hardware:
integrated circuits |
| *Tue Sep 16 |
10:15 (2h30) |
[Tutorial] Python formatted strings and list
comprehensions |
|
|
[Tutorial] Boolean logic and integers, files: truthtables_2op.py, truthtables_generic.py, popcount.c |
|
|
Hardware:
instructions, memory |
| Wed Sep 17 |
10:15 (2h30) |
Software:
compilation, OSs, virtualized memory, stack, files: mem.c |
| Fri Sep 19 |
12:00 |
Part 2: Software
development |
|
|
[Tutorial] Using a shell, executable analysis and make, files: secret.zip, overcommit.c, Makefile |
| *Mon Sep 22 |
13:45 (2h30) |
Compiler
invocation and build tools |
| *Thu Sep 23 |
10:15 (2h30) |
Programming languages, files: silly_interpreter.py, silly_compiler.py, remove_comments.py, refcount_simple.py, refcount_cycle.py |
| Wed Sep 24 |
10:15 (2h30) |
Portability, ABIs |
|
|
Regular
expressions |
| *Mon Sep 29 |
13:45 (2h30) |
[Tutorial] regular expressions, files: t03_regex.zip |
| *Tue Sep 30 |
10:15 (2h30) |
Version
control systems |
| Wed Oct 1 |
10:15 (2h30) |
[Tutorial] git, commands
used in class |
|
|
Software
licenses |
| Fri Oct 3 |
12:00 |
Part 3: Correctness |
|
|
Specifications |
| Wed Oct 8 |
10:15 (2h30) |
Undefined
behavior |
| Fri Oct 10 |
12:00 |
Fixed-point
and floating-point arithmetic |
| *Tue Oct 14 |
10:15 (2h30) |
Documentation, tests, fuzzing |
|
|
Static
and dynamic code analysis, debugging |
| (partials) |
|
|
| Wed Oct 29 |
10:15 (2h30) |
Assignment 1 introduction, Backus–Naur form |
|
|
Part 4: Performance |
|
|
Pipelined
CPUs, memory, caches |
| Fri Oct 31 |
12:00 |
Benchmarking, instrumentation |
| Wed Nov 5 |
10:15 (2h30) |
[Tutorial] performance, files: matmul_and_filter.zip |
| Fri Nov 7 |
12:00 |
Parallel computation |
| Wed Nov 12 |
10:15 (2h30) |
SIMD |
| Wed Nov 19 |
10:15 (2h30) |
Multithreading |
|
|
[Tutorial] multithreading |
| Wed Nov 26 |
10:15 (2h30) |
Assignment 2 overview: fuzzing |
| Wed Dec 3 |
10:15 (2h30) |
[Tutorial] Multithreading challenge |
| Fri Dec 5 |
12:00 |
Distributed computing and hardware
acceleration |
* = room different from usual Aula 5.
Exam dates
- 2026-01-15 14:00
- 2026-01-29 14:00
- 2026-09-03 09:00