Instructor: Prof. Seth Fogarty Email: sfogarty@trinity.edu
Office: CSI 270M Office Hours: See webpage
Meets: TuTh 2:10-3:25 Room: CSI 388
Textbook: Computer Organization and Design: The Hardware/Software Interface (MIPS) 6th edition, Patteron and Hennessy, 2020
This is an lower division systems course for computer science majors, designed to introduce students to the system of heterogeneous components that underlies programming languages. We will move from programs down to processors. Topics include:
Assembly Language: MIPS instruction set, implementing high-level features, instruction structure, and instruction set architectures.
Hardware Implementation: Executing instructions: from logic gates through arithmetic, processor design, and computer organization.
Program Performance: How performance is influenced by the chain of abstractions between processors and programs.
Students in this course will gain a better understanding of how computers work, the value and difficulty of optimization, and the costs of abstraction. By the end of the course you will be able to:
Write low-level programs in C, manipulate memory addresses with pointers, and understand data layout.
Translate C-style pseudocode into assembly language.
Analyze how instructions are laid out in memory.
Outline the components of a processor, and how they are used to implement different instructions.
Compare instruction set architectures.
Make informed hypotheses about how algorithm and programs design will influence program performance.
Study other topics in systems, such as operating systems, compilers, or computer networks.
Students are expected by abide the Trinity University Honor code. Each assignment will specify precisely how much collaboration is allowed. Further, the use of laptops, tablets, or cell phones during class is prohibited.
Students are expected to attend class regularly. Students who will miss class should contact me before their absence, and complete all assignments ahead of time. Attendance will be tracked by "Minute Essays" at the end of each class.
In line with the Trinity University policy on equal access and equal opportunity, this course will be made accessible to all students. Any student who feels they may need accommodations based on the impact of a disability or long illness should contact me and the office of Student Accessibility Services to discuss your specific needs. Any student who feels they may need accommodations due to remote learning, technology, environment, or other issues should contact me.
This course meets twice a week. Each class will be composed of lectures, in-class activities, and a final minute essay. Assessment is broken down into the following categories.
Class participation accounts for 15% of the course grade. This includes both attendance and assessed in-class activities (if any). Excused absences are, clearly, excused. The penalty for unexcused absences is halved if you tell me ahead of time.
Reading from the textbook will be assigned and assessed, accounting for 20% of the course grade. Reading assessments will be done with short, open-book quizzes composed of short-answer or essay questions. Reading quizzes should be brought to class on the day marked, and must be completed individually. The only resource allowed is the textbook.
Longer-form homework assignments will be released on this webpage, and account for 40% of the final course grade.
The final exam is worth 25% of the final grade.
The following grade cutoffs apply for this course. Grading will be stringent to reflect these cutoffs.