Advanced Programming Techniques module (AC52002)

On this page


Module code


Semester: 2


The Module Co-Ordinator is

If you want to talk about an aspect of the module or your work on it, please make an appointment to see the lecturer.

If you use email, please include "AC52002 " in the heading.

About the Module

The module continues on directly from AC51002. More complex programming problems are considered, involving the manipulation of fundamental data structures, and various important algorithms, for example for sorting and searching. The corresponding programs are implemented using C++.The module material is discussed in the lectures (three per week) and during the weekly computer laboratory sessions.When you have finished the module you will have a detailed knowledge of the principles of software development. You will be familiar with the most common data structures and algorithms, and the principles of object-oriented programming and data abstraction. You will have a more detailed knowledge of the C++ programming language, especially of classes and objects.

Credit Rating

There are 20 SCQF points available on this module.

Module Timetable

Week Topics Covered
1 Review of classes and objects, stacks
2 Dynamic arrays, templates, queues, overloading
3 Abstract data types, pointers, linked lists
4 Destructors, copy constructors, linked lists implementation of stacks and queues, Linear and binary searching
5 Trees, implementation in C++, traversals, Binary search trees
6 AVL trees, Hashing
7 Sorting (simple methods), better sorting (heapsort, quicksort, mergesort, radixsort, lower bounds)
8 Derived classes, virtual functions, dynamic binding, polymorphism, abstract base classes, pure virtual functions
9 Graph algorithms (spanning trees, shortest parth)
10 Revision

Assessment and Coursework

Coursework counts for 40% of the final module mark.
The final degree exam counts for 60% of the final module mark.


Marking criteria are provided on My Dundee for all assignments so that you know what we are looking for when we are marking your coursework. Please ensure that you refer to these when completing assignments.

Title Week Given Week Due Effort Expected (hours) Value (%)
Programming assignment 1 2 5 24 20
Programming assignment 2 6 10 24 20


All course material is available on My Dundee. This includes copies of lecture materials, practical exercises, and assignments. The reading list for this module can be accessed from My Dundee and provides recommended materials for completing the module.


This module is available on following courses: