CS181CA: Computer Architecture

Welcome to Computer Architecture! This is a course about the design and organization of computing hardware component – for computer scientists! Topics include the hardware-software interface, the design decisions that influence processor design, how data is stored and used during execution, and so much more! You will learn to use open-software to simulate hardware, and we will use these tools to model real programs all sorts of hardware designs.

Prerequisites: CS105: Computer Systems

Lecture: MWF 10:00-10:50AM (Edmunds 101)

Lab: W 7-8:15PM (Edmunds 105)

Course Feedback: Feel free to notify me of things that are working, not working, or otherwise about this course before/after class/lab, in office hours, or via the anonymous feedback form. This only works if I follow up and make the appropriate changes, so please hold me accountable if I fail to accommodate.

Instructor

Prof. Sam Thomas

samuel.thomas@pomona.edu

Office Hours

Edmunds 112. Monday (2:30-3pm, general; 3-4:30pm CS181CA), Tuesday (1:30-2pm, general; 2-3:30pm, CS181CA), Wednesday (4:30-5:30pm, general), Thursday (9-10am, general). Also by appointment.

Schedule an appointment

Syllabus

Find the full syllabus here. Some points of interest may be found below.

Grading

  • Assignments: 40%
  • Check-Ins: 50%
  • Participation: 10%

Assignments

There are four assignments throughout this course. Assignments are scheduled to take 2-3 weeks, and points are evenly split across written and programming components. For more on what you can expect from assignments in this course, be sure to look at the assignments page.

Check-Ins

There will be 8 Check-Ins through the term (subject to change). Each non-final exam Check-In will introduce 2-4 new questions, and you will be provided adequate time to complete each Check-In during the scheduled class time. Please contact the instructor as soon as possible if you require special accommodations. If you are permitted accommodations, please take them!

Check-Ins are in-class pen-and-paper exams graded using the “Standards Grading” methodology. The aim of this evaluation is to encourage students to demonstrate nuanced proficiency over the materials that we will cover in class without being overly punitive. If you do not receive the top mark on a question in a Check-In, a similar question in the same topic will appear on your next exam. Once you receive top mark, you have demonstrated proficiency over that standard and will no longer be asked about it.

Each question is graded on a scale from 0-2. A score of 0 indicates an incorrect response, and will not receive further feedback. A score of 1 implies the response is close, but is not satisfactory. If you receive a 1, your feedback will indicate why your answer was not a fully satisfactory response. A score of 2 indicates a fully satisfactory response.

The final exam for this course will serve as a final Check-In without any new questions. This way, you have an opportunity to see all topics at least twice. Your overall Check-In score will then be computed as your cumulative score across the term.

Course Policies

Assignment Submissions

All assignments are due at 6:59pm on Wednesday (before lab). If you need an extension, please contact the instructor at least 48 hours before the assignment is due. Expect extensions to be granted for reasons similar to excused absences. Every 48 hours the assignment is late will be a 10% deduction in the overall score.

Note, deadlines are designed for your benefit and the benefit of your peers. Grades are only to be released after all submissions have been made, and failure to meet the deadline prolongs the release of grades for you and your peers.

Attendance Policy

Lecture and lab attendance is strongly encouraged. Students may have up to 4 excused absences (informing the instructor 48+ hours in advance) throughout the semester. Failure to meet the attendance policy may result in lower marks in the participation score.

With this in mind, we live in a post COVID-19 world. If you are feeling unwell, please do not come to class and contact the instructor when you are well. You will be directed to the appropriate resources to get back on track.

Collaboration Policy

While assignment submissions are to be done individually, collaboration on assignments is highly encouraged! Check-Ins are to be done in-class and individually.

AI Policy

This policy is adopted from CS62 (Spring 2025) which was produced by students after class discussion and will serve as a starting template for this course. It has been refined with student feedback!

Use of ChatGPT and other LLMs in this course is permitted under limited circumstances. All use of generative AI must be properly cited and documented, i.e., students should indicate in the header of all submitted code the extent to which they used generated code. Students should save session logs and may be asked to provide these sessions in office hours at the instructor’s discretion.

LLMs should be treated in the same way that you would treat a course TA. This means the following are allowed:

  • Asking to generate a practice problem
  • Asking to explain high level concepts
  • Seeking low-level help (i.e., debugging) by providing “StackOverflow-like” prompts
  • Including “Do not generate code. Only explain the concepts.” in the prompt.

Students may not use LLMs for:

  • Solving homework problems by pasting in the instructions
  • Debugging their code by pasting in the code directly (pasting error messages is allowed)
  • Generating any code for assignments (please include a “Do not generate code” prompt if you are getting assignment help).

Appropriate response to violation of the AI policy will be determined on a case-by-case basis in a meeting with the instructor.

In-Class Discussion Policy

To facilitate effective group discussions, the CS181CA students have refined the suggested polcies from the Brown University Sheridan Center

  • Constructing an inclusive environment in which discussion participants are encouraged to take risks and be willing to be wrong;
  • Ensuring discussion participants come to the discussion prepared to be effective participants;
  • Initiating discussion with engaging, relevant topics or challenges;
  • Encouraging active listening;
  • Helping participants digest what they are hearing;
  • Managing and facilitating the flow of the session;
  • Making clear the statements open for further discussion;
  • As needed, help the group reach a satisfactory closure point.

Additionally, we will adhere to the following strategies for inclusion in group discussions by:

  • Taking active steps towards knowing each other’s names
  • Respecting speakers by limiting electronic usage to non-destructive note taking
  • Leaving room for others to participate by being conscious of the extent of our own participation
  • In smaller group conversations, orienting our chairs and bodies to include everyone in the conversation
  • Respecting non-verbal participation in group discussion

Office Hours Policy

Office hours are a resource for you to use, and are designed to facilitate your learning. Please come to office hours! At the same time, because it is a shared resource, office hours must be equitably distributed. At my discretion, I will set limits on individual feedback in office hours to ensure that other students are able to receive help.

My hours are spread out across time slots throughout the week to accommodate students with different availability. If the scheduled times do not work for you, feel free to schedule an appointment. If a large cohort of students is unavailable for office hours, I will do my best to change my schedule to accommodate.

My office hours are split by course-specific times and general times to increase their frequency and utility. General times are designed to be times to chat about the course, research, life, or otherwise – so feel free to attend these to discuss course materials or otherwise!

Policies Policy

These policies are designed to help facilitate your learning, but no policy is set in stone. Accommodations can be made on a case-by-case basis where appropriate. Please contact your instructor with any concerns. I am happy to try to help however possible!

External Resources

See the full syllabus for a list of relevant college-provided resources.