|Module Name||Data Structures and Algorithms|
|Module Short Title||N/a.|
|ECTS|| 5 (BAI C, D,CD,)|
|Semester Taught||Semester 1 (BAI C,D,CD,)|
|Contact Hours||Lectures/week: 3|
Lab/week: 1x 3hr
CS3D5A: 88 hours total (BAI CD,)
|Module Personnel||Anton Gerdelan|
- Understand a range of fundamental data structures and algorithms, being able to discuss their advantages, disadvantages, and curiosities.
- Decide on and design data structures and algorithms that are efficient and practicable for a particular software project, being able to reason about their costs and complexities.
- Program data structures and algorithms by hand.
- Know several methods to reason about and evaluate the complexity and performance of candidate solutions to computing problems.
To study well-established computing theory, with special consideration for sorting and searching problems. To develop strong, practical computer programming skills with a sound understanding of available compute and memory hardware resources.
- Sorting algorithms, searching algorithms.
- Arrays, lists, stacks, heaps, maps and hash tables, trees, graphs.
- “Big Oh” approximation, performance analysis techniques.
- C programming techniques. Memory allocation and management.
|Recommended Reading List|
Relevant material on the world-wide web will be introduced.
Assessment is based on 4 assignments (40%), and a final examination (60%).
Assignments provide a programming challenge to apply theory to C programs. Students will submit program source code with a brief written explanation document. Grades are given for having a correct, sound, program that compiles and runs without crashing and solves the problem specified. 10% of assignment grade may be awarded for a written description that clearly conveys understanding of the problem and written code.
The exam with test the breadth and depth of understanding of classic algorithms, and students will demonstrate practical knowledge and ingenuity by solving given problems.
A total mark of at least 40% should be achieved to pass. Late work will not be accepted.
|Academic Year of Data|