Bocconi links: course synopsis, course schedule
Room: Aula 5 (Sarfatti 25, ground floor)
Office hours:
Assignments:
Resources:
Date | Time | Topics | |
---|---|---|---|
1 | Fri Sep 6 | 08:30 | Introduction |
Part 1: How computers work | |||
Boolean logic | |||
Integers, characters and text | |||
2 | Wed Sep 11 | 10:15 (2h30) | Hardware: instructions, memory |
[Tutorial] Python formatted strings and list
comprehensions |
|||
3* | Wed Sep 11 | 13:45 (2h30) | [Tutorial] Boolean logic and integers, code: truthtables.py, popcount.c |
[Tutorial] Assignment 1
prep, Backus–Naur form |
|||
4 | Fri Sep 13 | 08:30 | Software: compilation, OSs, virtualized memory, stack |
5* | Fri Sep 13 | 13:45 (2h30) | Part 2: Software development |
Compiler invocation and build tools, code: objcode.c, optimize.c, overcommit.c | |||
6 | Wed Sep 18 | 10:15 (2h30) | [Tutorial] Assignment 1 Q&A, executable analysis and make, files: secret.zip, in-class
files |
7 | Fri Sep 20 | 08:30 | Programming languages |
8* | Fri Sep 20 | 12:00 | Portability, ABIs |
9 | Wed Sep 25 | 10:15 (2h30) | Regular expressions |
[Tutorial] regular expressions, input files: t03_regex.zip |
|||
10 | Fri Sep 27 | 08:30 | Version control systems |
11 | Wed Oct 2 | 10:15 (2h30) | [Tutorial] git, commands
used in class |
12 | Fri Oct 4 | 08:30 | Software licenses, development methodologies |
13* | Fri Oct 4 | 13:45 (2h30) | Part 3: Correctness |
Specifications | |||
14 | Wed Oct 9 | 10:15 (2h30) | Undefined behavior |
15 | Wed Oct 16 | 10:15 (2h30) | Fixed-point and floating-point arithmetic |
16 | Fri Oct 18 | 08:30 | Documentation, tests, fuzzing |
(partials) | |||
17 | Wed Nov 6 | 10:15 (2h30) | Assignment 2 intro |
Static and dynamic code analysis, debugging | |||
18 | Fri Nov 8 | 08:30 | [Tutorial] Assignment 2
troubleshooting |
19 | Wed Nov 13 | 10:15 (2h30) | Part 4: Performance |
Pipelined CPUs, memory | |||
20* | Fri Nov 15 | 12:00 | Caches, benchmarking, instrumentation |
21 | Wed Nov 20 | 10:15 (2h30) | Stochastic instrumentation |
[Tutorial] performance, code: matmul_0.c, filter_0.c, solutions: perf.tgz |
|||
22 | Wed Nov 27 | 10:15 (2h30) | Datastructures in memory |
Arrays, linked lists | |||
23 | Fri Nov 29 | 08:30 | Stacks, queues, priority queues |
24 | Wed Dec 4 | 10:15 (2h30) | Tries, hash, spatial datastructures |
25* | Fri Dec 6 | 12:00 | SIMD, threads, distributed computing, hardware acceleration, Falsehoods… |
*
= deviates from regular Wednesday
10:15–12:45 / Friday 8:30–10:00 schedule.2h30
= 2h30 lecture (other lectures are 1h30)