Programming the Machine

Subject COMP20006 (2011)

Note: This is an archived Handbook entry from 2011.

Credit Points: 12.50
Level: 2 (Undergraduate)
Dates & Locations:

This subject is not offered in 2011.

Time Commitment: Contact Hours: 2 one-hour lectures per week; 1 two-hour workshop per week; 1 tutorial (per week)
Total Time Commitment: 120 hours

One of the following:

Study Period Commencement:
Credit Points:
Not offered in 2011


Admission to the Master of Engineering (MC-ENG)

Corequisites: None
Recommended Background Knowledge: None
Non Allowed Subjects: 433-252 Software Engineering Principles and Tools
Core Participation Requirements:

For the purposes of considering request for Reasonable Adjustments under the Disability Standards for Education (Cwth 2005), and Students Experiencing Academic Disadvantage Policy, academic requirements for this subject are articulated in the Subject Description, Subject Objectives, Generic Skills and Assessment Requirements of this entry.The University is dedicated to provide support to those with special requirements. Further details on the Disability support scheme can be found at the Disability Liaison Unit Website:


Associate Professor Tim Baldwin


Subject Overview: In many projects, it is important for programmers to have fine control over low-level details of program execution. This subject introduces students to a system programming language that gives programmers this kind of control, and to the knowledge required to use this control to design efficient and effective programs. Topics include: introduction to computer organization; machine level representation of data; programming in an assembly language; programming in a system programming language; using dynamic memory allocation; multi-module programs; build tools; program testing; and standard software development tools such as debuggers.

On successful completion of this subject students should be able to:

  • Read typical small and medium scale programs written in a system programming language such as C; NL
  • Read typical small and medioum scale programs written in a system programming language such as C
  • Test and debug such programs
  • Write such programs
  • Read, modify, test and debug small, simple programs written in an assembly language
  • Judge the relative cost of different operations in higher level languages such as Python
  • Use a command line interface for programming

Assessment: Project work during semester, expected to take about 24 hours (30%); a mid-semester test (10%); and a 2-hour end-of-semester written examination (60%). To pass the subject, students must obtain at least 50% overall, 15/30 in project work, and 35/70 in the mid-semester test and end-of-semester written examination combined.
Prescribed Texts: None
Breadth Options:

This subject potentially can be taken as a breadth subject component for the following courses:

You should visit learn more about breadth subjects and read the breadth requirements for your degree, and should discuss your choice with your student adviser, before deciding on your subjects.

Fees Information: Subject EFTSL, Level, Discipline & Census Date
Generic Skills:

On succesful completion of this subject; students should have an:

  • Ability to apply knowledge of basic science and engineering fundamentals
  • In-depth technical competence in at least one engineering discipline; and
  • Ability to undertake problem identification, formulation and solution


This subject is available as breadth in the following Bachelor Courses: Arts, Commerce, Environments and Music.

This subject is available for science credit to students enrolled in the BSc (both pre-2008 and new degrees), BASc or a combined BSc course.

Students undertaking this subject will be expected to regulary access an internet-enabled computer.

Related Course(s): Bachelor of Computer Science and Bachelor of Laws
Bachelor of Science
Related Majors/Minors/Specialisations: B-ENG Software Engineering stream
Master of Engineering (Mechatronics)
Master of Engineering (Software)
Science credit subjects* for pre-2008 BSc, BASc and combined degree science courses
Related Breadth Track(s): Computer Science

Download PDF version.