Syllabuses - PG

CS547 - Advanced Topics in Software Engineering

TIMETABLETEACHING MATERIAL
Credits20
Level5
SemesterSemester 1
AvailabilityAvailable only to MSc Advanced Computer Science, MSc Advanced Software Engineering, fifth year MEng Computer Science and fifth year MEng Computer & Electronic Systems students
Prerequisites
CS409 Software Architecture & Design (or equivalent)
Learning Activities BreakdownLectures: 10 | Tutorials: 10 | Labs: 20
Assignments: 100 | Self study: 60
Items of Assessment2
AssessmentA combination of individual or group assignments (50%), and one two-hour examination (50%).
LecturerMarc Roper

Aims and Objectives

To introduce students to a selection of recent advances in software engineering, along with some of the challenges and outstanding problems.

The current focus of the module is on the use of AI-based techniques to address significant software engineering problems, and to put these into practice on real problems and evaluate their effectiveness. 

Learning Outcomes

After completing this class students will be able to:

  • Demonstrate knowledge of a number of AI strategies (such as those based on search or machine learning)
  • Understand some of the key problems in software engineering and their inherent challenges
  • Build, empirically analyse, and critically evaluate AI-based solutions to these problems
  • Demonstrate knowledge of more recent AI-based software engineering developments and alternative strategies

Syllabus

  • Introduction to a selection of AI strategies that have been used on the software engineering domain
  • Theoretical and practical application of AI-based strategies to a range of software engineering problems such as:
    • Regression test selection
    • Multi-objective optimisation and requirements selection
    • Genetic programming and cost estimation
    • Unit test generation
  • More challenging problems such as automated program repair, and also other more recent developments such as graph neural networks, transformers, and code-based LLMs

Recommended Reading

This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.

The class lecturer will recommend a mixture of specific and generic references for each part of the course. Where possible, free online material will be recommended.

This module has a very strong practical component, and very strong coding skills are essential for the successful completion of the assessed coursework and weekly tutorials.

Last updated: 2024-08-12 07:31:51