DCU Home | Our Courses | Loop | Registry | Library | Search DCU
<< Back to Module List

Latest Module Specifications

Current Academic Year 2025 - 2026

Module Title Algorithms & AI Bot Project
Module Code EEN1092
Faculty Electronic Engineering School Engineering & Computing
NFQ level 8 Credit Rating 5
Description

The aim of this module is two-fold (1) to develop the student’s theoretical knowledge and practical implementation skills in data structures and algorithms. Students will develop an understanding of a range of abstract data types (arrays, sets, lists, stacks, queues, trees, graphs) and algorithms (searching, sorting, tree and graph traversals, computational methods) and gain practical experience in their implementation using C++. Students will learn how to use advanced OOP language features to achieve generic algorithm implementations of practical value. Students will gain an understanding of selection criteria for different data structures and algorithms, suitable for a given application, and develop a well-founded approach to design and evaluation of algorithms based on computational complexity analysis. (2) Students will integrate their knowledge and skills from across second year topics (circuits, electronics, datacomms, embedded systems, programming and algorithms) to design and integrate a complete electronic/comms/software system (an “AI Bot”) which plays a game of strategy against another similar system in real-time. This will develop problem-reduction and problem-solving ability, from abstract solution concept to concrete implementation and by designing and evaluating solutions to open-ended problems.

Learning Outcomes



WorkloadFull time hours per semester
TypeHoursDescription
Lecture20Algorithms and data structures lectures with worked application examples
Laboratory5Lab-based project support teaching sessions
Laboratory12Supervised project lab sessions
Independent Study30Independent project work
Independent Study58Content review - class test and exam prep
Total Workload: 125
Section Breakdown
CRN21446Part of TermSemester 2
Coursework0%Examination Weight0%
Grade Scale40PASSPass Both ElementsY
Resit CategoryRC1Best MarkN
Module Co-ordinatorConor McardleModule Teacher
Assessment Breakdown
TypeDescription% of totalAssessment Date
In Class Test2x class tests on fundamental algorithms topics10%As required
Laboratory PortfolioDesign+experiment notes/ideas log, graded weekly5%As required
Report(s)Final Project Report25%Week 12
PresentationProject presentation, demonstration, Q&A session with peers10%Sem 2 End
Formal ExaminationEnd-of-term computer-based examination – algorithms theory and practice50%End-of-Semester
Reassessment Requirement Type
Resit arrangements are explained by the following categories;
RC1: A resit is available for both* components of the module.
RC2: No resit is available for a 100% coursework module.
RC3: No resit is available for the coursework component where there is a coursework and summative examination element.

* ‘Both’ is used in the context of the module having a coursework/summative examination split; where the module is 100% coursework, there will also be a resit of the assessment

Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities

Introduction
The place of algorithms in engineering applications. Problem formulation and reduction to machine-solvable form. Computational complexity as a key algorithm evaluation criterion. Exploring and evaluating solution approaches to a non-trivial example problem.

Elements of Algorithm Implementation
C++ Review. Primitive types, number representation, promotion and casting, computational pitfalls, machine epsilon. Class types, references, memory management, elementary data structures. Generic types and generic algorithm implementation – C++ templates and the Standard Template Library.

Abstract Data Types & Data Structures
Introduction to ADTs. Sets, Bags, Lists, Stacks, Queues, Graphs, Trees. ADTs versus Data Structures. Sets and Stacks as array-backed data structures. Linked Lists. Stacks and Queues as Linked Lists.

Sorting
Characterisation of sorting algorithms: integer vs comparison sort, in-place, stability. Pigeonhole sorting. Set comparability, partial and total ordering. Review of simple comparison sorting methods. Efficient sorting methods Quick Sort, Merge Sort and their complexity analysis.

Binary Search Trees
Lower bound on searching complexity and relation to Binary Search Trees. BST implementation in C++. BST searching, insertion, deletion. BST Computational Complexity. Full tree traversals.

Graphs and Graph Traversals
Graphs: notation, definitions, and applications. Graph ADT implementation choices. Graph traversal. Depth First Search, spanning trees and DFS recursive implementation in C++. Maze search with DFS. Breadth First Search, Minimum Spanning Trees. BFS implementation with a queue. Prim’s Algorithm (MST of weighted graph) and relation to Dijkstra. Tractable and intractable problems. Travelling Salesman Problem (TSP). Exhaustive search method, TSP complexity. Nearest Neighbour heuristic.

Games and Game Trees
Strategic-form games vs extensive-form games, game trees and utilities. Nim example. Backwards induction, Minimax algorithm as depth-first-search, game tree construction (tic-tac-toe), game complexity, tree pruning.

Project Technical Background
Near-field communications. Review of resonant LC circuits, signal demodulation. Data transmission and encoding, communications protocols and state machines. Real-time programming on microcontrollers in C/C++. Managing complex engineering projects - systems engineering overview – requirements analysis, system architecture and component integration, modelling, testing, risk management.

Indicative Reading List

Books:
  • Robert Sedgewick: 1998, Algorithms in C++, Parts 1-4, Addison-Wesley Professional, 9780201350883
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: 2009, Introduction to Algorithms, 3, MIT Press, 1313, 9780262033848


Articles:
None
Other Resources

  • 1: Lecture Notes, Conor McArdle, 2025, EEN1092 Lecture Notes, Dublin City University

<< Back to Module List View 2024/25 Module Record for