Introduction and Class Goals
To computer science, operating system is a very interesting subject, due to its great complexities, long history, battling traditions, fundamentally contrasting philosophies, and yet immense impact on our society and way of life, and most of all — the upcoming great paradigm shift due to revolutionary changes in computing architecture. Taking an operating system perspective, many devices commonly considered to be too simple are actually very rightfully a computer with great sophistication. Taking the same perspective, a machine like Jaguar that you read about in newspaper is not THAT much more advanced than your laptop. These factors should help to motivation the need to grasp common design principles and the core set of design constraints in an operating system course. Learning about operating system is also fun, especially because this subject would help to open up your horizon to consider computing systems as a whole. This global perspective is essential for gaining intuition and acumen that will be of a great value when your work in the future.
Specifically in terms of our curriculum's educational outcome, cs361 addresses the following:
- (a) An ability to apply knowledge of computing and mathematics appropriate to the discipline
- (b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
- (c) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
- (d) An ability to function effectively on teams to accomplish a common goal
- (e) An understanding of professional, ethical, legal, security and social issues and responsibilities
- (f) An ability to communicate effectively with a range of audiences
- (g) An ability to analyze the local and global impact of computing on individuals, organizations, and society
- (h) Recognition of the need for and an ability to engage in continuing professional development
- (j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.