Faculty of Information Technology
|Faculty||Faculty of Information Technology|
|Offered||Clayton First semester 2013 (Day)|
Sunway First semester 2013 (Day)
Clayton Second semester 2013 (Day)
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; arguing correctness of an algorithm; arguing termination of an algorithm; understanding the efficiency of an algorithm; and limitations of algorithms.
At the completion of this unit students will have -
A knowledge and understanding of:
Developed the skills to:
Developed attitudes that enable them to:
Demonstrated the communication skills necessary to:
Examination (3 hours): 60%; In-semester assessment: 40%
2 hrs lectures/wk, 2 hrs tutorials/wk