School of Computer Science

Module 06-34257 (2021)

Software Engineering and Professional Practice

Level 2/I

Rami Bahsoon Mohammed Bahja Shuo Wang Anis Zarrad Semester 1 20 credits
Co-ordinator: Rami Bahsoon
Reviewer: Mohammed Bahja

The Module Description is a strict subset of this Syllabus Page.


This module introduces students to the field of software engineering and the principles of systematically engineering large scale software systems. The module covers widely used techniques for engineering requirements, designing and modelling, and architecting dependable and evolvable software. The module discusses Software Quality Assurance, testing and project management with appreciation to the economical, legal and ethical aspects.

Learning Outcomes

On successful completion of this module, the student should be able to:

  • Describe and apply techniques for systematically engineering requirements, designing, architecting and testing software systems along with the technical, economical, legal and ethical trade-offs involved.
  • Describe and apply the basic principles of software project management, metrication and quality assurance.
  • Understand advances in industrial software engineering


  • 06-34229 - Object Oriented Programming

Taught with

Cannot be taken with


  • Main Assessments: Continuous assessment (100%)
  • Supplementary Assessments: Continuous assessment (100%) over the Summer period

Programmes containing this module