I'll present COS205, a course that I taught at Princeton during the Spring 2023 semester. The course synthesizes many abstractions, algorithms, and data structures learned in core CS courses, and makes them concrete by building a complete computer system from the ground up. The methodology is based on guiding students through a set of 12 hands-on projects that gradually construct and unit-test a basic hardware platform and a modern software hierarchy, yielding a simple yet surprisingly powerful computer system. The hardware projects are done in a hardware description language and a hardware simulator supplied by us. The software projects (assembler, virtual machine, and a compiler for an object-based, Java-like language) can be developed in any language, using API's and test programs supplied by us. We also build a basic OS. The result is a general-purpose computer system, simulated on the student's PC. Students who wish to do so can build the computer physically, using FPGA. All the course materials are freely available in open source at www.nand2tetris.org (joint work with Noam Nisan, Hebrew University).
Bio: Shimon Schocken, William R. Kenan Jr. Visiting Professor for Distinguished Teaching
School of Engineering, Princeton University (on leave from Reichman University, Israel)
Shimon Schocken is founding-dean of the Efi Arazi School of Computer Science at Reichman University. He is also co-founder of the Google-Reichman School of Technology, an academic bootcamp dedicated to training young men and women from underprivileged backgrounds, and Matific, a company that develops computer games that teach elementary school mathematics. He was a tenured professor at NYU, and chairman of the computer science committee at Israel's Ministry of Education.
To request accommodations for a disability please contact Emily Lawrence, emilyl@cs.princeton.edu, at least one week prior to the event.