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: