COMP2129: Operating Systems and Machine Principles (2011 - Semester 1)
| Unit: | COMP2129: Operating Systems and Machine Principles (6 CP) |
| Mode: | Normal-Day |
| On Offer: | Yes |
| Level: | Intermediate |
| Faculty/School: | School of Computer Science |
| Unit Coordinator/s: |
A/Prof Scholz, Bernhard
|
| Session options: | Semester 1 |
| Versions for this Unit: | |
| Site(s) for this Unit: |
<a href=``http://www.ug.it.usyd.edu.au/~comp2129`` target=``_blank`` title=``Opens in new window.``>http://www.ug.it.usyd.edu.au/~comp2129</a> |
| Campus: | Camperdown/Darlington |
| Pre-Requisites: | None. |
| Brief Handbook Description: | This unit provides an introduction to parallel programming of modern multi-core architectures using C. It introduces the fundamentals of parallel programming, along with an introduction to C and UNIX. The unit also introduces a CUDA, which is an extension of C for massively data-parallel architectures such as GPGPUs. In this unit of study elementary methods for developing robust, efficient and re-usable parallel 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 managing concurrent threads. In the lab, debugging tools and techniques are discusse. Emphasis is placed on using common Unix tools to manage aspects of the software construction process, such as make. The subject is taught from a practical and theoretical viewpoint and it includes a considerable amount of programming practice, using existing tools. |
| Assumed Knowledge: | Programming, INFO1103 and INFO1105. |
| Lecturer/s: |
A/Prof Scholz, Bernhard
|
|||||||||||||||
| Timetable: | COMP2129 Timetable | |||||||||||||||
| Time Commitment: |
|
|||||||||||||||
| T&L Activities: | Laboratory: Laboratory classes help the student consolidate the material presented in lectures. Activities include development of small programs, quizzes and question and answer sessions. |
Attributes listed here represent the key course goals (see Course Map tab) designated for this unit. The list below describes how these attributes are developed through practice in the unit. See Learning Outcomes and Assessment tabs for details of how these attributes are assessed.
| Attribute Development Method | Attribute Developed |
| design and implementation of a program to solve a specified problem | Design and Problem Solving Skills (Level 2) |
| fundamental skills in the Unix operating system at user level | Discipline Specific Expertise (Level 2) |
| fundamental skills in programming and a conceptual understanding of the link between the low level machine and the high level language | Fundamentals of Science and Engineering (Level 2) |
| writing quality code following a systematic process | Professional Values, Judgement and Conduct (Level 1) |
For explanation of attributes and levels see Engineering/IT Graduate Attribute Matrix 2009.
Learning outcomes are the key abilities and knowledge that will be assessed in this unit. They are listed according to the course goal supported by each. See Assessment Tab for details how each outcome is assessed.
Discipline Specific Expertise (Level 2)Higher performance could involve detecting errors in example code, and fixing them using debuggers.
Higher performance could involve slightly more complicated structures such as binary search trees.
Higher performance could involve elegant use of these functions, particularly avoiding idioms which are extremely inefficient.
.Higher performance could involve ability to construct such a regime.
| Assessment Methods: |
|
||||||||||||||||||||||||
| Assessment Description: |
Quiz: A short multiple choice quiz is held at the beginning of each lab session. Assignment: every second week an assignment has to be handed in. Final Exam: The final exam covers all aspects of the course and may involve answering questions about the C language and Unix system, reading short programs and writing short programs, and understanding parallel programming. |
||||||||||||||||||||||||
| Grading: |
|
||||||||||||||||||||||||
| Policies & Procedures: | IMPORTANT: School policy relating to Academic Dishonesty and Plagiarism. In assessing a piece of submitted work, the School of IT may reproduce it entirely, may provide a copy to another member of faculty, and/or to an external plagiarism checking service or in-house computer program and may also maintain a copy of the assignment for future checking purposes and/or allow an external service to do so. Other policies Faculty policies regarding academic honesty and plagiarism, special consideration and appeals in Engineering and Information Technologies can be found on the Faculty's policy page at http://www.eng.usyd.edu.au/policies"> http://www.eng.usyd.edu.au/policies. School and Faculty policies are governed by Academic Board resolutions whose details can be found on the Central Policy Online site at http://www.usyd.edu.au/policy/"> http://www.usyd.edu.au/policy/. Policies regarding assessment formatting, submission methods, late submission penalties and assessment feedback depend on the unit of study. Details of these policies, where applicable, should be found above with other assessment details. |
| Prescribed Text/s: |
Note: Students are expected to have a personal copy of all books listed.
|
| Online Course Content: | http://www.ug.it.usyd.edu.au/~comp2129 |
Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar https://web.timetable.usyd.edu.au/calendar.jsp
| Week | Description |
| Exam Period | Assessment Due: Final Exam |
Course Relations
The following is a list of courses which have added this Unit to their structure.
Course Goals
This unit contributes to the achievement of the following course goals:
| Attribute | Practiced | Assessed |
| Design and Problem Solving Skills (Level 2) | Yes | 0% |
| Discipline Specific Expertise (Level 2) | Yes | 77.77% |
| Fundamentals of Science and Engineering (Level 2) | Yes | 11.11% |
| Information Skills (Level 1) | No | 0% |
| Professional Communication (Level 2) | No | 0% |
| Professional Values, Judgement and Conduct (Level 1) | Yes | 11.11% |
| Teamwork and Project Management (Level 2) | No | 0% |
These goals are selected from Engineering/IT Graduate Attribute Matrix 2009 which defines overall goals for courses where this unit is primarily offered. See Engineering/IT Graduate Attribute Matrix 2009 for details of the attributes and levels to be developed in the course as a whole. Percentage figures alongside each course goal provide a rough indication of their relative weighting in assessment for this unit. Note that not all goals are necessarily part of assessment. Some may be more about practice activity. See Learning outcomes for details of what is assessed in relation to each goal and Assessment for details of how the outcome is assessed. See Attributes for details of practice provided for each goal.