This module aims to strengthen the foundational programming-in-the-small abilities of students via a strong, practical, problem solving focus. Specific topics will include introductory algorithms, algorithm correctness, algorithm runtime, as well as big-O notation. Essential data structures and algorithmic programming skills will be covered, such as arrays, lists and trees, searching and sorting, recursion, and divide and conquer.
Total contact hours: 32
Private study hours: 118
Total study hours: 150
50%: two in-course tests of two hours each. One worth 20% and the other 30%
10%: programming assessment, approximately 15 hours of work.
10%: programming assessment, approximately 15 hours of work.
10%: group programming assessment, approximately 15 hours of work.
10%: programming assessment, approximately 15 hours of work.
10%: programming assessment, approximately 15 hours of work.
Reassessment methods
like-for-like
Skiena, Steven S, "The Algorithm Design Manual", Springer, 2008.
See the library reading list for this module (Canterbury)
The intended subject specific learning outcomes.
On successfully completing the module students will be able to:
1 Read a problem description and apply an appropriate algorithm to solve that problem.
2 Formulate a solution to a problem in algorithmic form using pseudocode.
3 Reason about the correctness of an algorithm.
4 Reason about the runtime of an algorithm.
5 Implement an algorithm as a part of an executable program.
6 Implement basic data structures (e.g. arrays, lists, trees) and use algorithmic techniques (recursion and divide & conquer) to solve well-known problems (searching and sorting), but also how to apply their principles to newly encountered problems.
The intended generic learning outcomes.
On successfully completing the module students will be able to:
1 Work in teams.
2 Communicate their understanding of technical problems and their solutions.
3 Make effective use of IT facilities.
4 Manage their time and resources effectively.
University of Kent makes every effort to ensure that module information is accurate for the relevant academic session and to provide educational services as described. However, courses, services and other matters may be subject to change. Please read our full disclaimer.