Module Texts
Data Structures and Algorithms in Java, Goodrich M. T. & Tamassia R., Wiley, 2001
The following texts are recommended as background reading
Algorithms in C, Sedgewick, Addison-Wesley, 1998, Chs 1-6
Java Collections, D A Watt and D F Brown, Wiley, 2001, Chs 1-7
Module Resources
C and/or Java compiler
Module Learning Strategies
Devising solutions to problems, and expressing those solutions in pseudo code.
Actively optimising the benefit to you from tutorials, when you will get practice in algorithmic problems, and individual assistance from your tutor, by preparing for the tutorial as directed.
Considering at every opportunity what alternative approaches might succeed, and asking about them.
Reviewing feedback from the assessed exercises.
There will be 1 lecture and 2 tutorials per week.
Within this module you will be introduced to and/or be able to develop your
- Intellectual skills
- Communication
- Problem solving
Module Learning Outcome
1. Write down some standard problem solutions and be able to suggest alternatives or improvements
2. Derive the efficiency of an algorithm in 'big O' terms
3. Comment on the correctness and efficiency of a solution
4. Critically evaluate a candidate solution to a problem
5. Construct a solution to a previously unseen problem, based on material introduced during the module
This module will also give you opportunity to demonstrate the following skills:
(a) Understanding of a specific body of knowledge and skills
(b) Analyse
(c) Think critically
(d) Evaluate
Module Indicative Content
Identification of algorithmic problems
Methods for developing and implementing algorithms
Problem complexity and algorithmic efficiency
Sorting and searching algorithms
Recursion
Data structures and Abstract Data Types
Module Assessment
A PORTFOLIO weighted at 40%.
A PORTFOLIO OF ANSWERS TO TUTORIAL QUESTIONS weighted at 10%.
A EXAMINATION - UNSEEN IN EXAMINATION CONDITIONS length 1.5 HOUR(S) weighted at 50%.
@
Module Additional Assessment Details
1. Tutorial work (10%) (Learning outcomes 1-5, b-d)
2. Coursework: a set of graded exercises, designed to support the learning process and provide feedback to you (40%) (Learning outcomes 2-5, a-c)
3. A final exam, which will test the material covered during the module (50%) (Learning outcomes 1-5, a-d)