CS A221: Introduction to Computer Architecture

Course Syllabus, Fall 2004 Textbook

Course Description:  This course is designed to introduce computer science students to the basics of computer architecture and low level programming. i.e. assembly code and hardware manipulation. CS 221 will focus on the Intel x86 assembly language, number representations, low-level data manipulation, system buses, memory systems, computer arithmetic, instruction sets, and the design, control, and structure of CPUs.  Time permitting, RISC and parallel processing will also be discussed.  Digital circuits (e.g. gates, flip-flops, transistors) will not be discussed and is left to EE 241.

Homework Assignments:    Due by the beginning of class unless otherwise noted.  There will be approximately four analytical homework assignments and three programming assignments. Late homework will be penalized by 10% per day late, up to the day that answers are provided. We will typically go over answers the next week (but not always). Unless otherwise indicated, programming assignments and written assignments must represent your own work. It is permissible to discuss the assignments with other students, but do not disclose the solution.

The programming exercises are to be completed using MASM (Microsoft Assembler).  For those of you with home PC's, a CD at the back of the Irvine textbook contains the assembler tools.  Since we'll likely be using Irvine's link library, which only runs on Windows/DOS, you will be stuck using MASM rather than other assemblers (e.g. GNU's AS). 

Questions: If you have any questions, feel free to come in to my office.  In general, I have an open door policy -- if I am available in my office, you are welcome to come by.  An even better way to reach me is through email.  I check my email frequently and you should receive a response quickly.  Email is preferred over telephone and you will probably receive a faster response since I don't check voicemail very frequently.  You can also contact me online via ICQ, AIM, or MSN Messenger (see contact info on the home page).  I'm often up late and will be glad to answer questions if I'm available! 

Exams: Including the final, there will be three exams.  The midterm will cover several chapters of the books while the final exam may include any material that was covered in the course, but will emphasize the new material. Unless prior arrangements are made no make-up exams will be given. Since you will be tested upon your critical thinking and problem solving skills and not your ability to memorize formula, you may use one sheet of notes (both sides) for each exam. Otherwise, the exams will be closed book. Cheating on assignments and exams will not be tolerated.   Many of the course concepts can only be learned by doing.  Consequenlty, a practice of simply copying an entire homework will ensure your doom on the exams (worth 64% of your overall grade as well).

Grading:  Exams will be graded and returned to you. Grades will be posted according to randomly assigned numbers on the web site throughout the semester.   Please notify me if you do not wish your grade to be posted.

Grading breakdown:

Homeworks:  36%   (all homeworks are worth an equal amount)
Exam 1:         20%
Exam 2:         20%
Final:             24%

The grade scale is shown in the table below.  The grading curve may be lowered if necessary but it will not be raised.  This means that if you received an 89% then you will at least get a B+, but may receive a higher grade based on the curve.  (Final grades don't include a + or -).

An incomplete grade will only be given for a valid excuse (e.g. medical, death in the family). An incomplete grade does not let you take the class over again, your final grade will be assigned based on work submitted in class and work that remains to be submitted.

Cheating: Students are expected to uphold the UAA standard of conduct relating to academic dishonesty outlined in the UAA catalog and student handbook.  Cheating is not tolerated and constitutes grounds for dismissal.  For this class, it is permissible and encouraged to assist classmates in general discussions of how to attack the homework problems. It is not permissible to copy another's work (or portions of it) and represent it as your own.