Course Description

Google+ Community

Udacity Course

Udacity Refresher Course

Sean's C pointers for programmers

Bhavin Thaker's Illustrated Notes for AOS

Intro to Operating Systems is NOT a prerequisite to this course. This sibling course is less related than the course names would imply. Many do find it helpful to take Intro first as some understanding of an OS's goals helps in this class. Just know it's not directly related and this is not a series of courses.

The projects for this course require a basic understanding of C programming in Linux. You will use some obscure system calls that will have you going back to man pages over and over. If you have to brush up on C, seek understanding of pointers, malloc, free, and structs and the various ways these are used. If you can implement a FIFO queue with arrays and then implement it again with linked lists then you're prepared. Also some C debugger is helpful to have experience with. GDB works fine. People have passed this class learning enough C as they go, so don't worry too much. But do expect projects to take twice as long if you're inexperienced. Experience in C is the reason there is a large disparity in hours per week reported for this class.

There is a joke that AOS is "Advanced Whitepaper Reading". There are many academic papers referenced in the class lectures and tests ask detail (memorization) oriented questions about those papers. Expect to reread papers multiple times while studying.