4003-345/4003-710 Computer Organization Syllabus

Version 1.13 03/07/12

Copyright © Department of Computer Science, Rochester Institute of Technology.
All Rights Reserved.

1. Course Goals

In this course, we consider the ``other side'' of computing: specifically, how hardware is designed, and how that design influences the design and operation of software.

We will study the major components of computer systems and how those components fit together. Along with this, we will experiment with simple hardware circuit design and with writing programs at the machine level using assembly language. Our goal is to understand the details of representation of data and instructions, how instructions are translated from human-understandable form into machine-understandable form, and how they are fetched, decoded, and executed. In addition, we will look at several alternative designs for CPUs, including CISC (Complex Instruction Set Computers) and RISC (Reduced Instruction Set Computers) architectures.

1.1 Course Outcomes

At the end of this course, students will be able to:

2. Textbook

3. Grading Policy

The course consists of the activities shown below, which are weighted as indicated to compute the final grade:

Component Weight
Experiments 20%
Project 20%
Mid-Quarter Exams 35%
Final Exam 25%

3.1 Assignment of final grades

This course uses the traditional 90/80/70/60 percentage-based grading scale.

Each instructor reserves the right to alter these division points as they see fit at the end of the quarter if they believe it to be necessary, based on the overall evaluation of individual or class performance and effort.
Score Range Grade
n ≥ 90% A
80% ≤ n < 90% B
70% ≤ n < 80% C
60% ≤ n < 70% D
n < 60% F

4. Course Format

This course has no formal lab period associated with it; the lecture meets for four hours each week. If you have any questions regarding your registration, consult your instructor or the staff in the Computer Science office (Golisano 3005) immediately. You should attend the section for which you are registered or you will not get credit for your work.

Although there are no formally-scheduled lab sessions, there will be out-of-class experiments for you to complete.

Lectures are held in the classrooms shown on your schedule. Experiments will be done on the Sun workstations in the undergraduate Department of Computer Science (DCS) computer systems, located in various labs on the third floor of the Golisano building. Hours of operation are posted outside each lab.

The simulators we will be using are available for many platforms; if you download and install them on your own machine, note that your work must run correctly on the DCS systems. If you submit a solution which works on your own machine but not in the DCS Sun labs, it does not work, and will be graded accordingly.

5. Experiments

You will perform a series of experiments. Some experiments involve writing small amounts of MIPS assembly language code and running it with the help of a MIPS simulator; others involve drawing and simulating logic circuits. More details about each type of experiment will be supplied with the experiment writeups themselves.

6. Project

In addition to the series of assembly language experiments, you will write a complete program in MIPS assembly language.

7. Exams

There will be two exams during the quarter; see the course calendar for specific dates. Each will take about 60 minutes of lecture time. If you miss an exam, you will receive a zero for it.

Your exam scores will be weighted, with the better score counting 20% of your grade, and the other counting 15%.

8. Final Exam

A common final exam will be given to all day sections at the same time during the regularly scheduled final exam period. The date of the final will be announced as soon as we get the information, typically in the third or fourth week of the quarter. The final exam for evening sections of the course will be given separately from the day section final. The evening section final exam will be given during the first class meeting time of finals week. You must take the final exam at the time scheduled for your section; finals are not given early, nor will there be any makeup exam. The final will be comprehensive and will cover material from the entire course, including lectures, experiments, and assigned readings in the text books.

RIT has published policies regarding final examinations. Of direct relevance here are two cases: (1) a conflict in which a student is scheduled for two final exams at the same time and (2) a situation in which a student is scheduled for three or more final exams on the same day. In case (1), there are several rules which determine which final exam takes precedence. In case (2), a student has the right (if they wish) not to take three or more final exams in one day. In both cases, by the last day of the sixth week of classes, a student must submit a written request for rescheduling to the head of their home department, with a copy of the request given to the instructor being asked to provide the rescheduled final exam. We highly recommend that students check their final exam schedule on SIS and then discuss their situation with all instructors involved.

9. Academic Honesty

It is a shame that this must be stated at all, but there are always a few students who do not abide by the rules of proper academic conduct. For the record:

You can find the complete RIT's Academic Honesty Policy (section 18 of the RIT Students Rights and Responsibilities handbook) by following the links.

Those who behave in a dishonest or unethical manner in computer science courses, or in their dealings with the Computer Science Department, are subject to disciplinary action. In particular, dishonest or unethical behavior in the execution of assigned work in a computer science course will be treated as follows:

  1. For a first offense the student involved will receive, at a minimum, a grade of zero for the assigned work.
  2. For a second offense, in the same or a different course, the student will receive, at a minimum, a failing grade for that course.
  3. For a third offense, a student will be suspended and their case will be referred to judicial affairs.

Furthermore, the following action will be taken for each person involved in the incident, whether currently enrolled in the course or not:

For more details refer to the DCS Policy on Academic Dishonesty. For most of you, such warnings are unnecessary. We have to mention this because otherwise some students would say, ``but you never said I couldn't just copy Johnny's work and turn it in as my own.''

10. Tentative Schedule

A weekly schedule is available on the web. It reflects our best estimate of the timing of the topics covered in this course. Any changes to this schedule will be announced in advance by your lecture instructor, or via e-mail, and posted to the web.

You are expected to have read assigned portions of the texts before class, as some of the material will not be covered in class unless questions arise. You are responsible for everything in the assigned readings whether covered in class or not, as well as lecture material whether covered in the readings or not. Pertinent questions are always welcome.

11. Getting Help

There are many people on campus who are both able and willing to help you when you have trouble understanding something. Resources include: your lecture instructor, the teaching assistants and the lab assistants.

11.1. Instructors

Lecture instructors have offices in the same building as the computer labs. Instructors have regularly scheduled office hours, which are times when they are committed to being available to students for any questions or problems that they may have. No matter how busy someone appears to be, their office hours are there for you and you are welcome. Most faculty are also available by prior appointment if you can't come during an office hour. We ask that you be on time for your appointments and that you notify the person if you can't come as planned.

11.2. Teaching Assistants

There are teaching assistants (TAs) assigned to the first year courses. Information about TAs will be available from the course homepage. They will be available during scheduled office hours.

NOTE: While the teaching assistants are there to help you, they will NOT write your programs for you.

11.3. Lab Assistants

A lab assistant is on duty whenever the CSL is open. The lab assistant monitors the lab, retrieves listings, and can provide assistance for simple UNIX ® problems, mechanical problems with workstations, and simple programming language problems.

12. General Conduct

Student conduct will be evaluated in accordance with the Policy on Academic Dishonesty and Code of Conduct for Computer Use found in RIT's Educational Policies and Procedures Manual. You should also have two related documents, the Code of Conduct for the Use of Department of Computer Science Facilities and the Policy on the Use of Computer Games on Department of Computer Science Facilities, which are refinements of the general Institute policies.

13. Policy on W and I Grades

RIT policy allows you to withdraw from a course with a grade of W on or before the Friday of the eigth week in the quarter. After this date, your instructor cannot give you a W, but must assign you a grade based on your work.

This course has been designed so that you can complete all the work in one quarter. Incomplete grades will be given only in the most exceptional circumstances, and then only by prior arrangement with your instructor, who has the final say in this matter.

14. Disclaimer

Every effort has been made to provide accurate information in this document. We reserve the right, however, to make changes to any facet of the course should circumstances warrant it. Any such changes will be announced in lecture, or via e-mail, and on the web.

[ Instructors ] [ CompOrg Home Page ] [ Department of Computer Science ] [ RIT ]

Last updated 2007/09/01 19:16:50