CS80E: Dissecting The Modern Computer 🖥️

Autumn 2025

Syllabus 📄

CS 80E - Dissecting The Modern Computer - Autumn Quarter 2025

🔑Class Times: Tuesday and Thursday 1:30-2:20PM in Sequoia 200
🔑 Office Hours 2:20-2:50PM (right after class) in the classroom (more TBD)
🔑 Instructor: Trip Master
🔑 Contact: trip@cs.stanford.edu
🔑 Enrollment Information: 2 units, Satisfactory/NC only

Course Information
CS80E is a survey course designed to give students a broad primer on computer hardware and architecture. Students will take a deep-dive into the software-hardware boundary by learning about the increasingly-popular RISC-V ISA. Upon course completion, students will have a more thorough understanding of the computational abstraction stack, offering them wider perspective of the computing landscape. The course is roughly divided into the following topics:
Circuits: We'll spend a bit of time learning about the really low level stuff: signals and circuits. This will follow into a discussion of combinational and sequential logic. By the end of this unit, students should be able to examine a simple pipelined processor diagram.
Processors: We'll look at the simple pipelined processor and examine how it laid the groundwork for today's computational powerhouses.
ISA: At the heart of the hardware-software boundary is the Instruction Set Architecture. We'll use RISC-V to study how we can turn our code into actual hardware production!
Memory: We'll explore the memory hierarchy, from caches to Disk. We will spend most of our time on caches.
Miscellaneous Topics: GPU's, hardware side-channel attacks, and potentially a class-picked topic!

What's with the Prereq?
CS106B or equivalent is a required prerequisite for the course, but given how much of the myth machines / unix we'll be using, CS107 is recommended. As an important note, if you have taken classes like EE108, EE180, or CS149, you should not be enrolled in CS80E, as those classes dive into some of these topics in more depth. Similarly, CS107E alums will see a lot more overlap of material than CS107 students. I envision this class as more-oriented towards students who took CS107 and look back and wish they could try and take CS107E.

Student Requirements to Receive Credit in CS80E
⭐ Attend all lectures + show up on-time! (see attendance for more info)
⭐ Receive passing scores on all assignments.
⭐ Make a good-faith effort to contribute to the learning experience for everyone!

Assignments
CS80E will have 5 homework assignments. Some will be purely written and will be administered via Canvas. Others will be lab-like coding assignments. Students must complete assignments individually and must abide by the University Honor Code when completing work. For written assignments, while you may discuss strategies with classmates, you may not share direct calculations or answers.

Make sure that, if you choose to use LLM's to assist your learning, that you do so responsibly. This is a 2-unit C/NC class -- my hope is that you're here to learn something!

Exams
CS80E will not have exams :). In return, please give it your all on the homeworks and come to class!

Communication
Announcements: will be sent out on Edstem. Please make sure that you've joined!
General public communication: Will also be on Edstem. Did I mention that you should make sure that you've joined?
Individual meetings by request from the student.
Communication with instructor: Send me an email at trip@cs.stanford.edu, and I'll usually respond within 24 hours. Please bear in mind that my response times might be worse at off-peak times (weekends / late at night). If you don't get a response within a reasonable time frame, please ping me again. Don't be shy!

Getting Help
Clarification questions about assignments: ask on Ed! Ed is the best place to get clarification questions. Some of the homeworks are new, so I'm sure there will be places where I'll need to make amendments. Keep your eyes peeled to Ed!
More private questions (attendance, grading, etc.): make a private Ed post! Additionally, for more pressing issues, send Trip an email if you'd like to chat 1:1.
Office Hours: Trip will hold ~2 hours of office hours per week. Office hours will be informal (no queue system), and students are encouraged to attend even if they don't have questions. That being said, students with questions about course content will have priority if things end up getting too crowded.

Attendance Policy
✔️ CS80E will meet twice a week, every week, for a total of 19 classes. Students will be given three "free" absences from lecture, excluding week 1 (which understanbly has schedule craziness). If my math is correct, this means that you must attend 15 of the remaining 18 lectures to receive credit in the class.
✔️ Latness beyond 15 minutes will also count as an absence to class. I will probably try and keep attendance on paper, so please be on time!

Auditors
CS80E does allow auditors, but auditors should not use finite class resources (i.e. Trip's bandwidth), so please refrain from using office hours.

Accessibility
Students who may need academic accommodation based on the impact of a disability must initiate the request with the Office of Accessible Education (OAE). Professional staff will evaluate the request, review appropriate medical documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty. The letter will indicate how long it is to be in effect. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations. Students should also send your accommodation letter to instructors as soon as possible. The OAE is located at 563 Salvatierra Walk (phone: 723-1066, URL: http://oae.stanford.edu).