Computer Organization & Systems

Spring 2024

Important course announcements will be posted below, on Ed, and announced in class. You are responsible for all material that appears here and should check this page for updates frequently.


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

  • assign1 Released! Tues April 9 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 particle 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/17 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 QueueStatus 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 PostedMon. April 8 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 this 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 this week!

  • Lab Signups Open 12PM Tues. until Sat. 5PM Tues. April 2 by Nick Lab preferences submissions open today at 12PM! Anytime until Saturday at 5PM 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. April 1 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/8 at 11:59PM PST, and there are no late submissions accepted on this assignment (except for OAE accommodations or granted extensions), so please make sure to submit by the deadline.

  • Join CS107ACE! Mon. April 1 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 on the CS107ACE course website 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 Jessica, the ACE TA (

  • Welcome! Mon April 1 by Nick Welcome to CS107! Class starts on Monday, April 1st at 1:30PM in NVIDIA Auditorium. 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! SCPD students, please check out our SCPD handout for more information on SCPD logistics.

Course Logistics

Lectures: Mon/Wed/Fri 1:30PM-2:20PM in NVIDIA Auditorium

Labs: Wed/Thu/Fri at various times; students sign up for labs after the quarter begins.


  • Midterm Exam
    Date/Time: Tuesday, May 7th, 7-9PM PDT
    Location: TBA
    Info: midterm webpage

  • Final Exam
    Date/Time: Monday, June 10th, 3:30-6:30PM PDT
    Location: TBA
    Info: final exam webpage


  • How are we doing? Submit anonymous feedback here.

Course Staff and Contact Information

Instructor email: for CS107 emails, for non-CS107 emails
Head TA email:

You can email the Head TA for requests of a personal nature, such as about: Office of Accessible Education accommodations, alternate exams, extension requests or other accommodations, assignment autograder test scores, enrollment questions, auditing, or other personal matters.

You can email the instructor for questions about private/personal matters.

You can email the grader listed at the top of your assignment grade report if you have questions about assignment style or manual review grades - for questions about assignment autograder test scores, please email the Head TA.

You can email your Lab TA for questions about lab attendance grades, or for lab accommodations (e.g. missing a lab due to extenuating circumstances).

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!

A profile picture for Head TA Ola Adekola

Ola Adekola (Head TA)

A profile picture for TA Andreea Jitaru

Andreea Jitaru

A profile picture for TA Arman Aydin

Arman Aydin

A profile picture for TA Carolina Borbon Miranda

Carolina Borbon Miranda

A profile picture for TA Hari Vallabhaneni

Hari Vallabhaneni

A profile picture for TA Kamran Ahmed

Kamran Ahmed

A profile picture for TA Luke Babbitt

Luke Babbitt

A profile picture for TA Michael Granado

Michael Granado

A profile picture for TA Sophie Andrews

Sophie Andrews

A profile picture for TA Trevor Carrell

Trevor Carrell

A profile picture for TA Zoe Kaputa

Zoe Kaputa


A profile picture for ACE TA Jessica Yu

Jessica Yu (

CS107 Embedded Ethics: