CS-210. Computing Systems I: Machine Organization
Course web page: http://www.cs.binghamton.edu/~pmadden/cs210
Fall 2009

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.

Grading:

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.

Homeworks and Labs

Rough Schedule

The Google Calendar will likely be the most up-to-date schedule, as it will be updated periodically during the semester. Note that the class times listed on the calendar are not correct (Google Calendar is limited to half-hour schedule increments).
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

Announcements