CS352 - Computer Systems Architecture (Spring 2005)


Course:

Computer Systems Architecture
Computer Sciences 352
Unique Number: 52906
TTh 3:30-5:00, UTC 4.112 (University Teaching Center)

Instructor: Prof. William R. Mark
email: billmark-at-cs-utexas-edu
Office Hours: Th 5:00-6:00
ACES 2.118
Teaching Assistant: Chris Lundberg
email: cdl 'at' cs.utexas.edu
Office Hours: M 1:30-2:30, W 11:15-12:15
PAI 5.36a
Class Information:

Web page: www.cs.utexas.edu/~billmark/teach/cs352-05-spring
E-mail list: cs352-mark 'at' cs.utexas.edu (mandatory; email TA to join)
Discussion newsgroup: utexas.class.cs352-mark

Course References: Required: Patterson & Hennessy, Computer Organization and Design, The Hardware/Software Interface, 3rd Edition. ISBN: 1558606041


Course Objectives

In this course, you will learn about the basic principles and current practices of computer architectures and organizations. At the end of this course, you will understand how computers are organized and what influences have determined the architectures of processors, memory systems, and input/output systems. You will learn how to evaluate and improve computer system performance through analysis and computer simulation. You will also learn the fundamentals of pipelining, caches, and virtual memory. This course is required for the CS major because the concepts explained in this course must be mastered in order to write software that performs well on real systems.

Student Evaluation

Your performance in this class will be evaluated through homework assignments, programming assignments, two mid-term exams, and a final exam. The weights of each of these components is listed below:

For each quiz and exam, you may bring a non-programmable calculator and a single 8 1/2 x 11 sheet of handwritten notes (no photo-reduction). In class exams will be 75 minutes in duration according to the schedule. There will be no make-up exams.

The assignments will be a combination of written work and programming work. The written work will help you pace yourself in the reading and in your understanding of lectures. The programming components will be used to explore issues in computer design and performance analysis.

Homeworks will be assigned approximately every week to ten days. The final project will be due at the end of the term. Assignments will be due at the beginning of class. Your programming assignments will be submitted electronically and will require you to use your CS department Unix account. You may not email your assignments to the teaching staff. Programs will be graded on correctness, readability, style, and documentation.

You have a "late account" of 3 days for the term which you can spend any way you choose for your assignments. For example, you can turn in three homework assignment one day late each, or one homework assignment 3 days late, without penalty. An assignment is late if it is not turned in at the beginning of class on the day in which it is due. It is one day late until 5pm of the day after it is due, two days late from then until 5pm of the second day, and three days late from then until 5pm of third day. Once you have exhausted your late account, no late assignments will be accepted. You are responsible for turning in late assignments to the box outside of ACES 2.118. The departmental homework drop box will not be used.

When grading a homework, we may choose to base the grade for the homework on just a subset of the problems in that homework. This method allows the TA to grade those problems more carefully than would be possible if he/she had to grade all of the problems.

Academic Misconduct Policy

You are free to discuss the course material with your classmates and are encouraged to form study groups for the exams. You may collaborate on homework and programming assignments with other students in the class, but you must give credit where credit is due by listing the people you work with. If you work with others on a homework assignment, you must still write up and turn in your own copy of the assignment. Please do not use collaboration as a method to escape learning the material. If you do not learn from the assignments, you are unlikely to pass the exams or this course.

For programming assignments, you will have a programming partner. Partners will work together on the programming assignments and will submit one programming assignment together. Partners will receive the same grade on their programming assignments. I will be highly encouraging the "pair programming" approach, which we will discuss later in the semester. You may choose your own programming partner.

The homework, programs, and exams must be the work of students or partnerships turning them in. The university policy (see Dean of Students' policies on academic integrity) will be followed strictly. It is forbidden to use previous solution sets, instructor solutions, etc. Please note that in this offering of CS352, academic dishonesty will typically be punished by an F in the class -- "you cheat; you fail".

Your Responsibilities in This Class:

Drop Deadlines

Jan 21 -- last day to drop course with complete removal of course from transcript.
Feb 14 -- last day to drop course for automatic "Q" grade.
Mar 28 -- Final drop deadline, with appropriate approvals. "Q" is typical, but not automatic.
The Dean may grant exceptions to these deadlines, but only for urgent and substantiated non-academic reasons.
If you are a graduate student taking this class, different drop deadlines may apply.

Other General Information

The programming assignments will require use of the Department of Computer Sciences Unix computing resources. All CS students who meet the prerequisites for CS352 are eligible for a CS departmental undergraduate Unix account. If you do not have one, or if you are not a CS major (in which case you need a departmental TEMPORARY account), use the following web page:
https://udb.cs.utexas.edu/udb/amut/acut/.

Important UTCS unix links:


Course Schedule (on class web page)