CSCE 312, Fall 2023
Computer Organization
Instructor:
Daniel A. Jiménez,
djimenez@tamu.edu
Office Hours (exclusively over Zoom): To be decided.
Zoom Link: https://tamu.zoom.us/my/djimenez
Teaching Assistant:
Kevin Weston, kevin.weston@tamu.edu
Office hours: To be decided.
Class Times:
Lecture:
Sections 503, 504, 505: Tuesdays and Thursdays, 12:45pm to 2:00pm, ZACH 244
Lab:
Section 503: Tuesdays and Thursdays, 2:35pm to 3:25pm, ZACH 590
Section 504: Tuesdays and Thursdays, 3:55pm to 4:45pm, ZACH 590
Section 505: Tuesdays and Thursdays, 5:30pm to 6:20pm, ZACH 590
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 professor can.
Course Requirements:
-
Homework Assignments:
(15% of grade).
We'll have several homework assignments, many requiring programming.
-
Quizzes:
(20% of grade). There will be quizzes in the lab section.
-
Midterm exams:
(30% of grade). There will be one or two exams during the semester.
-
Last exam:
(35% of grade). There will be a "last" exam near the end of the semester.
Grading
Letter grades will be assigned as follows: A is ≥ 90%; B is ≥ 80%; C is ≥ 70%; D is ≥ 60%; F is < 60%.
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
Unless a programming project or problem set is specifically assigned as a
group project, students are not allowed to work together on assignments. You
may discuss general ideas related to the assignment, but you may not e.g.
share program code or read each others writeups. Instances of such
collaboration 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. You may not copy or paraphrase work in whole or in
part from other sources without giving proper attribution and making it clear
which portions of the work are from other sources. "Other sources" includes
anything that isn't your instructor or teaching assistant, including but not
limited to other people, writing you find on online, programs like ChatGPT,
other large language models, etc. Failure to acknowledge sources is considered
plagiarism.
Academic Integrity Statement
"An Aggie does not lie, cheat, or steal or tolerate those who do."
Upon accepting admission to Texas A&M University, a student immediately
assumes a commitment to uphold the Honor Code, to accept responsibility for
learning and to follow the philosophy and rules of the Honor System. Students
will be required to state their commitment on examinations, research papers,
and other academic work. Ignorance of the rules does not exclude any member of
the Texas A&M University community from the requirements or the processes of
the Honor System. For additional information please visit:
http://www.tamu.edu/aggiehonor.
On all course work, assignments, and examinations at Texas A&M University, the
following Honor Pledge shall be preprinted and signed by the student: "On my
honor, as an Aggie, I have neither given nor received unauthorized aid on this
academic work."
COVID-19 Statement
To help protect Aggieland and stop the spread of COVID-19, Texas A&M
University urges students to be vaccinated and to wear masks in classrooms and
all other academic facilities on campus, including labs. Doing so exemplifies
the Aggie Core Values of respect, leadership, integrity, and selfless service
by putting community concerns above individual preferences. COVID-19 vaccines
and masking — regardless of vaccination status — have been shown to be safe
and effective at reducing spread to others, infection, hospitalization, and
death.