CSE 378: Machine Organization and Assembly Language

General Info

Ben Dugan, Winter 2001

Where and When

Loew 101, MWF 9:30-10:20

Instructional Staff

Instructor: Ben Dugan, Sieg 325A, 685-3803, dugan@cs.washington.edu
Office Hours: Monday 12:30, Wednesday 1:30-3:00, and by appointment, or whenever I'm in the office...

Teaching Assistant: Matthew Cary, Office Sieg 226a, cary@cs.washington.edu
Office Hour: Thursday 2:30 and by appointment

Course Goals

From the programmer's point of view, "the hardware" is given by its architectural specification. We will look at the general topic of computer architectures, using the MIPS R2000 as a specific example, and its most obvious exposure to the programmer, assembly language programming. (Note that basically no one actually programs in assembly language anymore. However, your C++ code is turned into an assembler program by the compiler, and that is what the hardware actually runs. Once you've seen assembler, many mysteries about programming will suddenly become clear.)

Text

Patterson & Hennessy, Computer organization and Deisgn: The Hardware/Software Interface, Morgan Kaufmann, 1998.

Exams and Important Dates

There will be one midterm and a final. Tentatively, the midterm will be Monday, February 5th. The final exam will be Wednesday, March 14th, at 8:30 AM. (Ugh!) There will be no class on January 15th (MLK Jr. Day) and February 19th (President's Day).

Homework

There will be homework. In all cases, the goal of the homework is to help motivate you to learn the material, and to help verify that you have done so. There will be three kinds of homework: programming in assembly language (on a simulated MIPS machine), programming projects in C/C++, and written questions from the book or my own imagination.

Grading

Grades will be based on the midterm (roughly 20%), final (roughly 35%) and homework (roughly 45%). Percentages are approximate. Intangibles may contribute to the final grade.

Class Participation

I'd like this to be an interactive class. Interaction with the instructor and the TA in class and during office hours is highly encouraged (although not required). If I do call on you, that does not mean that I'm picking on you, just that I'm trying to get you to participate. There might come a time when you have to answer a question to which you don't know the answer. In this case, you should not be ashamed to say, "I don't know." I guarantee this will happen to all of us (myself included) at some point.

Late Assignments and Incompletes

Assignments are due at the beginning of lecture. If you write answers out by hand, please make sure it's legible. Write your name, quiz section, and the name(s) of your collaborators (see below) on each assignment. The late policy is as follows: each student is granted one late day to use at his/her discretion during the quarter. A late day is defined as the period of time until the beginning of the next lecture. For example, if an assignment is due Wednesday, turning in the assignment anytime up to the beginning of Friday's lecture constitutes the use of one late day.

Use your late day wisely. If you use your late day early in the quarter because you are lazy, we will have no pity (and grant no extensions) when you get the flu at the end of the quarter due to too much partying at the beginning of the quarter. Barring exceptional circumstances, extra late days, incompletes, or other extensions will not be granted.

Collaboration/Cheating Policy

Students in this course are encouraged to work together. However, there are a few groundrules everyone must follow. Failure to understand and follow these rules will constitute cheating, and will be dealt with as per university guidelines.

  1. The Gilligan's Island Rule: This rule says that you are free to meet with fellow students(s) and discuss the assignment with them. Writing on a board or shared piece of paper is acceptable during the meeting; however, you should not take any written (electronic or otherwise) record away from the meeting. After the meeting, engage in a half hour of mind-numbing activity (like watching an episode of Gilligan's Island), before starting to work on the assignment. This will assure that you are able to reconstruct what you learned from the meeting, by yourself, using your own brain.
  2. The Freedom of Information Rule: To assure that all collaboration is on the level, you must always write the name(s) of your collaborators on your assignment.


dugan@cs.washington.edu