Course Catalogue

Algorithms & Data Structures 2 UESTCHN3019

  • Academic Session: 2026-27
  • School: School of Engineering
  • Credits: 10
  • Level: Level 3 (SCQF level 9)
  • Typically Offered: Semester 1
  • Available to Visiting Students: No
  • Collaborative Online International Learning: No
  • Curriculum For Life: No

Short Description

To familiarise students with fundamental data types and data structures used in programming, with the design and analysis of algorithms for the manipulation of such structures, and to provide practice in the implementation and use of these structures and algorithms in a Java context.

Timetable

Two 1-hour lectures per week, one 1-hour laboratory every week.

Requirements of Entry

None

Excluded Courses

None

Co-requisites

None

Assessment

1.5 hour examination (80%), coursework (20%).

Main Assessment In: December

Course Aims

To familiarise students with fundamental data types and data structures used in programming, with the design and analysis of algorithms for the manipulation of such structures, and to provide practice in the implementation and use of these structures and algorithms in a Java context.

Intended Learning Outcomes of Course

By the end of the course students will be able to:

1. Use an abstract data type (ADT) and its role in program design;

2. Use stacks, queues, lists, sets and maps, and recognise typical contexts where their use is appropriate;

3. Represent ADTs as Java interfaces;

4. Explain the use of basic data structures; such as arrays; linked lists; binary trees; and hash tables;

5. Implement basic data structures in Java;

6. Represent standard ADTs by means of appropriate data structures;

7. Use recursion as an algorithm design technique in appropriate contexts;

8. Carry out the analysis of a range of algorithms in terms of algorithm analysis and express algorithm complexity using the O notation;

9. Implement standard searching and sorting algorithms; including binary search; mergesort and quicksort; and their complexities;

10. Use a collection in Java; and related concepts such as comparators and iterators;

11. Make use of particular Java collections List; Set; Queue and Map; and their various realisations.

Minimum Requirement for Award of Credits

No exceptions