Instructor: Patrick H. Madden email pmadden@acm.org
Lectures: MWF 10:50-11:50 in LECTURE HALL 7, office hours 12:00-1 or by appointment
TAs: Jason Gallia, Nitin Deshmukh
There are three lab sections; check with BUSI for times
Text: Patt & Patel: Introduction to Computing Systems - From Bits and Gates to C & Beyond - 2nd Ed.
The Textbook Resource page has a lot of useful stuff
The LC3 Simulator for Windows and Linux (Linux source),
For
Mac OSX, you will need to install TclTk, to get the GUI version of the LC3 tools to run.
There will be a required lab kit (about $15); details will be available shortly.
Atmel ATtiny2313 documentation
AVR Studio
WinAVR
Recommended: check out TopCoder algorithms competitions, to get an idea of the sort of folks you'll be up against in the job market.
Highly recommended: join the ACM Student chapter, and try the local programming contests.
3 in-class exams, 25% each
One final, 25%. DETAILS ON THIS AT THE BOTTOM OF THE PAGE.
There will be periodic in-class pop quizzes, and some homeworks for over the weekend. For every 2 you miss, your grade is lowered by 1 percentage point. So -- it's ok if you miss a class or two, but if you make a habit of it, your grade will suffer. Don't bother crying about this at the end of the semester--the policy is in place to encourage you to come to class during the semester.
Labs are required, and you MUST complete your work during lab. If you're paying attention and working at a reasonable pace, this will not be difficult. You may miss or fail to complete one lab. For each subsequent lab, your grade will be lowered by 2 two points.
Grade ranges are typically [90-100%] = [A- to A], [80=90%]=[B- to B+], [70-80%]=[C- to C+], and so on. Depending on the actual scores, the percentage range may change slightly.
As an example: suppose your scores on the exams are 70, 90, 80, and 80. This gives an average of 80, which would be a B-. If you have missed 3 pop quizzes (resulting in 1% deduction) and 4 labs (first one is skipped, three others gives a 6% deduction), you wind up with a total deduction of 7%, with the final average being 73. This would fall into the C- range. You probably should have come to class more, and not missed those labs.
If I catch anyone cheating (or helping someone cheat), they will fail the course. There will not be make-up dates for labs, or late homeworks accepted. Get things done on time.
| Monday, August 31st | First lecture |
| Wednesday, September 2nd | Chapters 1 and 2, binary, hex |
| Friday, September 4th | Chapters 1 and 2, binary, hex, floating point |
| Chapter 3, transistors | |
| Chapter 3, transistors | |
| Chapter 3, transistors | |
| Chapter 3, transistors | |
| Chapter 3, DeMorgan's Law | |
| Chapter 3, Decoders and MUXes | |
| Chapter 3, Adders | |
| Chapter 3, PLAs, Karnaugh Maps | |
| Karnaugh Maps | |
| Karnaugh Maps | |
| Exam 1. An old exam and an old prep sheet | |
| Chapter 3, RS latches | |
| Chapter 3, Gated D latch | |
| Chapter 3, Registers | |
| Chapter 3, Memory | |
| Chapter 3, Sequential Machines | |
| Chapter 3, Sequential Machines | |
| Chapter 4, von Neumann machines | |
| Chapter 4, von Neumann machines | |
| Chapter 4, von Neumann machines | |
| Chapter 5, 6, 7. Assemblers and the LC3 | |
| Chapter 5, 6, 7. Assemblers and the LC3 | |
| Exam 2 prep sheet | |
| Chapter 8, I/O | |
| Chapter 8, I/O | |
| Chapter 8, I/O | |
| Chapter 9, traps and subroutines | |
| Chapter 9, traps and subroutines | |
| Chapter 9, traps and subroutines | |
| Chapter 10, the Stack | |
| Chapter 10, the Stack | |
| Chapter 10, the Stack | |
| Chapter 10, the Stack | |
| Exam 3 | |
| Chapter 11, programming in C | |
| Chapter 11, programming in C | |
| Chapter 11, programming in C | |
| Multiple threads, processes | |
| Virtual memory | |
Last day of classes, prep for the final |