Welcome to Computer Systems, Spring 2025!
Project 2 has been published. Note, there is a pre-submission due on Tuesday, April 8.
Assignment 8 is out. Have fun hacking on xv6!
Assignment 7 is out. It is a modification of the memory allocator from Assignment 5.
Assignment 6 is now available. It asks you to implement a multi-threaded version of merge sort.
There have been some shifts in the assignment schedule, with Assignments 6, 7, and 8 being pushed back. You will still have the appropriate amount of time for each.
Assignment 5 has been published. The purpose of the assignment is to implement a simple user space memory allocator.
Project 1 has been published. The project is a substantial coding exercise and will require some research and experimentation. We will cover more relevant material next week, but you should read it and start working on it as soon as you have a chance.
Assignment 4 is up. It asks you to implement the API for two common data structures. Its purpose is to exercise working with pointers, arrays, and manually managing dynamic memory.
Assignment 3 is available. It asks you to implement two functions in assembly, a main function for a driver and a function that finds the maximum in an array of long integers. Please read the instructions carefully and make sure you understand what is expected for each task.
Assignment 2 has been published. Its purpose is to implement a simple terminal calculator in assembly, practicing working with registers and labelled memory locations, implementing conditional branching, and calling C functions from assembly.
Assignment 1 is available. The purpose of the first assignment is to collect some evidence of the set up work done for Lab 1.
Welcome to Computer Systems! To start, please read the Syllabus and take a look at our Schedule. We look forward to seeing you in class!