Homepage: http://www.cs.utexas.edu/users/hunt/class/2012-fall/cs429/cs429.html

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: hunt@cs.utexas.edu 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: beltagy@cs.utexas.edu, samehdi@cs.utexas.edu, vijayt@cs.utexas.edu TA Announcements: Use piazza.com

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) FNote 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.