Skip to main content

Operating Systems and Machine Principles

Enrollment in this course is by invitation only

About This Course

In this unit of study elementary methods for developing robust, efficient, and re-usable software will be covered. The unit is taught in C, in a Unix environment. Specific coding topics include memory management, the pragmatic aspects of implementing data structures such as lists and hash tables and managing concurrent threads. Debugging tools and techniques are discussed and common programming errors are considered along with defensive programming techniques to avoid such errors. Emphasis is placed on using common Unix tools to manage aspects of the software construction process, such as version control and regression testing. The subject is taught from a practical viewpoint and it includes a considerable amount of programming practice.


INFO1105 OR INFO1905.

Course Staff

Course Staff Image #1

Bob Kummerfeld

Bob Kummerfeld is an Associate Professor of Computer Science in the Computer Human Adapted Interaction (CHAI) group, at the School of IT. His research interests lie in distributed user modelling and pervasive computing.

Frequently Asked Questions

Answers to frequently asked questions concerning the online material will be posted here.

  1. Course Number

  2. Classes Start

    Mar 01, 2014
  3. Classes End

    Jun 27, 2014
  4. Estimated Effort