| Instructor |
Prof. Viraj Kumar 2211 Siebel Center Office hours: Monday 3 pm - 5 pm, Friday 11 am - 12 pm
|
||||||||||||||||||||||
| TAs |
The TAs all share an office: 0212 Siebel Center
|
||||||||||||||||||||||
| Goals and Objective |
CS 232 has two primary goals: 1) to provide you with a mental model of
how high-level language programs get executed on computer hardware,
and 2) to introduce you to the organization and performance analysis
of modern computers.
As computers execute programs in machine language, we will address the
first goal through an extensive discussion of machine language and its
human readable counterpart, assembly language. We will demonstrate
how features of modern programming languages (e.g., function calls,
recursion, pointers, dynamic memory allocation, etc.) are implemented
in assembly language. In addition, topics like compilation, linking,
I/O programming, and interrupt programming will be covered. We will
specifically test the following objectives:
The second goal will be addressed in three ways: 1) We will present an
overview of the organization of modern computers (processor, memory,
I/O system) demonstrating the key challenges and ideas (e.g.,
pipelining, caching, indirection, etc.) that influence their design,
2) we will present both theoretical and practical performance analysis
techniques and analyze the performance of many parts of modern
machines (processors, memory, caches, disks, networks), and 3) we will
write code in high-level languages and assembly to optimize program
execution. We will specifically test the following objectives:
| ||||||||||||||||||||||
| Lectures | Wednesdays and Fridays, 2:00pm-2:50pm, 1404 Siebel. You should bring a writing implement to lecture.
| ||||||||||||||||||||||
| Sections |
Each student should be registered for one of the following sections.
Sections will generally consist of a short (10-15 minute) lecture,
followed by small group problem solving exercises to reinforce
concepts discussed in class during the previous week.
| ||||||||||||||||||||||
| Textbook | Computer Organization & Design: The Hardware/Software Interface. by David A. Patterson and John L. Hennessy. (Published by Morgan Kaufmann) Second Edition: 1998 ISBN: 1-55860-428-6 Third Edition: 2004 ISBN: 1-55860-604-1 Fourth Edition 2008 ISBN-13: 978-0123744937 We follow the contents of this book closely, so it is highly recommended, but many students find they don't refer to the book. Any of the second, third, or fourth editions are fine.
Copies of the textbook (as well as others) are on reserve at Grainger Library
| ||||||||||||||||||||||
| Computing Resources |
We will use the Engineering
Workstations (EWS) for the machine problems in this class. The
web page that provides locations for of EWS labs
also provides the names of machines if you wish to work remotely.
After you log in, type "cs232" at the prompt to get a
work directory for the class.
For the initial MPs, we will be using two programs (g++ and SPIM) installed on the Linux EWS machines. More information about SPIM can be found at http://www.cs.wisc.edu/~larus/spim.html. | ||||||||||||||||||||||
| Web Site |
http://www.cs.uiuc.edu/class/cs232/
has announcements, lecture notes, and assignments. Just about all
course materials will be distributed on the web. Solutions to
programming assignments are the primary exception; they will be posted
on the EWS machines (under ~cs232/solutions) shortly after
the later period following the assignment due date.
| ||||||||||||||||||||||
| Newsgroup | class.fa09.cs232 is used mostly for
questions and answers. This newsgroup is hosted by the CS
department's new news server news.cs.illinois.edu; go to news.cs.illinois.edu to get a
password. We'll do our best to respond as quickly as possible. To
keep the newsgroup from becoming a complete mess, please note the
following:
| ||||||||||||||||||||||
| Assignments |
There will be three kinds of homework during the semester that will
make up 35% of the final grade: section problems, machine
problems, and written/web homework: Section Problems: In sections, problems will be presented to allow you to evaluate your understanding of the course material. Your participation in these problem solving sessions will contribute about 5% of your grade. If you cannot attend section, you can (up to three times during the semester) submit a completed version of the section problems to the TAs for grading by the end of Friday of the week of the section. Machine Problems: Much of the out of class work in 232 will be in the form of machine problems (MPs), which are intended to be more challenging and open ended. You may turn in one assignment up to 48 hours late without penalty. When you turn in the late assignment, please let us know in writing that you want to use your "waiver." Otherwise, there is an amortized 15% penalty for each late day (e.g., 1% for every 1.6 hours late), again up to 48 hours. When it comes to grading MPs, we happen to be sticklers for correctness. We are strict because it is good preparation for the real world. In the real world, you will get little credit if you build things that don't work. For MPs, you should not expect 99% credit if only one line of your 100-line program is broken. We are more generous with partial credit on exams because of time pressure involved. Most of the MPs can be done individually or in groups of 2-3. Groups need only submit one copy of the assignment, with all partners clearly identified. Remember that you are on your own during the exams, so each group member is responsible for understanding the material individually. MPs will account for 30% of your final grade. Assignment due dates can be found on the Assignments Page.
| ||||||||||||||||||||||
| Exams |
There will be two in-class exams. Exam 1
is worth 15% and Exam 2 is worth 25%
of your final grade. Their dates are shown on the class schedule page. As they are in-class
exams, we expect that there should be no conflicts; should a conflict
arise, please notify a TA two weeks before the exam. A cumulative final worth 25% is tentatively scheduled for 1:30-4:30, Friday, Dec. 11; This time is subject to change; please plan to be around the whole finals period until this time is confirmed. No calculators or books will be permitted on the exams, however you will be allowed a cheat sheet.
| ||||||||||||||||||||||
| Regrades |
Regrade requests should be submitted in writing to any of the TAs
within one week after the assignment or exam in question is returned.
| ||||||||||||||||||||||
| Grades |
Assignment and exam grades will be available via the
grade book. Please verify the accuracy of your grades often during the
semester! Typos are unfortunately very possible in a class with many students.
Letter grades will be assigned based on your overall numeric score (rounded up).
We may lower the cutoffs slightly, but we will never raise them.
| ||||||||||||||||||||||
| Cheating |
Academic integrity is an important issue in general. The University expects
you all to be familiar with
Rule 33
in the Code of Policies and
Regulations Applying to All Students. If we are able to pick out two nearly
identical assignments out of 150, then cheating has likely occurred. All
parties involved will receive a 0 on that assignment or exam and their final
course grade reduced by one letter (e.g., A->B, B->C, etc.). A second
offense will result in a failing grade for the class.
|