The Unix Model Curriculum is a detailed plan for teaching all the important concepts necessary for an introductory course in Unix and Linux. The Unix Model Curriculum was developed by Harley Hahn to help instructors decide which topics to teach and the order in which to teach them.
Unix as a Part of Computer Science
One of the most interesting aspects of teaching Unix is that, unlike other areas of computer science, there is no standard curriculum. This, in spite of the fact that Unix is a mature area of study, having been taught for well over two decades.
This seeming paradox is explained by the observation that, for many years, Unix was considered to be merely a technology, rather than a part of computer science. As such, instruction in Unix was confined mostly to explaining how to carry out various tasks such as using the shell, entering commands, manipulating files, running programs, and so on. For programming students, Unix was presented only as a vehicle for writing and testing programs. To be sure, some operating systems teachers considered Unix to be a classical system, important enough to be studied from a historical point of view. To suggest, however, that Unix should be recognized as a legitimate topic within computer science was, for many years, considered to be far-fetched.
Today, however, this viewpoint is changing with the realization that the study of Unix and Linux form an important part of the computer science curriculum. There are several reasons for this change.
First, the history of Unix is the best example we have of a well-designed computing system that has evolved and survived for more than a (human) generation. There are, indeed, many people using Unix whose fathers and mothers used Unix.
Second, most parts of Unix were designed by computer scientists or programmers well versed in basic computer science. Thus, a proper study of Unix affords the student a chance to see computer science in action. This naturally leads to the study of more mainstream topics, such as data structures and number systems. For example, in Harley Hahn's Guide to Unix and Linux, I discuss trees in Chapters 9 and 23; stacks in Chapter 8 and 24; and the hexadecimal, octal and binary number systems in Chapter 21.
Finally, the Unix culture was the crucible from which Linux and the Open Source movement emerged in the 1990s. Thus, the study of Unix affords the student the background necessary to understand, appreciate, and (perhaps) contribute to these important international efforts.
The Unix Model Curriculum was created to promote the teaching of introductory Unix and Linux in this way. The intention is that teachers will consider this curriculum as a standard to help them plan a Unix course appropriate for the needs of their students and the number of available hours of classroom time.