Lecturer/Manager  Professor Dan Rubenstein 

Office hours:  Location: CEPSR 816 M,W 45pm Also at other times by appointment 
Office phone:  (212) 8540050 
Mailbox:  Inside 1312 Mudd 
Email address:  dsr100@columbia.edu (or danr@cs.columbia.edu or danr@ee.columbia.edu)  they all go to the same place so pick one, not all please... 
Day & Time Class
Meets on Campus: 
Tue,Thurs 9:3510:50am 
Location:  834 Mudd 
Credits for Course:  3 
Class Type:  Lecture 
Teaching Assistant:  BongJun Ko (kobj@ee.columbia.edu)

Prerequisites: 

Description: 
Topics: Theory of digital systems. Digital coding of
information. Study of combinational and sequential system
design. Finitestate machines. Microcode. Computer
arithmetic. Microprocessors.
The purpose of this course is to introduce you to logic design, digital system design, and computer design. What you will learn here will give you a fundamental understanding of how computers work. We will be dealing mostly with binary operations: 1's and 0's and how these two values are applied to produce any computation that is doable on a computer. 
Required text(s): 

Reference text(s): 

Homework(s):  Unless otherwise specified, homework
will be due one week after it is assigned and should be turned in at the beginning of
class. At that time, you must turn in a physical copy of
the assignment. Emailed homework and late assignments will
not be accepted unless approved in advance. Approval will only be
given under extreme circumstances. You are expected to produce your
work in a timely manner. You may also turn in your homework by
sliding it under Prof. Rubenstein's office door or putting it in his
mailbox before 9am on the day that it is due. After 9am,
there is no guarantee that Prof. Rubenstein will be in his office or
visit his mailbox.
You may discuss and work on questions with other students in the class. However, you should write your solutions on your own. In other words, if I were to later ask you to rederive one of your homework solutions or to solve a similar problem when you were without your friends, you should be able to do so or have a clear understanding of how to approach the problem. This can only be learned by doing, so you should do your homework. 
Midterm exam:  Closed book, Closed note, no calculators, March 9, during classtime 
Final exam:  Date/time TBD 
Class / officehour participation:  If you ace your tests and homeworks, you will get an A+, even if you do not participate in class or come to office hours. However, if you don't ace your tests and homeworks, but you can demonstrate to me that you have learned the material in another fashion (mainly via officehour discussion in which you work through additional problems), you can improve by up to one letter grade (e.g., C to a B). To reiterate, it is possible to improve your grade by demonstrating an understanding of the material during the course of the term (i.e., not just when you get your midterm back). 
Grading:  Assignments 20%, midterm 35%, final 45%, class/office hour participation can improve one's grade further% 
A note on exams:  I am more interested in your gaining an understanding of and developing an intuition for why certain rules, laws, and techniques hold and are used. I am less interested in your ability to memorize these rules, laws and techniques and blindly apply them without intuition as to why they work. Thus, I will try to design the midterm and final questions to test your understanding of the concepts, not your memorization skills. I realize that some memorization will undoubtebly be required, but hopefully the memorized concepts will be those that can be rederived via your intuition. 
Computer hardware and software requirements:  None 
Date  #  Topics/chapters covered  Reading (before class)  Assigned  Due 

1/20  1  Course information; introduction; nondecimal number systems; decimal and alphanumerical codes; binary logic and gates  1, 2.1  
1/22  2  Boolean algebra  2.2  HW #1 [PS,PDF] (due 1/29)  
1/27  3  Standard forms  2.3  
1/29  4  Map simplification  2.4  HW #2 [PS,PDF] (due 2/5)  HW #1 [PS, PDF] 
2/3  5  Map manipulation  2.5  
2/5  6  Multiple Level Circuit Optimization  2.6  HW #2 [PDF (0.5M)]  
2/10  7  NAND, NOR, XOR, 3State Buffers, Gates  2.72.9  HW #3 [PS,PDF] (due 2/17)  
2/12  8  Combinatorial Logic Design, PLAs, PALs  3.13.6  
2/17  9  Decoders, Encoders, Multiplexers  4.14.5  HW #4 [PS,PDF] (due 2/26)  HW #3 [PDF (0.4M)] 
2/19  10  Binary addersubtractors; multipliers  4.6, 5.15.6  
2/24  11  Intro to sequential circuits, latches  6.16.2  HW #5 [PS,PDF] (due 3/2)  
2/26  12  Flipflops: masterslave; edgetriggered; characteristic tables; sequential circuit analysis  6.36.4  HW #4 [PDF (0.6M)]  
3/2  13  Sequential circuit design; design using D and JK flipflops  6.56.6  HW #5 [PDF (0.4M)]  
3/4  14  Registers; Register Transfers and Transfer Operations  7.17.3  
3/9  15  MIDTERM EXAM  
3/11  16  Prof Rubenstein out of town: NO CLASS  
3/16  17  Spring Break: NO CLASS  
3/18  18  Spring Break: NO CLASS  
3/23  19  Microoperations  7.5  HW #6 [PS,PDF] (due 4/6 EXTENDED!)  
3/25  20  Counters  7.6  
3/30  21  Register Cell Design, Multiplexer and bus and serialbased transfer  7.77.9  HW #7 [PS,PDF] (due 4/6)  HW #6 [PDF (270K)] 
4/1  22  Control Unit, Algorithmic State Machines  8.18.3  
4/6  23  Hardwired Control  8.4  HW #7 [PDF (450K)]  
4/8  24  Memory; RAM, SRAM  9.19.4  
4/13  24  DRAM  9.59.7  HW #8 [PS,PDF] (due 4/20)  
4/15  25  DataPaths, ALU  10.110.3  
4/20  26  Shifter, Datapath Rep, Control Word, Computer Arch  10.410.7  HW #8 [PDF (222K)]  
4/22  27  Single cycle hardwired control; multiple cycle microprogrammed control;  10.810.9  HW #9 [PS,PDF] (due 4/29)  
4/27  28  Instruction set architecture  11.111.4  
4/29  29  Review  HW #9 [PDF (138K)]  
5/13 @ 9pm  FINAL EXAM  825 Mudd 