Computer Architecture -- CS 429 -- Syllabus


       Unique Numbers:  52873, 52875, 52880, 52885
   Class Room Numbers:  WEL 3.502
           Class Days:  Monday, Wednesday
           Class Time:  14:00 pm -- 15:50 pm

     Laboratory Times:  52873:  Monday,  9:00 -- 10:50, JES A218A
                        52875:  Friday,  9:00 -- 10:50, UTC 4.110
                        52880:  Friday, 11:00 -- 12:50, UTC 4.102
                        52885:  Friday, 14:00 -- 15:50, WEL 3.402

       Class Textbook:  Computer Systems, A Programmer's Perspective, 2nd Edition
     Textbook Authors:  Randal E. Bryant and David O'Hallaron
        Textbook ISBN:  0-13-610804-0

           Instructor:  Warren A. Hunt, Jr.
    Instructor E-mail:
      Office Location:  Main 2014

         Office Hours:  Mondays, Wednesdays:  4:00 pm to 6:00 pm
                        Tuesdays, Thursdays:  5:00 pm to 7:00 pm
Office Hours Location:  Painter Linux Laboratory (5th floor, Painter Hall)

  Teaching Assistants:  Islam Beltagy, Syed Akbar Mehdi, Vijay Talluru
            TA E-mail:,,
     TA Announcements:  Use

In this class we will discuss how computers are organized and how primitive building blocks, such as simple gates, can be used to create a computing system. This class is intended to introduce a student to a number of topics in the computer architecture field. Student participation and interest can partially influence the topics discussed and the assignments given. The point of this course is to build up awareness of the computer architecture field so the interested student is ready to pursue advanced computer architecture topics.

The text book for this class is "Computer Systems, A Programmer's Perspective" by Randal E. Bryant and David O'Hallaron, Prentice Hall, 2010. In the book preface (page xxiii), there are five different kinds of courses that the authors propose. In our class, we will use Course ORG+.

We will program some in C. I recommend you have access to "The C Programming Language", second edition, by Brian Kernighan and Dennis Ritchie, Prentice Hall Software Series. There are many, many Web pages devoted to C-language programming. Why C? It is the language that is used to implement many systems, such as Linux, as well as many user tools (e.g., grep, ed, sed, emacs,...). Java programmers should have no problem with the subset of C that we will use.

My office hours are listed above. In addition, if you need help, you may certainly seek out and visit with the class TAs. You may arrange to meet me at other times, but you will need to send E-mail to arrange a time.

The following gives an outline of what we will discuss. I am open to discussing other architecture topics of general interest, and I will include some of my own microprocessor design experience. The syllabus below is approximate; the exact rate at which we will cover some material may vary.

  Schedule Below is Approximate, Lectures Dates May Change Slightly

  *** NOTE:  Test dates are tentative until September 5th ***

00     Aug 29  Course Introduction, Chapter 1
               Y86 Introduction, C programming

       Sep  3  No class, Labor Day Holiday
01     Sep  5  Chapter 2, C programming, Laboratory 0 assigned

02     Sep 10  Chapter 2, Continue Y86 Introduction
03     Sep 12  Chapter 2

04     Sep 17  Chapter 2  Laboratory 1 assigned
05     Sep 19  Chapter 2, Laboratory 0 due

06     Sep 24  Chapter 3, Exam Discussion
07  *  Sep 26  Chapter 3, Exam

08     Oct  1  Chapter 3, Class assmebler/simulator
09     Oct  3  Chapter 3

10     Oct  8  Chapter 3, Laboratory 2 assigned
11     Oct 10  Chapter 3

12     Oct 15  Chapter 3, Laboratory 1 due
13     Oct 17  Chapter 4, Exam Discussion, Laboratory 2 assigned

14  *  Oct 22  Midterm Exam
15     Oct 24  Chapter 4

16     Oct 29  Chapter 4
17     Oct 31  Chapter 4

18     Nov  5  Chapter 5, Laboratory 2a due
19     Nov  7  Chapter 5

20     Nov 12  Chapter 6, Exam Discussion
21  *  Nov 14  Chapter 6, Exam, Laboratory 3 assigned

22     Nov 19  Chapter 7  Laboratory 2b due
       Nov 21  Thanksgiving break -- no class

23     Nov 26  Chapter 7
24     Nov 28  Chapter 9

25     Dec  3  Chapter 9, Laboratory 3 due
26     Dec  5  Course Summary, Stump the Professor

       Dec 10  Extra (7:00 pm) Review Session

    *  Dec 15  Final Exam, 2:00 -- 5:00 pm  tentative; set by the UT Registrar

  Schedule Above is Approximate, Lectures Dates May Change Slightly

There will be three in-class examinations, two short (50 to 60 minute) exams and one midterm (70 to 80 minute) exam. See the class syllabus (marked with a "*" above) for the dates. There will be a number of "pop quizzes". There will be a final (150 minute) exam given. Homework will be assigned each week on Monday and due nine days later (Wednesday) by class time; no homework will be assigned the last week of class, but there is an easy project due the last day of classes.

The weighting of the grades for the various aspects of the course are: in-class exams - 29% (Midterm 11%, short exams each 9%), quizzes 8%, final exam - 20%, homework - 15%, and class projects - 28%. The two lowest homework grades will be dropped in the computation of the final homework grade. Likewise, the two lowest quiz grades will be dropped. Homework is not be accepted late, and pop quizzes must be taken when given. Projects may be turned in one week late, but no later than the last day of class, with a 20% reduction of the grade given for the content of the project. Examinations and quizzes must be taken at the scheduled times.

The weighting for the laboratory assignments will be as follows:

  Laboratory   Percentage of Course Grade
  Lab 0:           3%
  Lab 1:           8%
  Lab 2A:          7%
  Lab 2B:          6%
  Lab 3:           4%
Note, the laboratory assignments are important. Once a laboratory has been turned in, material concerning a laboratory may appear on an exam.

The grading for the entire course will be as follows:

    Course Score    Grade
     [90 -- 100]      A
     [87 --  90)      A-
     [85 --  87)      B+
     [80 --  85)      B
     [77 --  80)      B-
     [75 --  77)      C+
     [70 --  75)      C
     [67 --  70)      C-
     [65 --  67)      D+
     [60 --  65)      D
     [ 0 --  60)      F
Note the interval marks around the course score column. For example, a course grade of B will be assigned if your semester grade is greater than or equal to 80 and less than 85. This also means that a course grade of at least 67 needs to be achieved for this course to count toward a UTCS degree.

The final exam will be given at the time as provided, set by the UT Registrar. Each time I teach this course, I am told by a student that he/she needs to take the exam early because of an existing airline reservation. Please make sure that your winter break travel plans start after the final exam. If you need to leave prior to to the final exam, then this is not the course for you.

The students that do well in this class are survivors. This class is a lot of work, and it is important to keep current. The material in this class is cumulative; it can be quite difficult to catch up if one falls behind. It is important to keep turing in homework. It is important to show up for class.

Return to CS429 course homepage.