Lecturer/Manager  Professor Dan Rubenstein 

Office hours:  Location: CEPSR 816 Weekly time: Tu,Th 2:303:30 pm. Also at other times by appointment 
Office phone:  (212) 8540050 
Email address:  dsr100@columbia.edu 
Day & Time Class
Meets on Campus: 
Tue,Thurs 1:102:25pm 
Location:  644 Mudd 
Credits for Course:  3 
Class Type:  Lecture 
Teaching Assistant:  Angelos Stavrou (as2014@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, 10/25 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/4  1  Course information; introduction; nondecimal number systems; decimal and alphanumerical codes; binary logic and gates  1, 2.1  HW #1 [PS,PDF](due 9/11)  
9/6  2  Boolean algebra  2.2  
9/11  3  Standard forms  2.3  
9/13  4  Map simplification  2.4  HW #2 [PS,PDF] (due 9/25)  
9/18  5  Map manipulation  2.5  HW #1  
9/20  6  NAND and NOR Gates  2.62.7  
9/25  7  IC Families, CMOS, Combinatorial circuits; analysis and design procedures; decoders  2.82.9,3.13.5  HW #3 [PS,PDF] (due 10/2)  HW #2 
9/27  8  Yom Kippur: NO CLASS  
10/2  9  Encoders; Multiplexers  3.63.7  HW #4 [PS,PDF] (due 10/11)  HW #3 
10/4  10  Binary adders; binary subtraction  3.83.9  
10/9  11  Binary addersubtractors; multipliers  3.10  HW #5 [PS,PDF] (due 10/18)  
10/11  12  Intro to sequential circuits, latches  4.14.2  HW #4  
10/16  13  NO CLASS  
10/18  14  Flipflops: masterslave; edgetriggered; characteristic tables; sequential circuit analysis  4.34.4  HW #6 HTML (due 10/30)  HW #5 
10/23  15  Sequential circuit design; design using D and JK flipflops  4.54.7  
10/25  16  MIDTERM EXAM  
10/30  17  Registers; shift registers; ripple counter  5.15.4  HW #6  
11/1  18  Synchronous binary counters. Other counters.  5.55.7  
11/6  19  Election Day: NO CLASS  
11/8  20  RAM; ECC RAM  6.16.5  HW #7&8 HTML (due 11/15)  
11/13  21  PLA; PAL; VLSI Programmable logic devices  6.66.10  HW #9 (due 11/20)  
11/15  22  Datapaths and operations; register transfer operations; microoperations; multiplexer and busbased transfer; datapaths  7.17.6  HW #78  
11/20  23  The ALU; shifter; control word; pipelining  7.77.12  
11/22  24  Thanksgiving Day: NO CLASS  
11/27  25  Control unit; algorithmic state machines; design example: binary multiplier  8.18.3  HW #9&10 HTML (due 12/6)  
11/29  26  Binary multiplier with hardwired and microprogrammed control  8.48.5  
12/4  27  A simple computer architecture; single cycle hardwired control; multiple cycle microprogrammed control; pipelining; instruction set architecture  8.68.9, 9.19.3  
12/6  28  Special Topics; Review  HW 9&10  
12/18 1:104pm  FINAL EXAM, Mudd 633 