Programming the Machine

Subject 433-297 (2009)

Note: This is an archived Handbook entry from 2009. Search for this in the current handbook

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

This subject has the following teaching availabilities in 2009:

Semester 1, - 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, - 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; 1 two-hour workshop; 1 tutorial (per week)
Total Time Commitment: 120 hours
Prerequisites: 600-152 Informatics 2: People, Data and the Web; or COMP 20005 Engineering Computation.
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 Student Support and Engagement Policy, academic requirements for this subject are articulated in the Subject Overview, Learning Outcomes, Assessment and Generic Skills sections of this entry.

It is University policy to take all reasonable steps to minimise the impact of disability upon academic study, and reasonable adjustments will be made to enhance a student's participation in the University's programs. Students who feel their disability may impact on meeting the requirements of this subject are encouraged to discuss this matter with a Faculty Student Adviser and Student Equity and Disability Support: http://services.unimelb.edu.au/disability

Coordinator

Dr Zoltan Somogyi
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 the subject, students should be able to:
- read typical small and medium scale programs written in a system programming language such as C;
- modify such programs;
- write such programs;
- test and debug 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 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 Computer Science
Bachelor of Engineering
Bachelor of Engineering (Biomedical)Bioinformatics

Download PDF version.