CS120. Introduction to Computer Organization

Introduces the concept of computers and information systems by presenting the process of computation as a hierarchy of virtual machines, beginning with the hardware and moving upward through various levels of increasingly sophisticated software. This course outlines the facilities provided by each virtual machine, along with the mechanisms and software tools that lead to the realization of the hierarchy.

Prerequisites: none

Syllabus:

Units covered:
AR2 Machine level representation of data   1 core hour (of 3)
AR3 Assembly level machine organization   3 core hours (of 9)
AR6 Functional organization   1 core hour (of 7)
OS2 Operating system principles   1 core hour (of 2)
NC1 Introduction to net-centric computing   1 core hour (of 2)
NC2 Communication and networking   4 core hours (of 7)
NC4 The web as an example of client-server computing   2 core hours (of 3)
PL3 Introduction to language translation   1 core hour (of 2)
HC1 Foundations of human-computer interaction   3 core hours (of 6)
HC2 Building a simple graphical user interface   2 core hours
HC3 Human-centered software evaluation   3 hours
HC4 Human-centered software development   3 hours
IS1 Fundamental issues in intelligent systems   1 core hour
IS2 Search and constraint satisfaction   2 core hours (of 5)
IM1 Information models and systems   2 core hours (of 3)
IM2 Database systems   1 core hour (of 3)
SP1 History of computing   1 core hour
SP2 Social context of computing   2 core hours (of 3)
SP4 Professional and ethical responsibilities   1 core hour (of 3)
SP6 Intellectual property   1 core hour (of 3)
  Elective topics   4 hours

Notes:
Computer systems appear to be immensely complex. Yet when viewed as a hierarchy of abstract (or virtual) machines, their construction takes on an elegance and sophistication that illustrates vital aspects of the discipline of computer science. The purpose of this course is to consider the various commonly understood virtual machines, to consider the facilities and mechanisms provided by each virtual machine, and to consider the nature of the mechanisms or software tools that lead to the realisation of the different levels in the hierarchy.

In addressing this material there is a challenge in terms of ensuring that the material is presented in a manner that is interesting and exciting. An up-to-date description of a computer system can help to set expectations and provide motivation for further study. The treatment should recognize the importance not just of traditional data but also of sound, video, and so forth.

Given the wide range of resources available via the World-Wide Web, there is enormous scope for using this module to teach students a range of personal and transferable skills: undergraduate research, presentational skills of various kinds, and so on. At the same time, it is essential that students recognize there are problems in dealing with vast volumes of information.

For their own purposes, students will need to be able to cope with a range of e-mail messages of varying importance, documents or information for different classes, web site references, software tools, case studies and illustrations, and so on. If properly and carefully structured, these tools can be used to create environments for efficient and effective operation. Thus, the material in this course should be of high value to students. In more general terms, the same principles can be used to create environments with a range of possible uses: learning, desk-top publishing, project management, information retrieval and web searching, computer graphics and animation, developing computer games, and so on. The principles outlined in this course should provide a framework for these other areas.

Online resources for CS120


 
CC2001 Report
December 15, 2001