6.111 is reputed to be one of the most demanding classes at MIT, exhausting many students’ time and creativity. The course covers digital design topics such as digital logic, sequential building blocks, finite-state machines, FPGAs, timing and synchronization. The semester begins with lectures and problem sets, to introduce fundamental topics before students embark on lab assignments and ultimately, a digital design project. The students design and implement a final digital project of their choice, in areas such as games, music, digital filters, wireless communications, video, and graphics. The course relies on extensive use of Verilog® for describing and implementing digital logic designs on state-of-the-art FPGA.