Computer Organization & Systems

Summer 2024

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

Announcements

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

  • Assignment 4 Posted Wednesday July 17th 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 7/24 at 11:59PM PT. You can find more details on the assignment page.

  • Assignment 3 Posted Wednesday July 10th 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 7/17 at 11:59PM PT. You can find more details on the assignment page.

  • Assignment 2 Posted Wednesday July 3rd 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 7/10 at 11:59PM PT. You can find more details on the assignment page.

  • Assignment 1 Posted Wednesday June 28th 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 7/3 at 11:59PM PDT.

  • Assignment 0 Posted Monday June 24th 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 Wed. 6/24 at 11:59PM PST, and there are two free late days on this assignment, please make sure to start early the summer cadence for CS107 is fast!

  • Welcome! Monday June 22nd Welcome to CS107! Class starts on Monday, June 24th at 1:00PM in Packard 101. We are looking forward to meeting you and starting off a great quarter together! We'll have more details to come about. In the meantime, please feel free to check out the updated FAQ. It covers questions about recorded lectures, conflicting classes, 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:00PM-2:15PM in Packard 101

Labs: Available at various times; students sign up for labs after the quarter begins.

Exams:

  • Midterm Exam
    Date/Time: Wednesday, July 17th, 1:00-2:15PM PDT
    Location: Packard 101 (Same as Lecture)
    Info: TBA

  • Final Exam
    Date/Time: Friday, August 16th, 3:30-6:30PM PDT
    Location: TBA
    Info: TBA

Feedback

  • How are we doing? Submit anonymous feedback here.

Course Staff and Contact Information

Instructor email: akeppler@stanford.edu, oadekola@stanford.edu
Head TA email: aaydin06@stanford.edu

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!

Adam Keppler (Instructor)

Ola Adekola (Instructor)

Arman Aydin (Head TA)