Instructor: Patrick H. Madden email pmadden@acm.org
Lectures: MWF
TAs: Michael Hines, Gowrishankar Sivanathan
There are four 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
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%.
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.
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.
Homeworks will be assigned on Friday, and should be turned in at lab.
| Monday, August 25 | First lecture |
| Wednesday, August 27 | Chapters 1 and 2, binary, hex |
| Friday, August 29 | Chapters 1 and 2, binary, hex, floating point |
| Wednesday, September 3 | Chapter 3, transistors |
| Friday, September 5 | Chapter 3, transistors |
| Monday, September 8 | Chapter 3, transistors |
| Wednesday, September 10 | Chapter 3, transistors |
| Friday, September 12 | Chapter 3, DeMorgan's Law |
| Monday, September 15 | Chapter 3, Decoders and MUXes |
| Wednesday, September 17 | Chapter 3, Adders |
| Friday, September 19 | Chapter 3, PLAs, Karnaugh Maps |
| Monday, September 22 | Karnaugh Maps |
| Wednesday, September 24 | Karnaugh Maps |
| Friday, September 26 | Exam 1 |
| Friday, October 3 | Chapter 3, RS latches |
| Monday, October 6 | Chapter 3, Gated D latch |
| Wednesday, October 8 | Chapter 3, Registers |
| Monday, October 13 | Chapter 3, Memory |
| Wednesday, October 15 | Chapter 3, Sequential Machines |
| Friday, October 17 | Chapter 3, Sequential Machines |
| Monday, October 20 | Chapter 4, von Neumann machines |
| Wednesday, October 22 | Chapter 4, von Neumann machines |
| Friday, October 24 | Chapter 4, von Neumann machines |
| Monday, October 27 | Chapter 5, 6, 7. Assemblers and the LC3 |
| Wednesday, October 29 | Chapter 5, 6, 7. Assemblers and the LC3 |
| Friday, October 31 | Exam 2 |
| Monday, November 3 | Chapter 8, I/O |
| Wednesday, November 5 | Chapter 8, I/O |
| Friday, November 7 | Chapter 8, I/O |
| Monday, November 10 | Chapter 9, traps and subroutines |
| Wednesday, November 12 | Chapter 9, traps and subroutines |
| Friday, November 14 | Chapter 9, traps and subroutines |
| Monday, November 17 | Chapter 10, the Stack |
| Wednesday, November 19 | Chapter 10, the Stack |
| Friday, November 21 | Chapter 10, the Stack |
| Monday, November 24 | Chapter 10, the Stack |
| Wednesday, November 26 | Exam 3 |
| Monday, December 1 | Chapter 11, programming in C |
| Wednesday, December 3 | Chapter 11, programming in C |
| Friday, December 5 | Chapter 11, programming in C |
| Monday, December 8 | Multiple threads, processes |
| Wednesday, December 10 | Virtual memory |
| Friday, December 12 | Last day of classes, prep for the final |