Programming the Machine

Subject COMP20006 (2012)

Note: This is an archived Handbook entry from 2012.

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

This subject has the following teaching availabilities in 2012:

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:

One of the following:

Subject
Study Period Commencement:
Credit Points:
Semester 1, Semester 2
12.50

OR

Admission to the Master of Engineering MC-ENG Master 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 Zoltan Somogyi, Prof Peter Stuckey

Contact

Associate Professor Tim Baldwin

email: tbaldwin@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 medioum scale programs written in a system programminlanguage 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%)
  • 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

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
Related Majors/Minors/Specialisations: B-ENG Software Engineering stream
Master of Engineering (Software)
Science credit subjects* for pre-2008 BSc, BASc and combined degree science courses
Science-credited subjects - new generation B-SCI and B-ENG. Core selective subjects for B-BMED.

Download PDF version.