Fundamentals of Computer Systems
|Prof. Stephen A. Edwardsemail@example.com||M 3-4, Th 2-3, 462 CSB|
|Yoonji Shinfirstname.lastname@example.org||Thursdays 5:30 - 7:30, TA Room, Mudd|
|Ravi Netravaliemail@example.com||Tuesdays 2:30 - 4:30, TA Room, Mudd|
|Gouri Dongaonkarfirstname.lastname@example.org||Wednesdays 4:15 - 6:15, TA Room, Mudd|
This course examines how the 1s and 0s that form the foundation of digital computing are organized, structured, and manipulated to produce full-fledged computer systems. In bridging this gap, the course will cover many subjects beginning with binary logic, combinatorial and sequential circuit design, memory structures, instruction set architectures, and, ultimately, basic processor design.
An introductory programming course, such as COMS 1004 or 1007. You need to understand the basics of imperative, sequential programming to understand the assembly language programming we will discuss.
|Sep 6||Representing Numbers||1.4|
|Sep 8||Boolean Logic||1.5,2.1–2.7|
|Sep 15||Combinational Logic||2.8,2.9,5.2|
|Sep 22||Sequential Logic||3.1–3.3,3.5|
|Sep 29||Finite State Machines||3.4||HW2
|Oct 4||Transistors, Gates, and ICs||1.7|
|Oct 6||Memory Elements||5.5|
|Oct 13||Datapath and Control|
|Oct 20||Midterm Review|
|Oct 25||Midterm Exam|
|Oct 27||The MIPS Instruction Set||6.1–6.7|
|Nov 8||Election Day Holiday|
|Nov 15||MIPS Microarchitecture||7.1–7.3|
|Nov 17||A Multicycle MIPS Processor||7.4||HW4
|Nov 22||Pipelining MIPS||7.5|
|Nov 24–25||Thanksgiving Holiday|
|Dec 8||Final Review|
|Dec 20||Final Exam 9–12|
David Harris and Sarah Harris.
You may discuss homework problems with your classmates, but you must write up your solution independently and understand it. Students turning in copied homeworks will be referred to the dean. See the Columbia CS department academic policies for more details.