CS 3843, Spring 2011
Computer Organization

Instructor: Daniel A. Jiménez, dj@cs.utsa.edu
Office: SB 4.01.58
Office Hours: Mondays at 2:00pm to 3:00pm

Teaching Assistant: Xinran Yu (xyu@cs.utsa.edu)

Class Times:
Lecture:
Mondays, Wednesdays, and Fridays, 1:00pm to 1:50pm, BB 3.01.12
Recitation (CS 3841):
Section 1: Fridays, 12:00pm to 12:50pm, SB 3.01.04
Section 2: Wednesdays, 12:00pm to 12:50pm, SB 3.01.04

Textbook: Computer Systems: A Programmer's Perspective by Randal E. Bryant and David O'Hallaron 2nd Editon, ISBN number 9780136108047

Prerequisites: CS 2211 and CS 2213. Concurrent enrollment in CS 3841 is required.

From the Undergraduate Catalog:

3843 Computer Organization
(3-0) 3 hours credit. Prerequisites: CS 2211 and CS 2213. Concurrent enrollment in CS 3841 is required.
Organization of a computer system is introduced at block diagram level. Programming in assembly language and understanding the macroarchitecture of a computer is emphasized. Fundamentals of digital systems are introduced and the designs of various components used are investigated. (Formerly CS 2733. Credit cannot be earned for both CS 3843 and CS 2733.)

From the professor:

Think of the computer as a automobile. So far, you have begun to learn how to drive, that is, to program the computer in a high-level programming language. But what goes on under the hood? That is, what are the mechanisms underneath the programming language that cause your program to execute? This class will provide an answer to that question. You will learn a little about digital logic design. You will learn how simple electronic devices are linked together to form the complex computer systems we use. You will see how information is represented and how representations can have an impact on the programs you write. Many of the mysteries behind the sometimes strange behavior of high-level programming languages will be revealed. You will learn a very low-level programming language called assembly language that is part of the interface between software and hardware. You will learn how details of the implementation of the computer, such as the memory system, can affect the performance of your programs. When you leave this class, you will have developed an accurate mental model of the way computers work so that when you write programs in a high-level language you will have a good idea of what is really going on when your program runs. Thus, you will become a better programmer.

This class has two big parts: digital logic design and assembly language. Assembly language is the bigger part so we'll do digital logic design first. There are little parts, too, that we'll pick up along the way.

About The Recitation Section

Your teaching assistant will lead a recitation covering the topics presented the lecture. The TA will administer quizzes, discuss assignments, answer you question, and in general serve as a resource to give you a better idea of what is going on in the class than your crazy absent-minded professor can. Attendance at the recitation is mandatory.

Course Requirements:

Policy on Assignments and Tests

Late assignments are not accepted. If you have not completed an assignment by the time it is due, turn in what you have for partial credit. Make-up tests are generally not given except for university sanctioned reasons, such as religious holidays, documented illnesses, catastrophic events, or other grave situations. You must inform the professor before missing the test. Quizzes may not be made up.

Academic Dishonesty

In CS 3843, you may not work together with anyone else on your assignments. You may not turn in someone else's work as your own. You may discuss general ideas related to the assignment with others, but you may not e.g. share program code or read each others' answers. You may not submit others' work as your own, no matter what the source was. If you are unsure whether your actions constitute forbidden collaboration, stop what you're doing and ask the professor. You may not communicate with each other or bring unauthorized objects during exams. Instances of academic dishonesty will be dealt with harshly, but the real cost comes when a student doesn't know how to answer questions on a test about issues involved in doing an assignment. The exams and some quizzes will be designed such that it will be impossible to receive a passing grade without having done the homework assignments by yourself.