20875 - Software Engineering

Laurent Poirrier - Fall 2025

Info

Bocconi links: course synopsis, course schedule

Room: Aula 5 (Sarfatti 25, ground floor)

Office hours:

Resources:

Lectures and tutorials

Date Time Topics
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
*Thu Oct 14 10:15 (2h30)   Documentation, tests, fuzzing
(partials)
Wed Oct 29 10:15 (2h30)   Static and dynamic code analysis, debugging
Fri Oct 31 12:00 Part 4: Performance
  Pipelined CPUs, memory
Wed Nov 5 10:15 (2h30)   (continued)
Fri Nov 7 12:00   Caches, benchmarking, instrumentation
Wed Nov 12 10:15 (2h30)   Stochastic instrumentation
Wed Nov 19 10:15 (2h30) [Tutorial] performance
Wed Nov 26 10:15 (2h30)   SIMD, multithreading
Wed Dec 3 10:15 (2h30)   distributed computing, hardware acceleration
Fri Dec 5 12:00   (continued)

* = room different from usual Aula 5.

Exam dates