Skip to content

Module Catalogue

Breadcrumbs navigation

CS5030   Fundamentals of Software Engineering

Academic year(s): 2025-2026

Key information

SCOTCAT credits : 15

ECTS credits : 7

Level : SCQF level 11

Semester: 1

Availability restrictions: Not automatically available to General Degree students

Planned timetable: To be arranged.

This module covers fundamental theory and practice of Software Engineering, including important overarching concepts such as the software lifecycle and ethics in software engineering. It covers important software development methodologies including Agile and DevOps, as well as activities, artefacts and notations in software engineering. It covers practical skills including version control, test and behaviour-driven development, continuous integration and build management.

Relationship to other modules

Pre-requisite(s): Postgraduate - Postgraduates -- you must also take CS5001 or CS5002. Undergraduate - Undergraduate - before taking this module you must pass CS2002 and (pass CS2001 or pass CS2101)

Learning and teaching methods and delivery

Weekly contact: 2 hr x 10 weeks lectures, 1 hr x 5 weeks tutorial/discussion.

Scheduled learning hours: 25

Guided independent study hours: 125

Assessment pattern

As used by St Andrews: 3-hour Examination = 40%, Coursework = 60%


Re-assessment: 3-hour Examination = 40%, Existing Coursework = 60%

Personnel

Module teaching staff: Dr Dharini Balasubramaniam Module coordinator(s): Director of Postgraduate Teaching - Computer Science (dopgt-cs@st-andrews.ac.uk)

Intended learning outcomes

  • Identify the key concerns that are common to all software development processes.
  • Select appropriate process models, approaches, techniques and tools to manage a given software development process and justify the choices.
  • Elicit requirements for a software product, translate these into design and implement a working system using the test-driven development approach.
  • Discuss ethics and sustainability issues that affect a given software product.
  • Utilise version control and build management systems to manage a collaborative implementation process.