Explore UCD

UCD Home >

COMP20290

Academic Year 2024/2025

Algorithms (COMP20290)

Subject:
Computer Science
College:
Science
School:
Computer Science
Level:
2 (Intermediate)
Credits:
5
Module Coordinator:
Dr Fatemeh Golpayegani
Trimester:
Spring
Mode of Delivery:
On Campus
Internship Module:
No
How will I be graded?
Letter grades

Curricular information is subject to change.

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 major concepts:
Introduction to Algorithm Analysis

Pseudo Code

Divide and Conquer Algorithms
Dynamic Programming Algorithms

Greedy Algorithms

Brute Force Algorithms


This module will cover sorting, searching, and data compression algorithms.

About this Module

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

Autonomous Student Learning

58

Total

106


Approaches to Teaching and Learning:
In this module we will follow a hybrid approach to teaching and Learning. This includes the main concepts of the module delivered by lectures, students will then have the opportunity to work in the labs following an active/task-based learning; the assignment is designed to enable group work, and the result of the assignment requires some critical writing and student presentations.

Requirements, Exclusions and Recommendations

Not applicable to this module.


Module Requisites and Incompatibles
Required:
COMP20250 - Introduction to Java, COMP20300 - Java Programming (Mixed Delive, COMP20350 - Object-Oriented Programming

Incompatibles:
COMP20230 - Data Struc & Algorithms (Conv)

Additional Information:
Students must have attempted COMP20350 *OR* COMP20300 *OR* COMP20250 prior to taking this module.


 

Assessment Strategy
Description Timing Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Exam (In-person): Final paper based exam, this exam will include questions on the concepts covered in the module. End of trimester
Duration:
2 hr(s)
Graded No
70
No
Assignment(Including Essay): This assignment is a group work, including understanding a research paper and implementing the proposed methods in the paper. Week 11 Graded No
30
No

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

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, 30, 31, 32 Mon 10:00 - 10:50
Spring Practical Offering 1 Week(s) - 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Thurs 10:00 - 11:50
Spring Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Wed 11:00 - 11:50