This class was tough.
I recommend this course, but it is not for the faint of heart. Dealing with assembly language and operating systems is difficult, but very rewarding if you can put the effort in.
An introduction to assembly and operating systems. This helps greatly in understanding why higher level languages work like they do, and deepened my understanding of how programming languages pass parameters and use registers, as well as how operating systems allow multiple threads to operate simultaneously.
Hours per week:
Advice for students:
Work hard. This class can be tackled by anyone who puts in the time, but you don't want to fall behind. Prioritize the assigned programs, especially understanding why everything works. Applying that knowledge to the practice exams helps cement your understanding of the language.