units

FIT2004

Faculty of Information Technology

Skip to content | Change text size
 

print version

Monash University Handbook 2010 Undergraduate - Unit

6 points, SCA Band 2, 0.125 EFTSL

LevelUndergraduate
FacultyFaculty of Information Technology
OfferedClayton First semester 2010 (Day)
Clayton Second semester 2010 (Day)
Sunway First semester 2010 (Day)
Coordinator(s)Associate Professor Graham Farr/Associate Professor Bin Qiu

Synopsis

This unit introduces students to problem solving concepts and techniques fundamental to the science of programming. In doing this it covers problem specification, algorithmic design, analysis and implementation. Detailed topics include analysis of best-, average- and worst-case time- and space-complexity; introduction to numerical algorithms; recursion; advanced data structures such as heaps and B-trees; hashing; sorting algorithms; searching algorithms; graph algorithms; and numerical computing.

Objectives

At the completion of this unit students will have:

  • understanding of a formal specification;
  • ability to create a formal specification for an informal problem;
  • knowledge and understanding of algorithmic properties such as correctness, termination and complexity;
  • ability to, given a non-trivial algorithm, formally prove certain properties, such as correctness and termination;
  • ability, given a non-trivial algorithm, to determine its best- average- and worst-case, time- and space-complexity;
  • knowledge and understanding of reasonably complex data structures such as minimum spanning trees, and Directed and Undirected, Weighted and Unweighted Graphs;
  • ability to design and implement new non-trivial algorithms using complex data structures;
  • knowledge of and ability to use algorithmic paradigms such as divide and conquer, greedy, dynamic programming and so on;
  • ability to identify these paradigms in diverse algorithms;
  • knowledge and understanding of the issues involved in implementing a non-trivial algorithm efficiently.
Developed attitudes that enable them to:
  • carefully design and/or analyse the algorithms they are using in order to verify important properties such as correctness, termination, and complexity.P1. Identify the key features of a brief informal problem description and abstract the underlying formal problem.
Developed the skills to:
  • create their own data structures.
  • create a new algorithm to solve a new problem.
  • make a formal argument about desirable properties of the solution.
  • adapt an existing algorithm and/or data-structure where that is possible and appropriate.
  • implement a non-trivial algorithm efficiently.
Demonstrated the communication skills necessary to:
  • make a formal argument that an algorithm and/or data-structure has a given property, such as correctness, termination or complexity.

Assessment

Examination (3 hours): 70%; In-semester assessment: 30%

Chief examiner(s)

Associate Professor Bernd Meyer

Contact hours

2 hrs lectures/wk, 3 hr laboratory/fortnight, 1 hr tutorial/fortnight

Prerequisites

One of CSE1303, FIT1008, FIT1015 and two of MAT1841, MAT1830, MTH1020, MTH1030, MTH1112, MTH2010

Prohibitions

CSE2304, FIT2009

Additional information on this unit is available from the faculty at:

http://www.infotech.monash.edu.au/units/fit2004