Software Engineering (in partnership with KMITL) BSc/MSci
Algorithmics I (H) COMPSCI4009
- Academic Session: 2026-27
- School: School of Computing Science
- Credits: 10
- Level: Level 4 (SCQF level 10)
- Typically Offered: Semester 1
- Available to Visiting Students: Yes
- Collaborative Online International Learning: No
- Curriculum For Life: No
Short Description
To develop the student's skills in the design and analysis of algorithms; To study algorithms for a range of important standard problems; To introduce the student to the theory of NP-completeness together with its practical implications;To make the student aware of fundamental concepts of computability.
Timetable
Two one-hour lectures and one one-hour tutorial per week.
Excluded Courses
None
Co-requisites
None
Assessment
Examination 75%, assessed practical exercise 20% and in-class quizzes 5%.
Main Assessment In: December
Course Aims
To develop the student's skills in the design and analysis of algorithms;
To study algorithms for a range of important standard problems;
To introduce the student to the theory of NP-completeness together with its practical implications;
To make the student aware of fundamental concepts of computability.
Intended Learning Outcomes of Course
By the end of the course the student will be able to:
1. Recognise, and be able to use, standard algorithmic design methods;
2. Apply the basic principles of algorithm analysis;
3. Code standard efficient sorting algorithms;
4. Code fundamental graph algorithms - for search and traversal, shortest paths, minimum spanning trees, and topological sorting;
5. Describe classical algorithms for string searching, string comparison, and text compression;
6. Expound on the basic principles, and the practical implications of, the theory of NP-completeness;
7. Follow NP-completeness proofs for particular problems;
8. Deploy various strategies for dealing with computational problems that are apparently intractable;
9. Provide examples of the computability and unsolvability, and know some standard examples of unsolvable problems.