Computer Organization & Systems

Spring 2026

Important course announcements will be posted below and announced in class and on the Ed Discussion forum. You are responsible for all material that appears here and announced via Ed Discussion and should check this page on a regular basis.

Announcements

Scroll to see more announcements. Updates will also be posted on the discussion forum.

  • assign5 Released! Wed May 13 by Nick Assignment 5 has been posted in the assignments dropdown. It is meant to reinforce the topics of assembly translation, reverse engineering, and trust and privacy. The backstory: you have been hired as a security expert for Stanford Bank (a fictional on-campus bank). They need you to investigate reports of infiltration and security issues and replicate the issues so that they can fix them. There are three parts to this assignment, and each one will have you investigate supposed vulnerabilities and assess the risks the bank faces. These problems are like C/assembly "puzzles" to solve, and we hope you enjoy solving them and exploring this material as much as we enjoyed creating them! The assignment is due Saturday 5/23 at 11:59PM PT. For this assignment, the late period is 1 day (with a 95% cap) instead of 2 days as on other assignments so far. In other words, there is no option for submitting 2 days late with an 87.5% cap on assign5. You can find more details on the assignment page. We strongly recommend getting started early on this assignment! We'll also provide more tips and information about parts 2 and 3 in lecture 21 (Fri. 5/15). Check out Ed for more assignment tips and a recommended milestone deadline for each part.

  • assign3 Grades Released Tues May 13 by Nick Assignment 3 grades have been posted to the Gradebook page, along with style feedback for the assignments. The median functionality score (excluding extra credit) was 96/97. Rock on! See Ed for a more in-depth announcement about grading feedback.

  • Midterm Grades Released Mon May 11 by Nick Midterm exam scores have been released via Gradescope, an online course grading website. You can find more information about the exam solutions, statistics, how to see your score, and information about regrade requests, on the midterm grading page here. Congratulations on completing the exam! We have also posted a page containing information about commonly-asked questions heading into the final weeks of the course. We hope you find it helpful!

  • assign4 Released! Wed April 30 by Nick Assignment 4 has been posted on the assignments page. It is meant to reinforce the topic of generics, disclosure and partiality, void * pointers and function pointers, with exercises ranging from implementing your own version of the ls command to implementing your own version of the sort command. We hope you have fun with it! The assignment is due Wed 5/13 at 11:59PM PT. You can find more details on the assignment page.

  • assign2 Grades Released Wed April 29 by Nick Assignment 2 grades have been posted to the Gradebook page, along with style feedback for the assignments. The median functionality score was 98/99. Awesome job! See Ed for a more in-depth announcement about grading feedback.

  • Midterm Exam Tues. 5/5 7-9PM Mon April 27 by Nick The CS107 midterm exam is on Tuesday May 5 from 7-9PM in CEMEX Auditorium. Please see the midterm exam webpage for information about the exam, review materials and study tips. Please reach out to the Exam Logistics TA ASAP if you have accommodations or a conflict with the midterm exam but have not already let us know.

  • assign3 Released! Wed April 22 by Nick Assignment 3 has been posted on the assignments page. It is meant to reinforce the topic of pointers, arrays and heap allocation, with exercises ranging from implementing a convenient version of a C file I/O function to implementing your own versions of the Unix "tail" and "uniq" commands. We hope you have fun with it! The assignment is due Wed 4/29 at 11:59PM PT. You can find more details on the assignment page.

  • assign1 Grades Released Wed April 22 by Nick Assignment 1 grades have been posted to the Gradebook page, along with style feedback for the assignments. The median functionality score on the assignment was 90/90. Awesome job! See Ed for a more in-depth announcement about grading feedback.

  • assign2 Released! Wed April 15 by Nick Assignment 2 has been posted on the assignments page. It is meant to reinforce the topic of C Strings and thorough documentation, with exercises ranging from implementing tools to display environment variables to implementing your own version of the Unix "which" command. We hope you have fun with it! The assignment is due Wed 4/22 at 11:59PM PT. You can find more details on the assignment page.

  • assign0 Grades Released Tues April 14 by Nick Assignment 0 grades have been posted to the Gradebook page, along with style feedback for the assignments. The median functionality score was 26/26. Way to go! Check out Ed for a short debrief of the assignment.

  • assign1 Released! Mon April 6 by Nick Assignment 1 has been posted on the assignments page. It is meant to reinforce the topics of bits, bitwise operators, and integer representations, with exercises ranging from implementing the core "saturated arithmetic" algorithm to a bit-level cell colony simulation to understanding the effects of integer representations on real-world software. We hope you have fun with it! The assignment is due Wed 4/15 at 11:59PM PDT. You can find more details on the assignment page.

    As you start working, we want to include a reminder about the course style guide; it contains an in-depth reference about how to ensure your programs have great style! We have also added a new codecheck tool to this assignment - check out the spec for more information. Additionally, through TA helper hours and the discussion forum, our focus will be on supporting you so that you can track down your own bugs. Please ask us how to best use tools (like the brand-new GDB!), what strategies to consider, and advice about how to improve your debugging process or track down your bug. If you have debugging questions during helper hours, please make sure to gather information and explore the issue on your own first, and fill out the queue questions with this information. Starting with a future assignment, we will require this information when signing up for helper hours for debugging help, so please make sure to provide as much information as possible.

  • Lab Assignments PostedFri. April 3 by Nick We have posted lab assignments - you can view your assignment from the "labs" dropdown in the top toolbar. We did our best to assign everyone to one of their top choices. On this form, if you'd like, you can also join a different lab with space available. Unfortunately, if a lab is full, we are not able to accommodate additional students at this time, but check back later, as enrollments may shift over time.

    Labs start Wed., and during the first week your lab leader will introduce themselves and explain everything about lab and what it's all about. You can find more information about labs and lab policies on the course information page. We'll see you in lab next week!

  • Lab Signups Open 9AM Tues. until Thurs. 11:59PM Mon. March 30 by Nick Lab preferences submissions open tomorrow at 9AM! Anytime until Thursday at 11:59PM PDT, please submit your lab preferences for which lab you would prefer to attend this quarter. Note that preferences are not first-come first-serve; you may fill out your preferences anytime between those dates, and you may come back to update your preferences later as well. You can access the preferences form in the "Labs" dropdown at the top of the page. For more information about labs including attendance, missing labs, and other policies, see the labs section of our course syllabus.

  • Assignment 0 Posted Mon. March 30 by Nick Assignment 0 has been posted under the assignments tab. It is meant as an introduction to Unix and C, with exercises ranging from uncovering who got unauthorized access to a filesystem to modifying a provided C program to accept command-line arguments. We hope you have fun! The assignment is due Mon. 4/6 at 11:59PM PST.

  • Join CS107ACE! Mon. March 30 by Nick If you're looking for more practice and support as you take CS107, consider joining CS107ACE! ACE is a program that provides extra support to students in the School of Engineering. CS107ACE is a 1-unit companion class for CS107 that provides extra help for CS107 in a small classroom setting. Section will go over lecture content and do practice problems as a class. Sections are an opportunity to ask about anything in the course, and in addition to section, there are CS107ACE-specific office hours twice a week. Besides the extra support, ACE is a great community and a fun addition to CS107! Enrollment is by application, and you can find more information here: click here. Once enrollment decisions are made, students who are accepted will then be given a permission number to enroll on Axess. If you have questions, please email Isabel, the ACE TA (iberny@stanford.edu).

  • Welcome! Mon March 30 by Nick Welcome to CS107! Class starts on Monday, March 30th at 11:30AM in CoDa B80. We are looking forward to meeting you and starting off a great quarter together! We'll have more details to come about the details of CS107's spring offering. In the meantime, please feel free to check out the updated FAQ. It covers questions about recorded lectures, conflicting classes, CS107E, CS107ACE, and more. We hope you find it helpful! CGOE students, please check out our CGOE handout for more information on CGOE logistics.

Course Logistics

Lectures: Mon/Wed/Fri 11:30AM-12:20PM in CoDa B80

Labs: Wed/Thu/Fri at various times starting week 2; students sign up for sections after the quarter begins.

Exams:

  • Midterm Exam
    Date/Time: Tuesday, May 5, 7-9PM PDT
    Location: CEMEX Auditorium
    Info: midterm webpage

  • Final Exam
    Date/Time: Wednesday, June 10, 8:30AM-11:30AM PDT
    Location: CEMEX Auditorium
    Info: final exam webpage

Feedback

How are we doing? Submit feedback about the course overall or a specific piece of coursework here.

Course Staff and Contact Information

For any OAE accommodations, please submit your OAE letter via our OAE accommodations form here, and the Head TA will follow up with more information. The extension request form is to request an OAE or non-OAE extension with the Head TA. The Exam Info form is to request an alternate midterm time due to an academic or University conflict where you absolutely cannot make the regularly scheduled midterm, if you need a left-handed desk in the main exam room to take the exam, or if you are a remote/CGOE student who wants to take the exam in person.

OAE Submission Form
Extension Request Form
Exam Info Form

Note that email is not intended for course material or code questions; for those questions, please take advantage of the discussion forum or helper hours!

  • grader listed at the top of your assignment grade report: for questions about assignment style or manual review grades.
  • Assignment Grading Lead TA: Ben Yan (bbyan@stanford.edu) for questions about assignment autograder test scores or other assignment grading questions.
  • Your Lab TA: (see the lab signup page for their email address) for questions about lab attendance grades, or for lab accommodations (e.g. missing a lab due to extenuating circumstances).
  • Exam Logistics Lead TA: Peter Benitez (peterjb3@stanford.edu) for questions about alternate midterms or other exam scheduling questions.
  • Head TA: Julián Rodríguez Cárdenas (julianrc@stanford.edu) for any other matters, such as questions about Office of Accessible Education accommodations or other accommodations, enrollment questions, auditing, or other matters.
  • Instructor: for private/personal matters you would prefer to discuss directly with the instructor: troccoli+cs107@stanford.edu (or troccoli@stanford.edu for non-CS107 matters).
A profile picture for Head TA Julián Rodríguez Cárdenas

Julián Rodríguez Cárdenas
(Head TA)

A profile picture for Assignment Grading Lead Ben Yan

Ben Yan
(Assignment Grading Lead)

A profile picture for Exam Logistics Lead Peter Benitez

Peter Benitez
(Exam Logistics TA)

A profile picture for Lecture Credit Lead Diego Padilla

Diego Padilla
(Lecture Credit Lead)

A profile picture for Ed Lead L'hussen Toure

L'hussen Toure
(Ed Lead)

A profile picture for TA June Lee

June Lee

CS107ACE CA:

A profile picture for ACE TA Isabel Berny

Isabel Berny (iberny@stanford.edu)