20875 - Software Engineering

Laurent Poirrier - Fall 2026

Info

Bocconi links: course synopsis, course schedule

Room: Aula 5 (Sarfatti 25, ground floor)

Office hours:

Assignments:

Resources:

Lectures and tutorials

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
↳ 13:45   Regular expressions
  [Tutorial] Regular expressions, files: t03_regex.zip
  Version control systems
Mon Sep 28 14:45   [Tutorial] git
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   Static and dynamic code analysis, debugging, fuzzing
Wed Oct 14 10:15 Part 4: Performance
  Pipelined CPUs, memory, caches
  Benchmarking, instrumentation
↳ 13:45   [Tutorial] performance
  Parallel computation
Fri Oct 16 12:00   SIMD
(partials)
Wed Nov 4 10:15   Multithreading
Fri Nov 6 12:00   [Tutorial] multithreading
Wed Nov 11 10:15   Distributed computing and hardware acceleration
Mon Sep 30 13:45 Projects
  Day 1
Wed Dec 2 10:15   Day 2
↳ 13:45   Day 3
Fri Dec 4 12:00   Day 4

Exam dates