cs470 - Fall 2009


Quick Links

To help students understand the fundamentals of computing by studying the interaction between hardware and software at various levels. Discuss the design trade-offs that drive the performance of computer systems.

Topics covered include Performance Definition, Instruction Set Design, Datapath and Control, Pipelining, the Memory Hierarchy, Input/Output systems.

Prerequisites: CS 350 or ECE 218.

Before you get started

This class requires you to do a LOT of work between homeworks (7), labs (7) -- of which a few are quite difficult, reading assignments, a class presentation, and two exams.

Grading is quite strict as well, in that failure to get a passing grade in, say, any of the labs will earn you a failing grade in this class. Put it another way, you cannot get around all the work by just skipping assignments.

I'm not trying to scare you into not taking this class, I just want you to know full well what you're getting yourself into.

^ Top ^


Section 1
(Main Campus)
Instructor Virgil Bistriceanu
Office hours Mon, Tue 5:30 pm - 6:15 pm
Office SB-214
Phone (312) 567-5146
Fax (312) 567-5067
e-mail bistriceanu@iit.edu
Lecture Tue 6:25 pm - 9:05 pm, room SB-106
Labs Thu 6:25 pm - 9:05 pm, room SB-112F
Teaching Assistant and Lab Instructor
  • Name: Lin Gan
    • Office: SB-006
    • Office Hours: Tue, Wed 5:00pm-6:00pm
    • Phone: 312-567-5705
    • email: lgan@iit.edu

^ Top ^


Textbook: required

  • Computer Organization and Design: The Hardware/Software Interface, David A. Patterson, John L. Hennessy, Morgan Kaufmann, 4 edition (November 10, 2008), ISBN-10: 0123744938, ISBN-13: 978-0123744937

Other books: not required but very helpful if you want to dive deeper

  • Computer Architecture: A Quantitative Approach, John L. Hennessy, David A. Patterson, Morgan Kaufmann; 4 edition (September 27, 2006), ISBN-10: 0123704901, ISBN-13: 978-0123704900
  • Memory Systems: Cache, DRAM, Disk, by Bruce Jacob, Spencer Ng, David Wang, Morgan Kaufmann (September 10, 2007), ISBN-10: 0123797519, ISBN-13: 978-0123797513

^ Top ^


  • Homeworks: 15%
  • Midterm: 15%
  • Labs: 25%
  • Class Presentation: 20%
  • Final: 25%

The following grading scale will be used to determine your grade in this class:

  • A: 90 - 100
  • B: 80 - 89
  • C: 70 - 79
  • D: 60 - 69
  • E: 0 - 59 This is a failing grade!
To pass this class you will need to have the following marks:
  • 60% or more in each Lab
  • 60% or more for the homeworks average
  • 60% or more for the class presentation
  • 60% or more in the final exam

The overall average must be 60+ as well.

Please read this again since it is not your typical grading policy.

Come grading day it won't matter that your overall average is above 60 if you have missing assignments or you failed to get at least 60 in your final, etc.

Class participation will help settle borderline grades. While class attendance is not taken, your instructor believes that regular class attendance is important and expects students to actively participate in class. Questions and comments are always welcome.

^ Top ^

Late Work

Everything you have to turn in is due before midnight (Central Time) the day the work is due.

For late submittal there is a 5% per calendar day penalty.

There are only three ways you can avoid this late penalty:

  • Petition your instructor to change the due date for an assignment. If a change is made, then all students will benefit from it.
  • A documented medical emergency. Based on provided documentation your teacher will try to assign you a new due date. Please note that, based on circumstances, the teacher may decide to assign you an incomplete grade, "I", or otherwise ask you to drop the class.
  • A personal emergency other than a medical emergency, such as a death in the family, etc. Based on provided documentation your teacher will try to assign you a new due date. Please note that, based on circumstances, the teacher may decide to assign you an incomplete grade, "I", or otherwise ask you to drop the class.

^ Top ^

Academic Honesty

All the work you submit must be individual, including, but not limited to, those cases when your instructor has approved pair-programming for you; in these cases the only thing that may be identical with somebody else's is code.

Academic dishonesty will not be tolerated. IIT has a strict academic honesty policy; here are the top points:

  1. The misrepresentation of any work submitted for credit as the product of a student’s sole independent effort, such as using the ideas of others without attribution and other forms of plagiarism.
  2. The use of any unauthorized assistance in taking quizzes, tests or examinations.
  3. The acquisition, without permission, of tests, answer sheets, problem solutions or other academic material when such material has been withheld from distribution by the instructor.
  4. Deliberate harmful obstruction of the studies, research or academic work of any member of the IIT community.
  5. Making material misrepresentation in any submission to or through any office of the university to a potential employer, professional society, meeting or organization.
  6. The intentional assistance of others in the violation of the standards for academic honest.

You can read the entire policy in the Student Handbook (start at page 31). You should read it until you fully understand it. A good way to test whether you understand it is to try to explain it to somebody else.

^ Top ^

Extra Credit

There are multiple ways you can receive extra credit in this class, here are some:

  • Take class notes: scan them and return them to your instructor after each class in PDF format. If you take notes electronically -- the preferred option -- then turn in to your instructor a copy of your notes; .txt, .odf, .doc formats ok.
    • Maximum extra credit: 4 points that will be added to the average class score (scale from one to 100)
    • If you want to get this extra credit, then you'll have to commit to turning in notes for each class.
    • In addition, your instructor will have to confirm upfront that you are eligible for this extra credit since only one student in class can get it.
  • Provide feedback on the lab manual: the manual was written for SPIM running on a UNIX platform; however you may be running SPIM in a MS-Win environment and there are differences in behavior between the two. You get credit for recommending changes to the lab manual that will accomodate the MS-Win platform.
    • Maximum extra credit: 7 points that will be added to the average class score (scale from one to 100).
  • Recommend new labs for the class. Your recommendation should be original and non-trivial and should detail what would be covered in pre-lab, in-lab and post-lab. If you're not sure what original and non-trivial mean, then talk to your instructor.
    • Extra credit: Up to 10 points of extra credit for each new lab idea will be added to the average class score (scale from one to 100).
  • Recommend problems to be included in the midterm or final. You'll get credit for submitting a good problem. Your submission should be original and non-trivial.
    • Extra credit: 2 points per accepted recommendation. All points that will be added to the average class score (scale from one to 100).
    • The credit will be doubled for each problem that's included in the exam.
  • Turn in (attach to your final exam) the paper for extra credit on topics assigned in class by your instructor. This assignment can boost your final exam mark by up to 10%.

^ Top ^


Exams are open-book(s), open-notes. You may bring with you any notes you want, however you may not share them with anybody else during the exam.

During the exam the use of communication devices such as phones, laptops, etc. is not allowed. You may bring with you a calculator.

^ Top ^


A number of simulators will be used for your labs, such as SPIM (a MIPS32 simulator), dinero (a Trace-Driven Uniprocessor Cache Simulator), CAMERA (a memory tutorial software package) and VMSIM (a virtual memory simulator). You are required to install the software on your own computer and become familiar with using it.

Your textbook comes with better SPIM documentation than the one in the original SPIM distribution. You can find the documentation on the companion CD, under the Tutorials. For your convenience the same documentation is also available below:

You are required to install the SPIM on your own computer and become familiar with using it. You can download the software and get additional information about the simulator from the official SPIM web page.

Work you have to turn is is due as follows:

  • Pre-lab: at the beginning of the lab
  • In-lab: at the end of the lab session
  • Post-lab: at the beginning of next lab session for your section

Lab Schedule

Date Lab
8/27/09 No lab
9/3/09 Introduction (nothing due)
9/10/09 pre-lab #1 due, in-lab #1
9/17/09 post-lab #1 due, pre-lab #2 due, in-lab #2
9/24/09 post-lab #2 due, pre-lab #3 due, in-lab #3
10/1/09 post-lab #3 due, pre-lab #4 due, in-lab #4
10/8/09 No lab (nothing due); work on your post-lab #4
10/15/09 post-lab #4 due, pre-lab #5 due, in-lab #5
10/22/09 post-lab #5 due, pre-lab #6 due, in-lab #6
10/29/09 No lab (nothing due); work on your post-lab #6
11/5/09 post-lab #6 due, pre-lab #7 due, in-lab #7
11/12/09 post-lab #7 due
11/19/09 No lab
11/26/09 Thanksgiving Day
12/3/09 Remedial day -- sort out any outstanding issues with your Lab Instructor

The instructor for this class reserves the right to change this schedule.

^ Top ^

Class Presentations

The purpose of this section is for students to do some independent research work and present their findings to the class.

No later than 9/22/09, each student must choose a topic for the class presentation. Your topic must be approved by your instructor.

Submit your request via email to your class instructor. Topic requests will be honored on a FIFO basis.

As a general rule, the sooner you submit the request, the more time you'll have to prepare it.

A draft of the presentation is due on 10/29/09; a penalty of 10% will be assigned if you fail to submit your draft presentation or if you submit it late. There are two purposes to this:

  • Make sure you're on track with your work.
  • Select the most promising presentations for live presentations; that's primarily of concern for your teacher.

Should you fail to deliver a draft of your presentation by the due date, you'll get penalized 10% in your final grade for the presentation.

The draft presentation must be substantive, i.e. it should show you've spent enough time researching the presentation topic in order to have a good idea about what needs to go in and what needs to stay out. If the draft presentation is deemed to not be substantive by your instructor, then you'll get a 10% penalty on your presentation.

Your presentation must include notes for each slide, which notes include the detail related to each slide; if you prefer, you can produce a separate document that includes the detail of your presentation. If the notes you provide for your presentation are deemed to not be substantive by your instructor, then you'll get a 10% penalty on your presentation.

Allocate significant time to survey the computer architecture topic you have selected. Do not wait until a few days before the presentation is due, chances are that if you do so, then you'll run out of time and will end up with a very poor mark in this section.

Presentations will be limited to 20' and will be followed by Q&A up to a total of 30'. Grading will consider both the content and the way the presentation is made to the class. Your class peers will participate in the grading process and their opinion accounts for 40% of your mark, unless you are one of the students who submits the topic late and/or you cannot be physically present in class for a live presentation.

If you are a student whose presentation hasn't been selected for one of the live presentations sessions or a student who takes the class remotely and cannot attend a live presentation, then you will have to record your presentation as if you were giving it in front of your peers and turn in a .mpeg movie together with all the other deliverables for the class presentation. Your presentation is due on the first day of student presentations as outlined in the Class Schedule.

In the movie we'll want to see:

  • Your face, at least in the beginning and at the end of the presentation
  • Slides
  • Synchronized sound

The presentation must be very well rehearsed; failure to properly prepare for the presentation will result in an extremely poor mark on the presentation.

The following grading sheets will be used for your class presentation.

^ Top ^


The first person you should contact for any questions related to assignments is your TA.

Please be descriptive in the subject line when you email your TA or instructor such that processing doesn't get delayed. At the very minimum you should indicate the class and the term, followed by a brief description of what is it that you want to communicate.

Examples of good subject lines for your email:

  • cs470, Fall 2009 - Hw1, part (i)
  • cs470, Fall 2009 - When will the grades be posted on the Blackboard?
  • cs470, Fall 2009 - Question about Lab2

^ Top ^

Class Schedule

Date Lecture Assignment Due
8/25/09 Introduction & Overview  
9/1/09 Fundamentals of Computer Design HW-1
9/8/09 Instruction Set Design I HW-2
9/15/09 Instruction Set Design II  
9/22/09 Datapath: MIPS HW-3
Select class presentation topic
9/29/09 Pipelining: performance  
10/6/09 Pipelining: MIPS  
10/13/09 Midterm  
10/20/09 The Memory Hierarchy: cache  
10/27/09 The Memory Hierarchy: virtual memory HW-4
Draft presentation due
11/3/09 I/O: performance  
11/10/09 I/O: devices  
11/17/09 Design Exercise HW-5
11/24/09 Class Presentations, Day #1 All recorded presentations due
12/1/09 Class Presentations, Day #2 HW-6
12/8/09 Final, 7:30pm - 9:30pm, SB-106  

Your instructor reserves the right to change this schedule.

^ Top ^

Important Events

Event All Sections
Last day to change/add/drop a class and receive full tuition refund 9/9/09
Deadline for topic selection for class presentation 9/21/09
Last day to remove incomplete grades 10/5/09
Fall break (no classes) 10/12/09
Midterm 10/13/09
Last day for official withdrawal 11/2/09
Thanksgiving break 11/25/09 - 11/27/09
Last day of classes 12/7/09
Final exams 12/8/09 - 12/14/09

For more important dates and detail go to the IIT site.

^ Top ^


Unless otherwise stated all papers you turn in will be TYPED. No handwritten work is accepted.

Each page will have a header as follows:

  • The left side: your name
  • Middle: page number and the total number of pages (ex. 2/5 indicates this is page 2 out of a total of 5)
  • Right hand side: name of the assignment (ex. Homework #2)

Each page will also have a footer:

  • The left hand side will contain the following text: cs470-section: Fall 2009 where section stands for the section you are in
  • The right hand side will contain the following text: Illinois Institute of Technology - Computer Science

^ Top ^

$Id: syllabus.html,v 1.10 2009/11/19 13:53:02 virgil Exp $