Skip to navigation | Skip to main content | Skip to footer
Menu
Menu

COMP62521 Agile and Test-Driven Development syllabus 2017-2018

COMP62521 Agile and Test-Driven Development

Level 6
Credits: 15
Enrolled students: 63

Course leader: Caroline Jay


Additional staff: view all staff

Additional requirements

  • Pre-requisites

    Good understanding of relevant concepts of Software Engineering

Assessment methods

  • 75% Written exam
  • 25% Coursework
Timetable
SemesterEventLocationDayTimeGroup
Sem 1 P2 Lecture 2.19 Thu 10:00 - 13:00 -
Sem 1 P2 Lab 2.25A Thu 14:00 - 17:00 -
Themes to which this unit belongs
  • Software Engineering 1

Overview

This course unit introduces and provides hands-on experience of agile software engineering and Test-Driven Development (TDD). The course will cover various agile methods, but practical work will focus on Scrum.

There is a strong focus on understanding the application of agile skills within an industrial setting, with guest lectures about 'real world' agile development from organisations including the BBC and ThoughtWorks.

Aims

This course unit aims to give students an introduction to the principles and practice of agile software engineering, and how to deploy these within an organisational setting. Through building a significant software system in a team, and reflecting critically on this experience, students will further their understanding of how the software engineering process used affects the development and delivery of software.

Syllabus

The course will cover

  • Key principles of agile software development
  • Evidence demonstrating the efficacy (or otherwise) of an agile approach
  • Test-Driven Development

Feedback methods

Coursework assignments are submitted online and students receive written feedback Blackboard in addition to extensive verbal feedback in the weekly lab sessions.

Study hours

Employability skills

  • Analytical skills
  • Group/team working
  • Project management
  • Oral communication
  • Written communication

Learning outcomes

Programme outcomeUnit learning outcomesAssessment
A1 B2 B3 C1 D1Work effectively as part of a team to build a significant software application.
  • Group coursework
B2 C1 C4 D1Apply the 'Scrum' development method to a software project.
  • Examination
  • Group coursework
B3 C1 C4 D5Gather and prioritise requirements using 'user stories'.
  • Examination
  • Group coursework
B2 C1 D1Apply a Test-Driven Development approach in a software project
  • Group coursework
  • Examination
A1 A3 D3Critically evaluate software engineering methods to determine how and when it is appropriate to use them within an organisational setting.
  • Examination

Reading list

TitleAuthorISBNPublisherYearCore
Beginning Python: from novice to professional (3rd edition)Hetland, Magnus Lie9781484200292Apress2017
User stories applied: for agile software developmentCohn, Mike9780321205681Addison Wesley2004
Test-driven development by exampleBeck, Kent9780321146533Addison Wesley Signature Series2002
Succeeding with Agile: software development using ScrumCohn, Mike9780321579362Addison-Wesley2010

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.