units

FIT1029

Faculty of Information Technology

# Undergraduate - UnitFIT1029 - Algorithmic problem solving

This unit entry is for students who completed this unit in 2013 only. For students planning to study the unit, please refer to the unit indexes in the the current edition of the Handbook. If you have any queries contact the managing faculty for your course or area of study.

## 6 points, SCA Band 2, 0.125 EFTSL

To find units available for enrolment in the current year, you must make sure you use the indexes and browse unit tool in the current edition of the Handbook.

 Level Undergraduate Faculty Faculty of Information Technology Offered Clayton First semester 2013 (Day)Sunway First semester 2013 (Day)Clayton Second semester 2013 (Day)

### Synopsis

Algorithms are recipes for solving a problem. They are fundamental to computer science and software engineering. Algorithms are the formal foundation of computer programming but also exist independently of computers as systematic problem-solving procedures. This unit introduces algorithmics, the study of algorithms. It is not about programming and coding but rather about understanding and analysing algorithms and about algorithmic problem-solving, i.e. the design of systematic problem-solving procedures. The unit will not require any knowledge of a programming language and is very hands-on. Students will develop algorithms to solve a wide variety of different problems, working individually as well as together in groups and as a class.

Topics include: What is a computational problem and what is an algorithm; basic control structures; basic data structures; modular algorithm structure; recursion; problem-solving strategies for algorithm development; understanding the efficiency of an algorithm; and limitations of algorithms.

### Outcomes

At the completion of this unit students will be able to -

• describe an algorithm consisting of basic structures (sequence, choice, iteration, modules) at the level of detail required for a particular audience;
• demonstrate how basic data structures (list, graphs, trees, sets, tables) function;
• create simple recursive and iterative algorithms;
• evaluate different possible strategies for developing an algorithm and be able to select an appropriate one to solve a given problem;
• apply standard patterns to develop algorithms;
• break problems down into simpler problems;
• determine the complexity of simple algorithms;
• recognise the limitations of algorithms.

### Assessment

Examination (3 hours): 60%; In-semester assessment: 40%

### Contact hours

2 hrs lectures/wk, 2 hrs tutorials/wk