What are code reviews? Code reviews are the peer review of source code in order to improve the quality of the code and the programmer`s skills. For us, we`ll be focused...
Homework 1 First Steps In this homework we set up the class environment, and practice some C programming. There are many things to do in this homework, and some...
Homework 2 functions calls and memory management In this homework, we study how parameters are passed and memory is allocated throughout the execution of a program...
Homework 3 Data structures in C In this homework, we practice our C skills by implementing a String data structure, and testing our implementations against each...
Homework 4 homebrew command line interpreter The command line interpreter, or `shell` in Unix is an incredibly powerful tool in the hands of an experienced user...
Homework 5 Concurrent Elevator Controller A M story highrise has N elevators in a single `elevator bank`, each able to serve every floor of the building. Contrary...
Homework 6 elevator scheduling This is our first 10 point, 2 week homework. Compared to our previous (5 point) homeworks, there will be less emphasis on basic programming...
Homework 7: DIY Memory Allocator User programs typically allocate memory using the standard library functions malloc() and free() . These are userspace functions...
SyntaxHighlighter.all() Homework 8 Build your own debugger In this homework we`ll be building a stripped down version of gdb. The template solution comes with a...
Homebrew file system In this homework, we create our own filesystem kernel module. The template code provides a `skeleton` file system module, which can be loaded...
Homeworks Homeworks are due in the svn repository by start of class on Tuesdays. Make sure that your turn in is correct by checking it out in a fresh directory, building...
Lecture Recordings To download a lecture, simply tack on `movie.f4v` to the end of the URL of the lecture below. C Programming 1 Introduction to Operating Systems...
Doing Homeworks with Subversion Knowing how to use a revision control system is an essential skill for a software developer, and subversion (svn) is one of the more...
This is a subscription service to be automatically notified by e mail when topics change in this 1 web. This is a convenient service, so you do not have to come...
CS385spring12 Web Preferences The following settings are web preferences of the CS385spring12 web. These preferences overwrite the site level preferences...