Elements of Computing Systems
E81 CSE 365S
DescriptionAll computers are made up of 0s and 1s. However, the conceptual gap between the 0s and 1s and the day to day operation of modern computers is enormously wide. This fast-paced course aims to bridge the divide by starting with simple logic gates and building up the levels of abstraction until one can create games like Tetris. There is no specific programming language requirement, but some experience with programming is needed.
Prerequisite: CSE 131 and CSE 241 (or equivalent).
This course is based on and uses infrastructure from nand2tetris.org.
When and WhereLectures: Mondays, 2:30-4:00PM - McDonnell 361
Labs: Wednesdays, Fridays, 2:30-4:00PM - Lopata Hall 400/401 and Urbauer 216
WhoDavid V. Lu
Email: firstname.lastname@example.org, but use Piazza first. Office Hours by appointment, or during lab time.
TextbookThe Elements of Computing Systems. The book is recommended, not required. The first few chapters of the book are available online.
Academic Integrity PolicyThe standard Academic Integrity Policy applies in this class. However additionally, it is important to note that this class is based on a increasingly widely used textbook, and thus it may be possible to find code online for the assignments. As noted in the authors' terms, this class is about discovering all of the elements of computing systems for yourself. As such, in taking this class you agree to the following provisions.