Update 04/07/2020: The best way to learn is to think it on your own and later figure out what you missed rather than look through the code and re-write it. Some issues are still to be resolved.
Semester: Spring 2019
Syllabus: rabihyounes.com/650s19.html
Course decription: Focuses on a range of topics that are central to both the design of operating systems and the programming system-level software. Students will apply knowledge of basic concepts in operating systems, networking, and programming towards these two areas. Topics covered will include concurrency, process management, hypervisors, networking, security, databases, and file systems. Students will be expected to demonstrate their understanding in these areas through a series of programming assignments covering these topics.