COMP20290 Algorithms

Academic Year 2023/2024

We increasingly live in a world that is driven by algorithms and the services they provide touch our lives in multiple ways, underpinning how we navigate the world, how we retrieve information, how we play and how we manage our health.

In this module, you will learn some of the fundamental and most powerful concepts in computer science that distinguish good programmers from talented computer scientists.

This module will cover the following:
* 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

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

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


Indicative Module Content:

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 Hours: 
Student Effort Type Hours
Lectures

24

Practical

24

Total

48

Approaches to Teaching and Learning:
Lecture based content delivery.
Practical exercises. 
Requirements, Exclusions and Recommendations

Not applicable to this module.


Module Requisites and Incompatibles
Not applicable to this module.
 
Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade
Assignment: The assignment include implementing a set of algorithms related to the module. Throughout the Trimester n/a Graded No

30

Examination: Final Exam. 2 hour End of Trimester Exam No Graded No

70


Carry forward of passed components
No
 
Resit In Terminal Exam
Summer Yes - 2 Hour
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Feedback individually to students, post-assessment

How will my Feedback be Delivered?

Feedback on assessments will be provided to each individual with an opportunity to discuss grades in person offered.

Name Role
Mr Jack Geraghty Tutor
Yuhan Jiao Tutor
Ms Jingao Liu Tutor
Ms Kar Yen Yap Tutor
Mr Oscar Yeoh Tutor
Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
 
Spring
     
Lecture Offering 1 Week(s) - 20, 21, 23, 24, 25, 26, 29, 31, 32, 33 Mon 10:00 - 10:50
Practical Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Thurs 10:00 - 11:50
Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Wed 11:00 - 11:50
Spring