Catalogue of Modules, University of Nottingham

G51FSE Foundations of Software Engineering
(Last Updated:03 May 2017)

Year  10/11

Total Credits: 10

Level: Level 1

Target Students:  : Qualifying year undergraduate students in the School of Computer Science. Also available to students from other Schools with the agreement of the module convenor.  Available to JYA/Erasmus students.
  This Module has been identified as being particularly suitable for first year students, including those from other Schools.

Taught Semesters:

Spring Assessed by end of Spring Semester 

Prerequisites: None.

Corequisites:  None.

Summary of Content:  

This module is part of the Software Engineering theme in the School of Computer Science.

This module will introduce the concept of Software Engineering as a discipline and will provide an overview of the whole software development process. A selection of fundamental topics in Software Engineering will be covered in depth:

  • Software development methodologies and the software lifecycle, including the waterfall model, extreme programming, etc.
  • Formal requirements and specification, focussing on how to turn an informal design brief into a formal specification.
  • Software testing, evaluation and debugging, including practical use of modern debugging toolkits.
  • Software evolution and maintenance, including version control and collaborative development systems.
  • Method and Frequency of Class:

    ActivityNumber Of WeeksNumber of sessionsDuration of a session
    Lecture 12 weeks2 per week1 hour
    Computing 12 weeks1 per week1 hour

    Activities may take place every teaching week of the Semester or only in specified weeks. It is usually specified above if an activity only takes place in some weeks of a Semester

    Method of Assessment: 

    Assessment TypeWeightRequirements
    Exam 1 50 1 hr written examination 
    Coursework 1 50 Multiple exercises 

    Dr J Greensmith

    Education Aims:  The aim of this module is to provide a general understanding of Software Engineering; the typical phases of the software lifecycle with particular reference to practical specification, design and testing techniques. It serves to prepare students for the various software development projects undertaken throughout their studies and introduces them to important concepts that will be studied in more detail in modules such as Software Engineering Methodologies and Large-Scale System Design.

    Learning Outcomes:  Knowledge and Understanding: The different approaches to managing the software development process. The practice of producing specifications from informal briefs. Knowledge of how to test, debug and change programs. Intellectual Skills: Understand how to represent formal program requirements. Understand how to create and deploy an effective plan for testing software systems. Professional Skills: The ability to apply software engineering methodologies in practical scenarios. The ability to evaluate, select and deploy appropriate tools and techniques. Transferable Skills: The ability to deploy a software development methodology, and to test and debug software, independent of programming language.

    Offering School:  Computer Science

    Use the Back facility of your browser to return to the previous page.

    Module Catalogue Search for another module

    [UoN Welcome Page] Return to The University of Nottingham Welcome Page