Department of Computing Science
CMPUT 229: Computer Organization and Architecture I
Fall 2001-2002, Section A1

Lecture (A1): MWF 0900-0950, CME 346
Instructor: Dr. Paul Lu, Athabasca Hall 340, 492-7760
E-mail: (I prefer e-mail instead of telephone calls)
Office hours: Monday, Wednesday, Times to be announced
Instructor's Home Page:
Section's Home Page (i.e., this document):
Course's Home Page (relevant to all sections):
Newsgroup: (Please read it and use it regularly.)
(CNS help with news is here. Undergrad CS comments are here.)

Section A1's On-Line Lecture Notes (Draft Version available on September 6)

Section A1's On-Line Marks Posting (none yet)

Check your most recent CS Marks Directly

Schedule of Lab Sections and TAs

Calendar Description

A course dealing with the fundamentals of computer architecture. A methodical discussion of number systems and arithmetic and basic computer organization including: assembly language programming, addressing, operations, subroutines, and parameter input/output, and an analysis of specific architectures.

Prerequisite: CMPUT 115 ; Co-requisite: CMPUT 201


  1. Computer Organization and Design: The Hardware/Software Interface, Second Edition, by David A. Patterson and John L. Hennessy, Morgan Kaufmann Publishers, 1997
    An on-line version of Appendix A (Assemblers, Linkers, and the SPIM simulator) is available.
  2. Introduction to RISC Assembly Language Programming, by John Waldron, Addison-Wesley, 1999.

Course Outline

This outline is subject to change.

  1. Introduction (Chapter 1)
  2. Number Systems and Binary Arithmetics (Chapter 4)
  3. The Processor and Datapath (Chapter 5) *
  4. Assembly Language (Chapter 3)
  5. Exceptions and Interrupts (Chapter 5)
  6. Input/Output Programming (Chapter 8)
  7. Memory Hierarchy (Chapter 7)
  8. Floating Point Numbers (Chapter 4)

Marking Scheme

5 programming/lab assignments: 22% (4 + 4 + 4 + 5 + 5) Submitted on-line using the try program
5 written homework assignments: 10% (2 + 2 + 2 + 2 + 2) Due in lecture
1 midterm: 30% (in class, Monday, October 29)
Final exam: 38% (two hours, TBA)

Assignment Schedule

Lab Start Date Due Date
No. 1 Monday September 17 Friday October 5
No. 2 Tuesday October 9 Friday October 19
No. 3 Monday October 22 Friday November 2
No. 4 Monday November 5 Friday November 16
No. 5 Monday November 19 Friday November 30
Homework Due Date
No. 1 Friday September 28
No. 2 Friday October 12
No. 3 Friday October 26
No. 4 Friday November 9
No. 5 Friday November 23


  1. Students must work on their homeworks and assignments independently. There is to be no group work or collaboration on any homeworks and assignments. Make sure you understand and follow the Code of Student Behavior, especially the section on Academic Offences.

    Identical or almost identical programs from separate students are considered evidence of plagiarism, and these cases will be subject to disciplinary actions by the Associate Chair, the Faculty of Science, or the University.

    In the past, a number of cases of plagiarism have been detected and have resulted in severe penalties. See for some statistics. NOTE: Even though CMPUT 229 is not listed on that page, there were two students who were caught and received a 1F in my course last year.

  2. All lab sessions have fixed schedules and are held in the Network & Machine Architecture Instructional Laboratory in CSC 167 (first floor of the new Computer Science building).
  3. There are no scheduled make-up sessions for the two Monday holidays, October 8 (Thanksgiving) and November 11 to 13 (Remembrance Day and Fall-Term Class Break ). During those weeks, students who are affected by the holidays can go to other lab sections for help from the TA.
  4. Your code must be properly commented with a standard header, block comments at the beginning of each functional block, and in-line comments after every instruction. Refer to the course homepage for an example of properly documented programs.
  5. A laboratory assignment is to be submitted electronically before 9:00 PM of the Friday when it is due. You will be given detailed instructions on how to submit electronically. No late submissions are accepted.
  6. Homework assignment is due in class, at the beginning of class!. No late submissions are accepted.