Lecturer/Manager  Professor Dan Rubenstein 

Office hours:  Location: CEPSR 816 Also at other times by appointment 
Office phone:  (212) 8540050 
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 1:102:25pm 
Location:  1024 Mudd NEW!! 
Credits for Course:  3 
Class Type:  Lecture 
Teaching Assistant:  Daniel Villela (dvillela@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 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, TBD 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. 
Grading:  Assignments 20%, midterm 25%, final 35%, class participation 20% 
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 
Homework submission:  Due 1 week after assignment before class. 
Date  #  Topics/chapters covered  Reading (before class)  Assigned  Due 

9/3  1  Course information; introduction; nondecimal number systems; decimal and alphanumerical codes; binary logic and gates  1, 2.1  
9/5  2  Boolean algebra  2.2  HW #1 [PS,PDF] (due 9/12)  
9/10  3  Standard forms  2.3  
9/12  4  Map simplification  2.4  HW #2 [PS,PDF] (due 9/19)  HW #1 [PDF (5.8M)] 
9/17  5  Map manipulation  2.5  
9/19  6  NAND and NOR Gates  2.62.7  HW #3 [PS,PDF] (due 9/26)  HW #2 [PDF (11.2M)] 
9/24  7  IC Families, CMOS, Combinatorial circuits; analysis and design procedures; decoders  2.82.9,3.13.5  
9/26  8  Encoders; Multiplexers  3.63.7  HW #3 [PDF (7.2M)]  
10/1  9  Binary adders; binary subtraction  3.83.9  HW #4 [PS,PDF] (due 10/10)  
10/3  10  NEW! Inauguration Ceremony  no class!!  
10/8  11  Binary addersubtractors; multipliers; Intro to sequential circuits, latches  3.10, 4.14.2  HW #5 [PS,PDF] (due 10/15)  
10/10  12  Flipflops: masterslave; edgetriggered; characteristic tables; sequential circuit analysis  4.34.4  HW #4 [PDF (11.6M)]  
10/15  13  Sequential circuit design; design using D and JK flipflops  4.54.7  HW #5 [PDF (4.8M)]  
10/17  14  MIDTERM EXAM  
10/22  15  Registers; shift registers; ripple counter  5.15.4  HW #6 [PS,PDF] (due 10/29)  
10/24  16  Synchronous binary counters. Other counters.  5.55.7  
10/29  17  RAM; ECC RAM  6.16.5  HW #6 [PDF (3.9M)]  
10/31  18  PLA; PAL; VLSI Programmable logic devices  6.66.10  
11/5  19  Election Day: NO CLASS  
11/7  20  NO CLASS  
11/12  21  Guest Lecturer: Datapaths and operations; register transfer operations; microoperations; multiplexer and busbased transfer; datapaths  7.17.6  HW #7 [PS,PDF] (due 11/21)  
11/14  22  Guest Lecturer: The ALU; shifter; control word; pipelining  7.77.12  
11/19  23  Control unit; algorithmic state machines; design example: binary multiplier  8.18.3  HW #8 [PS,PDF] (due 11/26)  
11/21  24  Binary multiplier with hardwired and microprogrammed control  8.48.5  HW #7 [PDF (3.9M)]  
11/26  25  A simple computer architecture; single cycle hardwired control; multiple cycle microprogrammed control; pipelining; instruction set architecture  8.68.9, 9.19.3  HW #9 [PS,PDF] (due 12/9)  HW #8 [PDF (3.6M)] 
11/28  26  Thanksgiving Day: NO CLASS  
12/3  27  Special Topics; Review  HW #9  
12/5  28  Special Topics; Review  
12/17  Tues 1:104:00 
FINAL EXAM, Mudd 327 