433-172 Algorithmic Problem Solving | |
|---|---|
Note | 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). |
Credit Points | 12.5 |
Prerequisites | 433-171 Introduction to Programming or 433-151 Introduction to Programming (Advanced) or 433-142 Computing Fundamentals B. |
Semester | 1, repeat 2 (view timetable) |
Contact | Thirty-six hours of lectures, 11 hours of tutorials, 22 hours of laboratory classes |
Subject Description | 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). |
Generic Skills |
|
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. |
Status: Official 2007 Last Modified: Tuesday October 31 22:20 SGML to HTML Conversion: Information Division - CWIS (SDI) Authorised by: Academic Registrar Enquiries: http://unimelb.custhelp.com/