Introduction to Computer Architecture
CSE 141; Fall 2026
Disclaimer
As discussed at the beginning of the term, we are executing a pivot to something more fun and interesting with our much smaller class. That also means that material here is updating frequently.
Course Staff
Pat Pannuto is the instructor and their office is CSE 3202 (right in the corner). Their email is ppannuto@ucsd.edu; please remember to include CSE141 in the subject line for class issues.
What should you call me?
Most students call me Professor or Professor Pannuto or Dr. Pannuto. I also answer happily to “Prof[essor] P.”
What should I call you?
I should call you by your preferred name, with the correct pronunciation and any honorific or pronouns you choose. Please correct me (out loud in class, or via email/Discord/etc after the fact – however you are most comfortable) if I ever make a mistake.
TAs
Benjamin Resnick (beresnick@ucsd.edu) and Alexander Redding (alredding@ucsd.edu) are the TAs for this course.
Office Hours
- Prof. P: Thursday 11-11:50, CSE 3202
- I'm also generally in my office M–F, 9–3; feel free to drop by!
- Ben: Monday 5-6, Thursday 3:30-4, Friday 11-1 @ CSE 3219 (Embedded Lab)
- Alexander: Thursday 2-4 and Friday 11-1, CSE 3219 (Embedded Lab)
Prerequisites
CSE 140: Components and Design Techniques for Digital Systems is
the required prerequisite for CSE 141.
Transitively,CSE 29: Systems Programming and ToolsandCSE 30: Computer Organization(or equivalent) are thus also required.
(A?)Synchronous?, Remote?, Recordings?
This course is designed for synchronous, in-person instruction.
Grading
Changelog:
- Oct 5: Add EC opportunity for homeworks.
- Oct 6: Add TTC blurb on Test policies.
- Oct 10: Weeks now end Monday at 20:00; milestone graders run Monday night.
- Oct 16: Graders run daily (advisory until the deadline); late work gets no EC; earned points are kept.
A quick reminder: Effective learning comes from active engagement and reinforcement. Activities, assignments, and grading are designed to help with this.
You get out of class what you put into it.
I believe in mastery learning. My goal is to teach you the material and for everyone to learn it. I am most successful if everyone in class earns an A. This class will not be curved.
Category Grading
The course is divided into four categories. Your final grade is your minimum grade from any category.
To keep the math easy, every category has a total of 100 points. For each category, points translate to whole letter grades directly:
| AA >100 |
A [90,100] |
B [80,90) |
C [70,80) |
D [60,70) |
F [0,60) |
|---|
Range notation [80,90) means 80 is included and 90 is not.
In some categories, it is possible to earn more than 100 points (i.e., AA).
One AA grade moves your final grade up one “modifier”, and two or more AAs moves your final grade up at-most two “modifiers”.
To earn a final course grade of an A+, you must have at least two AA grades, one of which must be from the Processor Project Final.
For some concrete examples of how this works:
| Homework | Tests | Milestones | Project Final | Course Grade |
|---|---|---|---|---|
| A | A | B | A | B |
| C | AA | A | B | C+ |
| C | AA | AA | B | B- |
| C | AA | AA | AA | B- |
| A | A | A | A | A |
| AA | AA | AA | A | A |
| AA | A | A | AA | A+ |
Category I: Homework
There is one homework every week, worth 10 points each.
PrairieLearn gives scores in percentages, we convert that to
integer points for each assignment as
floor(pl_percent * 10).
Note + Extra Credit Opportunity:
We are adding a number of new questions this term, and while we try hard to
test extensively, sometimes our question generators can have bugs. If you are
the first person to report a unique bug that we confirm
(please use the Report an error in this question feature in PL)
we will give you +1 pt extra credit for each.
Bug-report EC is only available for Homework, not Tests. (Though, if you do think there was a bug during your test, please do use “Report an error” so we can investigate and give back credit if owed. The point here is to work out any bugs before a question is seen on a test.)
Category II: Tests
There are four tests during the term; three smaller ones during the quarter and a final.
[10 pts]Test One (week 3)[20 pts]Test Two (week 6)[25 pts]Test Three (week 9)[45 pts]Test Four (week 11)
PrairieLearn gives scores in percentages, we convert that to
integer points for each test as
floor(pl_percent * max_possible_points).
Tests for this course will be administered by the Triton Testing Center (TTC) in the Computer-based Testing Facility in AP&M B349 and B432. The TTC's rules concerning tests are the rules for this course.
You must schedule your tests in advance, and it is recommended that you do so as soon as possible. Scheduling for all tests opens on the first day of instruction. To schedule, visit PrairieTest and log in via Google with your UC San Diego credentials. More information about testing policies and procedures can be found on our website. You may also email tritontesting@ucsd.edu for assistance.
FOR STUDENTS WITH OSD APPROVED ACCOMMODATIONS ONLY: If you will be utilizing accommodations for your test, you will take it at the TTC's Pepper Canyon Hall 364 location. You must schedule your test at least three days in advance through the RegisterBlast system (login required). RegisterBlast scheduling is to be done ONLY by students with OSD-approved accommodations. Tests scheduled via RegisterBlast without accommodations will be canceled.
Category III: Processor Project Milestones
Every week, there is a milestone due for the processor project.
Each milestone can earn up to 10 points, with regular opportunities for extra credit.
Milestone assignments come with a suite of public testbenches. (After week 1) there are also “hidden” instructor testbenches and/or “buggy” instructor implementations you must write testbenches to catch.
Generally, milestone grades follow the following structure:
[5 pts]Public tests.[5 pts]Private tests.
Starting a few weeks in, once we're building more real things, milestones will also offer various extra credit opportunities, usually tied to varying performance metrics.
To be eligible for the performance prizes, your submission must first be correct (e.g., pass all public and private test cases).
We grade the last push to your repository's main branch
before the deadline, going by when GitHub received the push (not the commit's
date). A push at exactly the deadline (e.g., 20:00:00) or later is late.
If you do not receive full credit by the milestone deadline, you can
continue to refine your milestone submissions. After the deadline, total points
for a milestone are capped at 8 points, and late submissions are
not eligible for extra credit. You never lose points you have already earned:
if a later submission scores lower, we keep the higher score.
You have very intentionally, very limited attempts on the private test cases. The intent is that you reason about what kinds of things you should test to ensure that hardware is correct.
Our plan is to run the graders for your milestone repos once a day, at 20:00, and email the results to your group. Before the deadline, these runs are only advisory: they report your public test results and an estimate of your points, and say nothing about the private tests. The run at the deadline is the first that records a score, and the first to report how many private test points you earned.
Category IV: Processor Project Final
Details TBA.Resources for Students
Getting Help
First, try to make sure you help yourself by staying up to date with course activities.
Office hours are the perfect place for one-on-one support and asking specific questions. Office hours are most useful after you have worked on the problem for a little while yourself (I usually say that you should struggle with a problem for fifteen full minutes, but not more than fifteen minutes before seeking help). You are not interrupting course staff (TAs or the professors) when you come to office hours. It is literally our job to be available to help you during those times. Office hours are also not restricted to content from class. Folks have asked about research / grad school in CS, how to get jobs in embedded or mobile systems or computer architecture or [...], what other classes to take if they like (or hate!) this stuff, the best coffee shops for working accessible by light rail, tips for developing fruit-bearing trees in San Diego, or anything else that you would like to know about.
The IDEA Engineering Student Center, located just off the lobby of Jacobs Hall, is a hub for student engagement, academic enrichment, personal/professional development, leadership, community involvement, and a respectful learning environment for all. The Center offers a variety of programs, listed in the IDEA Center Facebook page and the Center web site. The IDEA Center programs support both undergraduate students and graduate students.
Diversity and Inclusion
We are committed to fostering a learning environment for this course that supports a diversity of thoughts, perspectives and experiences, and respects your identities (including race, ethnicity, heritage, gender, sex, class, sexuality, religion, ability, age, educational background, etc.). Our goal is to create a diverse and inclusive learning environment where all students feel comfortable and can thrive.
Our instructional staff will make a concerted effort to be welcoming and inclusive to the wide diversity of students in this course. If there is a way we can make you feel more included please let one of the course staff know, either in person, via email/discussion board, or even in a note under the door. Our learning about diverse perspectives and identities is an ongoing process, and we welcome your perspectives and input.
We also expect that you, as a student in this course, will honor and respect your classmates, abiding by the UCSD Principles of Community. Please understand that others’ backgrounds, perspectives and experiences may be different than your own, and help us to build an environment where everyone is respected and feels comfortable. If you experience any sort of harassment or discrimination, please contact the instructor as soon as possible. If you prefer to speak with someone outside of the course, please contact the Office of Prevention of Harassment and Discrimination.
Students with Disabilities
We aim to create an environment in which all students can succeed in this course. If you have a disability, please contact the Office for Students with Disability (OSD), which is located in University Center 202 behind Center Hall, to discuss appropriate accommodations right away. We will work to provide you with the accommodations you need, but you must first provide a current Authorization for Accommodation (AFA) letter issued by the OSD. You are required to present their AFA letters to Faculty (please make arrangements to contact me privately) and to the OSD Liaison in the department in advance so that accommodations may be arranged.
Basic Needs/Food Insecurities
If you are experiencing any basic needs insecurities (food, housing, financial resources), there are resources available on campus to help, including The Hub and the Triton Food Pantry.
Please visit thehub.ucsd.edu for more information.