Programming the Machine

Subject COMP20006 (2010)

Note: This is an archived Handbook entry from 2010.

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

This subject has the following teaching availabilities in 2010:

Semester 1, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period not applicable
Assessment Period End not applicable
Last date to Self-Enrol not applicable
Census Date not applicable
Last date to Withdraw without fail not applicable

Semester 2, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period not applicable
Assessment Period End not applicable
Last date to Self-Enrol not applicable
Census Date not applicable
Last date to Withdraw without fail not applicable

On campus only

Timetable can be viewed here. For information about these dates, click here.
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
Prerequisites:

The prerequisites for this subject are:

600-152 Informatics 2: People, Data and the Web; or 433 296 Engineering Computation; or be enrolled in Masters of Engineering (Software).

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:http://www.services.unimelb.edu.au/disability/

Coordinator

Dr Lee Naish, Dr William Webber, Dr Zoltan Somogyi

Contact

Melbourne School of Engineering Office
Building 173, Grattan Street
The University of Melbourne
VIC 3010 Australia
General telephone enquiries
+ 61 3 8344 6703
+ 61 3 8344 6507
Facsimiles
+ 61 3 9349 2182
+ 61 3 8344 7707
Email
eng-info@unimelb.edu.au

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.
Objectives:

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
Recommended 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.

Notes:

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 Engineering
Bachelor of Engineering (Computer) and Bachelor of Arts
Bachelor of Engineering (Mechatronics) and Bachelor of Computer Science
Bachelor of Science
Related Majors/Minors/Specialisations: Master of Engineering (Software)

Download PDF version.