Bocconi links: course synopsis, course schedule
Room: Aula 5 (Sarfatti 25, ground floor)
Office hours:
Assignments:
Resources:
| Date | Time | Topics |
|---|---|---|
| Fri Sep 4 | 12:00 | Introduction |
| Part 1: How computers work | ||
| Boolean logic | ||
| Wed Sep 9 | 10:15 | Integers, characters and text |
| Hardware: integrated circuits | ||
| Fri Sep 11 | 12:00 | Hardware: instructions, memory |
| Mon Sep 14 | 13:45 | Software: compilation, OSs, virtualized memory, stack |
| Wed Sep 16 | 10:15 | Part 2: Software development |
| Shell (notes) | ||
[Tutorial] shell, SSH, ISA, files: secret.zip |
||
| Mon Sep 21 | 13:45 | Compiler invocation and build tools |
| Wed Sep 23 | 10:15 | [Tutorial] make, files: test_project.tgz, tutorial_make.tgz |
| ↳ | 13:45 | Regular expressions |
[Tutorial] Regular expressions, files: t03_regex.zip, in class: regex_commands.txt |
||
| Version control systems | ||
| Mon Sep 28 | 14:45 | [Tutorial] git, in class: git_commands.txt |
| Wed Sep 30 | 10:15 | Part 3: Correctness |
| ABIs, Portability | ||
| ↳ | 13:45 | Specifications |
| Undefined behavior | ||
| Fri Oct 2 | 12:00 | Fixed-point and floating-point arithmetic |
| Wed Oct 7 | 10:15 | [in-class assignment] |
| Fri Oct 9 | 12:00 | Testing and fuzzing |
| Wed Oct 14 | 10:15 | Static and dynamic code analysis |
| Part 4: Performance | ||
| Pipelined CPUs, memory, caches | ||
| ↳ | 13:45 | SIMD |
| Benchmarking, instrumentation | ||
| Fri Oct 16 | 12:00 | [Tutorial] performance, files: filter_0.c, matmul_0.c, in class: perf_tutorial.tgz |
| (partials) | ||
| Wed Nov 4 | 10:15 | Parallel computation, multithreading |
| Fri Nov 6 | 12:00 | [Tutorial]
multithreading |
| Wed Nov 11 | 10:15 | Hardware acceleration |
| Mon Nov 30 | 13:45 | Projects |
| Day 1 | ||
| Wed Dec 2 | 10:15 | Day 2 |
| ↳ | 13:45 | Day 3 |
| Fri Dec 4 | 12:00 | Day 4 |