Show/hide contentOpenClose All
Curricular information is subject to change
On completion of this module, you should be able to:
- understand the process for developing and testing algorithms
- be familiar with Big O notation and complexity analysis
- understand various algorithmic strategies for solving problems
- be familiar with the common sorting, searching and string-based algorithms
- be able to implement, as well as both theoretically and empirically analyze, a wide range of algorithms in Java
This module will cover:
* Introduction to Algorithm Analysis
* Pseudo Code
* Simple Recursive Algorithms
* Backtracking Algorithms
* Divide and Conquer Algorithms
* Dynamic Programming Algorithms
* Greedy Algorithms
* Branch and Bound Algorithms
* Brute Force Algorithms
* Randomized Algorithms
* Calculating Upper and Lower Bounds
Student Effort Type | Hours |
---|---|
Lectures | 24 |
Practical | 24 |
Total | 48 |
Not applicable to this module.
Description | Timing | Component Scale | % of Final Grade | ||
---|---|---|---|---|---|
Continuous Assessment: An algorithm code repository that is maintained over the course of the semester. | Week 12 | n/a | Graded | No | 30 |
Assignment: A java assignment focused on implementing an algorithm. | Week 11 | n/a | Graded | No | 40 |
Multiple Choice Questionnaire: 1 hour multiple choice online test at the end of the semester | End of trimester MCQ | n/a | Graded | No | 30 |
Remediation Type | Remediation Timing |
---|---|
In-Module Resit | Prior to relevant Programme Exam Board |
• Feedback individually to students, post-assessment
Feedback on assessments will be provided to each individual with an opportunity to discuss grades in person offered.