Computer Science 324
Computer Architecture

Mount Holyoke College
Fall 2009



James D. Teresco, Clapp 226, (413) 538-3253
Electronic mail: domain:, username: jteresco (best contact method)
Class URL: [Link]
Class hour: Tuesday 8:35-9:50, Clapp 224, Friday 1:15-2:30, Location TBD
Lab meetings: Self-scheduled and during class hours
Office Hours: 10:00-11:00 M, 10:45-11:45 Tu, 2:00-3:00 W, 10:00-11:00 F, and by appointment


Everything on this syllabus is subject to change. Changes will be announced in class and updated in the online version of the syllabus.

Course Objectives

From the course catalog: The goal of this class is to provide the student with a working knowledge of how computers operate and the general principles that affect their performance. New developments in hardware render current technologies obsolete within one to three years. Rather than focusing on specific technology, we cover the fundamentals that allow your understanding of technology to grow with future developments. You will also gain a better appreciation of the cost/performance trade-offs encountered in designing a computer system.



The required text for the course is Computer Organization and Design, The Hardware/Software Interface, Fourth Edition (Elsevier, ISBN 9780123744937) by Patterson and Hennessy. This is available from Odyssey Books (and elsewhere). Be sure to get the correct edition. It has been out for less than a year.


You are expected to attend class and participate in discussions. Come to class prepared. Assigned readings are listed on the lecture and reading schedule. Lectures will assume you are familiar with the material in the readings. Most lectures will include a small assignment due at the start of the next class. No late submissions of these assignments will be accepted, as they will often be discussed in class on the due date.


Labs in this course do not meet formally, but expect to spend a significant amount of time working in the lab. You will have lab assignments approximately weekly. There will also be a larger final project.

Lab assignments will have a written, hands-on, and/or a programming component. The number of points available will vary with the complexity of the assignment. Programs will be graded on design, documentation, style, correctness, and efficiency. Answers to questions included in lab assignments are expected to be well-written.

You may develop programs for the lab assignments anywhere (in the lab, your own computers, etc.) but grading will be done using the Computer Science Linux systems unless otherwise specified. It is your responsibility to ensure that your program works on the grading platform.

Labs involving implementation of circuits will require demonstration before the due date. Circuits will be graded on design, correctness, efficiency, and neatness.

Unless otherwise specified, lab assignments may be turned in with a penalty computed as 1.08h%, where h is the number of hours late. Extensions will only be granted in serious situations and must be arranged through the Dean's office. You can find a C program that prints out a table of the late penalties here. Work turned in after solutions have been made available cannot receive credit.

All assignments are to be submitted via electronic mail unless otherwise specified. Please submit work in portable formats (plain text where appropriate, PDF or postscript when needed, avoid Word documents). If in doubt about a file format, please check with me first. Keep a copy of all submissions for yourself.


There will be two exams during the semester, but no final exam. Exams are tentatively scheduled to take place in mid-October and early December. Details will be made available as the exams approach.


Grades for individual assignments and exams are not scaled. Any scaling deemed appropriate will take place at the end of the semester by adjusting the above thresholds. The following thresholds may be adjusted downward (thereby raising grades) but will never be adjusted upward.


Lecture Assignments 15% A >= 93% A- >= 90%
Lab Assignments 40% B+ >= 87% B >= 83% B- >= 80%
Exam 1 15% C+ >= 77% C >= 73% C- >= 70%
Exam 2 15% D+ >= 67% D >= 63% D- >= 60%
Final Project 15% F < 60%

Academic Honesty

Discussion with your classmates of the concepts related to course assignments and exams is an important ingredient in a lively and productive learning environment. However, work submitted for grading must be your own (or the combined work of group members, for group assignments). Any unauthorized copying or collaboration is a violation of the Honor Code.

Academic dishonesty cases are unpleasant and uncomfortable for everyone involved. Penalties for such violations include failure of at least the assignment in question. A written report will be made to the dean of the College, as required by the Student Handbook. If there is any doubt about the degree of collaboration allowed or the permitted sources for a particular assignment, please ask for clarification before collaborating or consulting the source. Any such collaborations or sources must be cited properly.