COMPSCI 553 · also ECE 553
Compiler Construction
Andrew D. Hilton
Description from DukeHub
Covers the fundamentals of compiler design. Students will develop a working compiler, writing all stages required to take source code as input and produce working assembly as output: lexical analysis, parsing, type checking, translation to intermediate representation, instruction selection, liveness analysis, and register allocation. Students are expected to have a strong programming background prior to taking this course, as writing a compiler is a significant programming task. Prerequisites: Electrical and Computer Engineering 250L or Computer Science 250 or (ECE 550D and ECE 551D).
Skills
- programmingdescription: "code" and 3 more
- writingdescription: "writing" and 1 more
AI-resilient: 1 of 5
- No: Physical, lab or field work
- Yes: Live work with people · "intermediate"
- No: Judgment someone is accountable for
- No: A craft you practice with your hands or body
- No: Small, in-person format
The checks lean on Microsoft Research, Working with AI (2025), which found generative AI applies least to physical work and hands-on work with people. A signal, not a promise. How the score works
More in COMPSCI
- Introduction to Computer Science COMPSCI 101L
- Data Structures and Algorithms COMPSCI 201
- Introduction to Computer Systems COMPSCI 210D
- Everything Data COMPSCI 216
- Discrete Math for Computer Science COMPSCI 230
- Computer Architecture COMPSCI 250D