CS 211 Computer Architecture (2025 Fall)

This course covers the fundamental issues in the design of modern computer systems, including the design and implementation of key hardware components such as the processor, memory, and I/O devices, and the software/hardware interface.

Basic information


When and where to find the class

Lectures: Lectures: Tuesdays & Thursdays 3:50 PM – 5:10 PM Eastern Time. Hill Center – Room 114.

Recitations: Recitations will not be recorded. You are strongly recommended to attend recitations prepared with questions about assignments and lectures and make use of the help from TAs.

  • Section 05: Tuesdays 5:55 PM – 5:50 PM SEC-207
  • Section 06: Tuesdays 7:45 PM – 8:40 PM SEC-118
  • Section 07: Thursdays 7:45 PM – 8:40 PM SEC-117
  • Section 08: Tuesdays 7:45 PM – 8:40 PM CCB-1303

The meeting locations and links for each recitation TA is on the class LMS on Canvas.

Office hours: Prof. Yipeng Huang’s office hours TBD CoRE 317.

The TAs have additional office hours; time and meetings links for each TA is on the class LMS on Canvas.


Learning goals

Throughout the course, students will learn about low-level programming, digital logic, and the memory hierarchy via case studies that are representative of real-world computer systems.

Students will apply essential knowledge about computer systems to modify and create new low-level software and hardware implementations via hands-on programming exercises.

At the end of this course, students should have the preliminary skills to design and evaluate solutions involving the computer software-hardware interface to address new problems.

Topics

  • C programming
  • Data representation and computer arithmetic
  • Boolean algebra
  • Assembly language programming
  • Main memory design
  • Cache design
  • Basic digital logic design
  • Processor design

Expected work and grading policy

  • 7 programming assignments (first two assignments are smaller in size); totalling 55% of the course grade.
  • Short timed quizzes; totalling 5% of the course grade.
  • Midterm exam; totalling 15% of the course grade.
  • Cumulative final exam; totalling 25% of the course grade.
  • Class and recitation participation
  • Discussion via Piazza

The course letter grade will be assigned according to this scale. A: 100%–90%. B+: 89.9%–85%. B: 84.9%–80%. C+: 79.9%–75%. C: 74.9%–70%. D: 69.9%–65%.


Syllabus

DateTopic / learning goalsReading assignmentProgramming assignment (PA)
Tuesday, September 2Computer architecture [slides]CS:APP Chapter 1.
Modern C Chapters 1–8.
PA 0 (C control flow, file I/O) released.
Thursday, September 4Accessing ilab, writing, compiling, and running your first C program [slides]
No in-person lecture. See recording
Tuesday, September 9C programming: I/O, pointers [slides]Modern C Chapters 9-14.
Thursday, September 11C programming: Pointers, arrays, memory [slides]PA 0 due.
PA 1 (C arrays, data structures) released.
Tuesday, September 16C Programming: Arrays, functions [slides]
Thursday, September 18C Programming: 2D arrays, pass-by-value vs. pass-by-reference [slides]
Tuesday, September 23C Programming: Functions, pass-by-reference, returns [slides]
Thursday, September 25C Programming: Bugs and debugging [slides]CS:APP Chapter 2.PA 1 due.
PA 2 (C algorithm pattern implementation) released.
Tuesday, September 30C Programming: Graphs
Representing and manipulating information: Bits, bytes, integers [slides]
Thursday, October 2Representing and Manipulating Information: Bits, Ints, and Ops [slides]
Tuesday, October 7Representing and Manipulating Information: Integer operations and fixed point [slides]
Thursday, October 9Representing and Manipulating Information: Fixed point and floating point [slides]PA 2 due.
PA 3 (data representations) released.
Tuesday, October 14Representing and Manipulating Information: Floating point normalized numbers [slides]CS:APP Chapter 3.
Thursday, October 16Representing and Manipulating Information: Floating point denormalized numbers and mastery [slides]
Tuesday, October 21
Machine-Level Representation of Programs: Instruction set architectures [slides]
Thursday, October 23Machine-Level Representation of Programs: Bomblab, addressing modes, arithmetic [slides]PA 3 due.
PA 4 (assembly bomb lab) released.
Tuesday, October 28Class period midterm exam
Thursday, October 30Machine-Level Representation of Programs: Addressing modes [slides]
Tuesday, November 4Machine-Level Representation of Programs: Control Flow, Loops [slides]
Thursday, November 6Machine-Level Representation of Programs: Procedures, Recursion, Data [slides]
Tuesday, November 11Machine-Level Representation of Programs: Procedures, Recursion, Data [slides]CS:APP Chapter 6.PA 4 due.
PA 5 (cache performance lab) released.
Thursday, November 13The memory hierarchy: Cache memories [slides]
Tuesday, November 18The memory hierarchy: Cache placement, replacement, and write policies [slides]
Thursday, November 20The memory hierarchy: Cache placement, replacement, and write policies [slides]
Tuesday, November 25The memory hierarchy: Cache friendly code [slides]PA 5 due.
PA 6 (digital logic) released.
Thursday, November 27Thanksgiving Recess
Tuesday, December 2The basics of logic design: Combinational logic [slides]
Thursday, December 4The basics of logic design: Sequential logic [slides]
Tuesday, December 7Computer architecture [slides]
Wednesday, December 10Regular Classes EndPA 6 due.
Thursday, December 11Reading Day
Friday, December 12Reading Day
Thursday, December 18Final Exam Schedule designated exam time: 4pm – 7pm
Monday, December 22Fall Exams End

Resources

Technology Requirements: Students will need access to the Canvas site, and be able to join class via audio, at minimum.

Please visit the Rutgers Student Tech Guide page for resources available to all students.  If you do not have the appropriate technology for financial reasons, please email Dean of Students deanofstudents@echo.rutgers.edu for assistance.  If you are facing other financial hardships, please visit the Office of Financial Aid at https://financialaid.rutgers.edu/.

Academic Integrity: https://www.cs.rutgers.edu/academics/undergraduate/academic-integrity-policy

http://nbacademicintegrity.rutgers.edu/home-2/academic-integrity-policy

https://nbprovost.rutgers.edu/academic-integrity-students