CS310H - Computer Organization and Programming (Spring 2009)

Course: Computer Organization and Programming
Computer Sciences 310H
Unique Numbers: 54060, 54065
Instructors:
Prof. Stephen W. Keckler
ACES 3.434
Phone: 471-9763
skeckler@cs.utexas.edu
Office hours: T 1-2, W 1:30-2:30
Administrative Assistant: Gem Naivar
ACES 3.422
phone: 232-7460
gem@cs.utexas.edu
Teaching Assistant: Mark Gebhart
mgebhart@cs.utexas.edu
Office: ENS 31NQ (Take the elevator down to "LB" (lower basement). Exit the elevator and go to your right. Continue down the hallway. It will curve to the right. You'll come to 31NR on your left. Go through 31NR to a smaller room. That is 31NQ.)
Office Hours: M 11-12, W 12-1:30, TH 3:30-5
Grader: Raleigh Schickel
raleigh.schickel@mail.utexas.edu
Class Meetings: MWF 10-11am, RLM 6.116 (Robert L. Moore Building)
Discussion Sections: #54060: Th 9am-10am, GAR 2.124
#54065: Th 11am-noon, SZB 434
Class Information: WWW: www.cs.utexas.edu/users/skeckler/cs310h
E-mail list: www.cs.utexas.edu/users/cart/courses/cs310h/electronic.shtml
Required Textbooks: Introduction to Computing Systems: From Bits and Gates to C and Beyond, 2nd Edition Yale N. Patt and Sanjay J. Patel, McGraw-Hill Publishers, ISBN 0-07-246750-9, 2004. (available at the University Co-op, among other places)

CS310 Course Reader, containing excerpts from "Computer Systems: Architecture, Organization, and Programming," by Maccabe. (available at the UT Copy Center in Welch 2.218)
Prerequisites: 315 or 315H with a grade of at least C; admission to Turing Scholars program or consent of instructor


Course Objectives

To understand the basic operation of computing systems. Upon completing this course, students should have a high-level understanding of the role played by each major component of the system, including compiler, operating system, assembler, instruction set, and hardware. Programming assignments will be conducted on the departmental PCs running linux. If you are a linux expert (or wannabee), you may install the tools on your own computer. While a version of the simulator may be available on the department windows computers or on the web, we will only be using the version running on the Linux computers. You must ensure that any programming assignment you turn in functions correctly with the linux installation of the tools. Note that you can log into these computers remotely and run the simulators, using VNC if you want access to the graphical window manager.

Student Evaluation

Your performance in this class will be evaluated through homework assignments, programming assignments, three midterm exams, final exam, participation in your discussion section, and any quizzes we have throughout the semester. Each student's lowest midterm score will automatically be dropped. The weights of each of these components is listed below:

For each midterm exam, you may bring a non-programmable calculator and a single 8 1/2 x 11 sheet of handwritten notes (no photo-reduction). In class exams will be 50 minutes in duration according to the schedule. There will be no make-up quizzes or exams. The final exam is scheduled for:

In-class quizzes will be administered at the discretion of the instructor and will be unannounced. These quizzes will be short and will be open-book/open-note. If you stay up on your reading assignments and are prepared for each lecture, these quizzes should be easy.

The assignments will be a combination of written work and programming work. The written work will help you pace yourself in the reading and in your understanding of lectures. The programming components will teach you how to think like a computer and is vitally important to your understanding of this course.

Assignments will be due at the beginning of class or your assigned discussion section (depending on the due date). Your programming assignments will be submitted electronically and will require you to use your departmental Unix account. You may not email your assignments to the teaching staff. Programs will be graded on correctness, readability, style, and documentation.

You have a "late account" of 3 days for the term which you can spend any way you choose for your assigments. For example, you can turn in three homework assignment one day late each, or one homework assignment 3 days late, without penalty. An assignment is late if it is not turned in at the beginning of your assigned discussion section. It is one day late until 5pm of the day after it is due, two days late from then until 5pm of the second day, and three days late from then until 5pm of third day. Once you have exhausted your late account, no late assignments will be accepted. You are responsible for turning in your assignment to your discussion section TA. The departmental homework drop box will not be used.

Academic Misconduct Policy

You are free to discuss the course material with your classmates and are encouraged to form study groups for the exams. However, collaboration on homework or programming assignments is not permitted unless explicitly stated by the instructor. Helping a friend understand the intent of a homework or programming assignment specification is permitted. Students who work together too closely (e.g. design their solution together) should be aware that this is a form of cheating called COLLUSION and is subject to academic penalties. Penalties for academic misconduct include a failing grade in this course.

The homework, programs, and exams must be the work of students turning them in. University policy (see Dean of Students' policies on academic integrity) will be followed strictly.

Acts that exceed the bounds defined by the approved collaboration practices will be considered cheating. Such acts include:

We urge everyone in the class to take appropriate measures for protecting one's work. You should protect your files, homework solution sheets, etc. as deemed reasonable.

Studying for tests together is permitted and encouraged. Please come talk to us if you are unsure about how to work together with your friend in a legal, helpful manner. Remember, it is always ok to "work together" with your professor or TA!

Your Responsibilities in This Class:

Other General Information

The programming assignments will require use of the Department of Computer Sciences instructional computing resources. All CS students who meet the prerequisites for CS310H are eligible for a CS departmental Microlab account and undergraduate Unix account. Important links:


Course Material Outline
Course Schedule


Last modified: 01/23/09
by Steve Keckler skeckler@cs.utexas.edu