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, 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

Exam dates