Algorithmic Problem Solving

Subject 433-172 (2008)

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

Credit Points: 12.500
Level: Undergraduate
Dates & Locations:

This subject has the following teaching availabilities in 2008:

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


Timetable can be viewed here. For information about these dates, click here.
Time Commitment: Contact Hours: Thirty-six hours of lectures, 11 hours of tutorials, 22 hours of laboratory classes
Total Time Commitment: Not available
Prerequisites: 433-171 Introduction to Programming or 433-151 Introduction to Programming (Advanced) or 433-142 Computing Fundamentals B
Corequisites: None
Recommended Background Knowledge: None
Non Allowed Subjects: None
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

Subject Overview:

The objectives for this subject are for students to build upon their understanding of approaches to solving moderately complex problems with computers, and to be able to demonstrate proficiency in designing and writing programs using both a high-level procedural programming language and a functional language.

Topics covered include algorithmic problem solving; dynamic data types, including list-, tree- and hash-based implementations of dictionary and priority queue data structures; searching and sorting algorithms; elements of functional programming, including lists and tuples, polymorphism, higher-order functions, dynamic tree-based structures, and symbolic computation; and an introduction to systems software including compilers, interpreters, debuggers, profilers and versioning. Programming work will be undertaken in the languages C and Haskell (or an equivalent substitute).

Assessment: Submission of laboratory work on a regular basis during the semester (5%); project work during semester, expected to take about 18 hours (10%); a half-hour mid-semester test (15%); and a 2-hour end-of-semester written examination (70%). To pass the subject, students must obtain at least 50% overall, and 30/70 in the written examination.
Prescribed Texts: None
Breadth Options:

This subject is not available as a breadth subject.

Fees Information: Subject EFTSL, Level, Discipline & Census Date
Generic Skills:
  • ability to apply knowledge of basic science and engineering fundamentals

  • in-depth technical competence in at least one engineering discipline

  • ability to undertake problem identification, formulation and solution

Notes:

Students enrolled in the BSc (pre-2008 degree), BASc or a combined BSc course will receive science credit for the completion of this subject.

Students who have successfully completed 433-171 Introduction to Programming or 433-151 Introduction to Programming (Advanced) must enroll in 433-172 Algorithmic Problem Solving.

Students may not gain credit for both 433-172 Algorithmic Problem Solving and either 433-141 Computing Fundamentals A, or 433-152 Algorithmic Problem Solving (Advanced).

Related Course(s): Bachelor of Arts
Bachelor of Engineering (Biomedical)Bioinformatics

Download PDF version.