CS5030 Fundamentals of Software Engineering
Academic year
2025 to 2026 Flexible study
Curricular information may be subject to change
Further information on which modules are specific to your programme.
Key module information
SCOTCAT credits
15
SCQF level
SCQF level 11
Availability restrictions
Not automatically available to General Degree students
Planned timetable
To be arranged.
Module Staff
Dr Dharini Balasubramaniam Module coordinator(s): Director of Postgraduate Teaching - Computer Science (dopgt-cs@st-andrews.ac.uk)
Module description
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-requisites
UNDERGRADUATE - BEFORE TAKING THIS MODULE YOU MUST PASS CS2002 AND (PASS CS2001 OR PASS CS2101)
Co-requisites
POSTGRADUATES -- YOU MUST ALSO TAKE CS5001 OR CS5002
Assessment pattern
3-hour Examination = 40%, Coursework = 60%
Re-assessment
3-hour Examination = 40%, Existing Coursework = 60%
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
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.
CS5030 Fundamentals of Software Engineering
Academic year
2025 to 2026 Semester 1
Curricular information may be subject to change
Further information on which modules are specific to your programme.
Key module information
SCOTCAT credits
15
SCQF level
SCQF level 11
Availability restrictions
Not automatically available to General Degree students
Planned timetable
To be arranged.
Module Staff
Dr Dharini Balasubramaniam Module coordinator(s): Director of Postgraduate Teaching - Computer Science (dopgt-cs@st-andrews.ac.uk)
Module description
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-requisites
UNDERGRADUATE - BEFORE TAKING THIS MODULE YOU MUST PASS CS2002 AND (PASS CS2001 OR PASS CS2101)
Co-requisites
POSTGRADUATES -- YOU MUST ALSO TAKE CS5001 OR CS5002
Assessment pattern
3-hour Examination = 40%, Coursework = 60%
Re-assessment
3-hour Examination = 40%, Existing Coursework = 60%
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
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.
CS5030 Fundamentals of Software Engineering
Academic year
2025 to 2026 Summer after graduation
Curricular information may be subject to change
Further information on which modules are specific to your programme.
Key module information
SCOTCAT credits
15
SCQF level
SCQF level 11
Availability restrictions
Not automatically available to General Degree students
Planned timetable
To be arranged.
Module Staff
Dr Dharini Balasubramaniam Module coordinator(s): Director of Postgraduate Teaching - Computer Science (dopgt-cs@st-andrews.ac.uk)
Module description
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-requisites
UNDERGRADUATE - BEFORE TAKING THIS MODULE YOU MUST PASS CS2002 AND (PASS CS2001 OR PASS CS2101)
Co-requisites
POSTGRADUATES -- YOU MUST ALSO TAKE CS5001 OR CS5002
Assessment pattern
3-hour Examination = 40%, Coursework = 60%
Re-assessment
3-hour Examination = 40%, Existing Coursework = 60%
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
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.