Not at all important
Somewhat important
Important
Extremely important
Explaining how operating systems provide the abstractions with which programmers and users are familiar
Designing complex software systems
Designing to a well-defined interface
Designing my own interfaces to implement specific functionality
Extending a significant body of code that I did not write
Developing my ability to work in a team
Analyzing how operating systems problems are addressed in different systems
Understanding why particular approaches were taken to address operating systems problems
Gaining factual knowledge (terminology, classifications, methods, trends)
Implementing and modifying complex software systems
Developing specific skills, competencies, and points of view needed by professionals in the field most closely related to this course