ENGR-E 110, Spring Session (16 weeks), Summer Session (first 6 weeks).
This course teaches the fundamentals of digital logic.
Starting with boolean functions (And, Or, Not) and building up to a simulated CPU which can run programs, the mystery of computation is revealed.
This course takes a lot of inspiration from the wonderful Nand2Tetris curriculum by Nisan and Schocken at MIT.
Through this course, students are also introduced to HDL concepts, assembly language, and they have ample opportunities to hone their Python skills.
Learning objectives include:
- understanding two’s complement arithmetic (addition, negation, subtraction)
- understanding how pointers work in a Von Neumann architecture
- crafting an assembler for a small assembly language using Python as the implementation language
- solve problems using string processing
- understanding the funamentals of hardware description languages (HDLs)