Computer Science 281
Computer Organization

Denison
CS281 Home Page
Computer Science 281
Computer Organization
Spring 2008
 
Professor: Thomas C. Bressoud Phone: 587-5630
Office: Olin 207 E-mail: bressoud@denison.edu
Office Hours: See Bressoud Spring Schedule Mailbox: Olin 201
Meeting Time: MWF, 12:30-1:20 p.m., Olin 220
T Lab, 9:00-11:00 a.m., Olin 220
Final Exam: E: Mon., May 5, 2:00-4:00pm

Description

In this course, you will study the low level organization of computer systems from a programmer's point of view. From this perspective, the architecture of a computer system is defined by the instructions that the computer's processor can execute. These instructions are collectively called the processor's machine or assembly language. Much of the work in this course is centered around assembly language programming as a vehicle for learning about computer architecture. We currently use the MIPS architecture.

This is a study of computer organization and the interface between hardware and software. Topics include assembly language programming, machine language, binary number representation and computer arithmetic, the central processing unit, input and output, and the memory hierarchy, as well as hardware topics from boolean algebra, digital logic design, and combinational and sequential circuits.

Textbooks

In addition, resources will be provided for programming the MIPS assembly language.

Grade Determination

Midterm Tests (2):    25%
Labs  (12): 20%
Homework/Projects    35%
Final Exam: 20%

Course Web Page

A web page will be maintained for this course.  The web page will include the schedule for the course, all reading assignments, programming assignments, example programs, and other useful information, including announcements to the class.  I expect you to check the web page regularly.

http://www.denison.edu/~bressoud/cs281-s08/

Policies and Student Responsibilities

Participation and Attendance
In general, we would like everyone to do their part to make this an enjoyable interactive experience. Hence in addition to attending class, we would like you to actively participate by asking questions, joining in our discussions, etc.

Your attendance is expected at each class meeting. Up to 3 excused absences will be tolerated without affecting your grade. Such absences should be communicated to me in advance.

Readings and In-class Material

You are responsible for the content of reading assignments, lectures and handouts, as well as announcements and schedule changes made in class, whether or not you are present. If you must miss a class, you are responsible to get what you missed. We cover considerable ground during class, and often the material is not available in the textbook. ... and it _will_ appear in exams.

It is very important that you keep up with the assigned reading. Read your book on a daily basis. Be especially sure to read the material in the appropriate chapter before coming to class so you will be ready to ask questions. All reading assignments are listed on the class web page. The material in the course is, by necessity, cumulative. Be warned that if you fall behind, you will not be able to catch up easily.

Exam Policy

Exams will be given in class on the day scheduled and may not be made up. On rare occasions, and with a Univeristy sanctioned excuse, I may allow an exam to be taken in advance. See me as early as possible to discuss this.

Homework Policy

There will be a number of written and programming assignments given during the semester which will be due on the date specified. I will grade late assignments, but with the following mandatory penalty.

Lateness Penalty
up to 24 hrs
15%
each day thereafter
10%

Note that these are not class days, but simply 24 hour periods following the due date/time. With these penalties in mind, if an individual situation comes up, you can make an informed decision about turning an assignment in late. I do not grant individual extensions. If an extension is warranted for some systematic reason, it will be granted to the entire class.

Any late assignments must be turned in by the last class of the semester. Given the late penalty, you should work hard to make sure that assignments are submitted on time. Since it will most likely not be obvious how long an assignment might take, you are well advised to start early. Like other classes at Denison, it is expected that you devote at least 3 hours to these assignments for each hour of class time. Homework assignments must be typed.

You may discuss homework problems with other students in the class, but written (and typed) work must be your own. In other words, you may talk about homework problems with your peers, but when it comes time to write your solutions, you are on your own. You may have general conversations about problem strategies, but you must leave these conversations without having written anything down. Keep in mind that it is quite easy for me to tell when two students have been working too closely. In such cases, I am obliged to report the instance to the Associate Provost.

You may not get help from students outside the class. If you have questions, come see me and I will be happy to help.
Lab Policy

An important component of this class is the hands-on learning that comes from the weekly labs. I expect to use 12 labs over the semester. These are designed to be done during the two hour lab period and will include questions on the lab material. Labs are expected to be done and turned in the same day. Some students may have scheduling conflicts, and I will allow the lab reports to be turned in by no later than 9am on Wednesdays. No extensions nor late grading will apply to lab assignments.

Topics

    1. Number Systems
    2. MIPS Instruction Set Architecture and Assembly Language Programming
    3. Machine Language
    4. High Level Language Translation and Calling Conventions
    5. Performance
    6. Integer and Floating Point Representation
    7. Digital Logic
    8. ALU Design
    9. Multiplication and Division
    10. Datapath Design
    11. Pipelined Datapath
    12. Memory and Caches

Academic Integrity

The students and faculty of Denison University and the Department of Mathematics and Computer Science are committed to academic integrity and will not tolerate any violation of this principle. Academic honesty, the cornerstone of teaching and learning, lays the foundation for lifelong integrity.

Academic dishonesty is, in most cases, intellectual theft. It includes, but is not limited to, providing or receiving assistance in a manner not authorized by the instructor in the creation of work to be submitted for evaluation. This standard applies to all work ranging from daily homework assignments to major exams. Neither ignorance nor carelessness is an acceptable defense in cases of academic dishonesty.

As is indicated in Denison’s Student Handbook, available through mydenison.edu, instructors must refer every act of academic dishonesty to the Associate Provost, and violations may result in failure in the course, suspension, or expulsion. (For further information, see http://www.denison.edu/student-affairs/handbook/ar03s02s01.html)

Disability Accomodation

Any student who thinks he or she may need an accommodation based on the impact of a disability should contact me privately as soon as possible to discuss your specific needs. I rely on the Office of Academic Support in Doane 104 to verify the need for reasonable accommodation based on documentation on file in their office.

Have a great semester! If you need anything, please let me know.