Instructor:
Daniel A. Jiménez,
djimenez@tamu.edu
Office Hours (exclusively over Zoom): Tuesdays at 9:30am to 11:00am.
Zoom Link: https://tamu.zoom.us/my/djimenez
Teaching Assistants:
Class Times:
Lecture:
Sections 504, 505, 506, and 507: Tuesdays and Thursdays, 12:45pm to 2:00pm, HRBB 124
Sections 508, 509, 510, and 511: Tuesdays and Thursdays, 2:20pm to 3:35pm, HRBB 124
Lab:
Section 504: Mondays and Wednesdays, 5:45pm to 6:35pm, ZACH 596. TA: Brady Testa
Section 505: Mondays and Wednesdays, 7:00pm to 7:50pm, ZACH 596. TA: Brady Testa
Section 506: Mondays and Wednesdays, 12:40pm to 1:30pm, ZACH 598. TA: Sagar Adhikari
Section 507: Mondays and Wednesdays, 1:50pm to 2:40pm, ZACH 598. TA: Sagar Adhikari
Section 508: Mondays and Wednesdays, 3:00pm to 3:50pm, ZACH 598. TA: Brady Testa
Section 509: Mondays and Wednesdays, 4:10pm to 5:00pm, ZACH 598. TA: Brady Testa
Section 510: Mondays and Wednesdays, 5:45pm to 6:35pm, ZACH 598. TA: Sagar Adhikari
Section 511: Mondays and Wednesdays, 7:00pm to 7:50pm, ZACH 598. TA: Sagar Adhikari
Textbook: Computer Systems: A Programmer's Perspective by Randal E. Bryant and David O'Hallaron (3rd Editon), ISBN 978-0134092669 (Note: You have to get the 3rd edition. The 2nd edition won't work.)
From the Undergraduate Catalog:CSCE 312 Computer Organization
Credits 4. 3 Lecture Hours. 2 Lab Hours
Introduction to computer systems from programmer's perspective: simple logic design, data representation and processor architecture, programming of processors, memory, control flow, input/output, and performance measurements; hands-on lab assignments.
Prerequisites: CSCE 221 or concurrent enrollment. Junior or senior classification or approval of instructor.
From the professor:
Think of the computer as an 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 Lab Section
Your teaching assistant will lead a lab covering the topics presented
the lecture. The TA will administer quizzes, discuss assignments, answer
you questions, 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.
Course Requirements: