Fundamentals of Computer Systems
CSEE 3827, Spring 2016
Lectures
Lectures will be held on TuTh 8:40am-9:55am in 501 Schermerhorn Hall.
Instructor
- Prof. Martha Kim
Email: martha@cs.columbia.edu
Phone: (212) 939-7094
Office: 469 CSB
Teaching Assistants
- Joseph Campo
- Caleb Fujimori
- Gaurav Gite
- Adam Incera
- Kevin Lin
- Eashwar Rangarajan
- Laura Tang
Upcoming Office Hours
.
Questions and Announcements
Please register for
Piazza, where you can ask technical questions, contact TAs, and receive course-wide announcements.
Course Overview
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.
Prerequisites
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.
Late Policy
Each homework assignment is due in the CSEE 3827 box in the TA room by 5PM on the due date. Late submissions will not be accepted. We will drop each student's lowest homework grade when calculating final grades.
Collaboration and Academic Integrity
We take academic honesty extremely seriously, and expect the same of you. You may discuss homework problems with your classmates, however, each student is to write up his or her own solution and is expected to be able to explain and reproduce the work he or she submits. Please note the names of your collaborators at the top of your homework submission. Apart from these exceptions, the Computer Science Department's
Academic Honesty policy is in effect.
Grading Rubric
Top Five Homeworks: 40%
In Class Tests: 30% + 30%
Textbooks
There are no required texts. If you want to use a text, we recommend:
- Logic and Computer Design Fundamentals, 4th ed, by M. Morris Mano and Charles Kime, ISBN-10: 0-13-198926-X, ISBN-13: 978-0-13-198926-9
- Computer Organization and Design, The Hardware/Software Interface, 4th ed, by David A. Patterson and John L. Hennessy, ISBN: 978-0-12-374493-7
- Digital Design and Computer Architecture, 2nd ed, by D. Harris and S. Harris, ISBN: 978-0-12-394424-5
Syllabus
Date | Topic(s) | Reading | Slides | Homework Due |
Tue 1/19 | Representing Numbers (Prof. Edwards) | M&K: 1, 4.3-4.4, 10.7H&H: 1.4P&H: 3.5 | binary.pdf
| |
Thu 1/21 | Admin; Boolean Logic | M&K: 2.1-2.5, 2.8, 2.9H&H: 1.5, 2.1-2.7 | admin.pdf boolean.pdf
| |
Tue 1/26 | | | | |
Thu 1/28 | Combinational Logic | M&K: 3.1, 3.3, 3, 3.6-3.9, 4.1-4.2, 4.5, 9.4H&H: 2.8,2.9,5.2 | combinational.pdf
| |
Tue 2/2 | | | | hw1.pdf hw1-solutions.pdf |
Thu 2/4 | Sequential Logic | M&K: 5.1-5.3, 5.6H&H: 3.1-3.3,3.5 | sequential.pdf
| |
Tue 2/9 | | | | |
Thu 2/11 | Finite State Machines | M&K: 5.4-5.5H&H: 3.4 | fsms.pdf
| hw2.pdf hw2-solutions.pdf |
Tue 2/16 | | | | |
Thu 2/18 | Memory Elements | M&K: 6.8, 7.1-7.3, 8.1-8.7H&H: 5.5 | memory.pdf
| |
Tue 2/23 | | | | |
Thu 2/25 | Lecture cancelled. | | | |
Fri 2/26 | Not a lecture day; Homework due. | | | hw3.pdf hw3-solutions.pdf |
Tue 3/1 | Review #1 | | | |
Thu 3/3 | Test #1 test1-solutions.pdf |
Tue 3/8 | The MIPS Instruction Set | H&H: 6.1-6.7P&H: 2.1-2.8, 2.10 | mips-isa.pdf
| |
Thu 3/10 | | | | |
Tue 3/15 | No class (Spring Break) |
Thu 3/17 | No class (Spring Break) |
Tue 3/22 | | | | |
Thu 3/24 | MIPS Microarchitecture | H&H: 7.1-7.3P&H: 4.1-4.4 | mips-uarch.pdf
| |
Tue 3/29 | | | | |
Thu 3/31 | | | | |
Tue 4/5 | Lecture cancelled -- MK travel | | | hw4.tar.gz hw4-solutions.s |
Thu 4/7 | Pipelined MIPS | H&H: 7.5P&H: 4.5-4.8 | mips-pipeline.pdf
| |
Tue 4/12 | | | | hw5.pdf hw5-solutions.pdf |
Thu 4/14 | Caches | H&H: 8.3P&H: 5.1-5.2 | caches.pdf
| |
Tue 4/19 | | | | |
Thu 4/21 | Advanced Topics / TBD | | | hw6.pdf hw6-solutions.pdf |
Tue 4/26 | Review #2 | | | |
Thu 4/28 | Test #2 |