ÐÂÏã¸ÛÁùºÏ²Ê¿ª½±½á¹û

XClose

ÐÂÏã¸ÛÁùºÏ²Ê¿ª½±½á¹ûModule Catalogue

Home
Menu

Software Engineering (COMP0010)

Key information

Faculty
Faculty of Engineering Sciences
Teaching department
Computer Science
Credit value
15
Restrictions
Module delivery for UG (FHEQ Level 5) available on BSc Computer Science; MEng Computer Science; MEng Mathematical Computation; BSc Data Science.
Timetable

Alternative credit options

There are no alternative credit options available for this module.

Description

Aims:

This module focusses on designing and building software systems, which these days are often large, complex and long-lived. They are worked on by teams of engineers and changed constantly over their lifetimes. We will look at principles and patterns of software design, where to apply them, and how they may inform our design choices. We will also look at techniques for ensuring that systems you build behave correctly. We show how the application of these makes it possible to evolve systems effectively in a rigorous way.

Intended learning outcomes:

On successful completion of the module, a student will be able to:

  1. Appreciate the wider engineering context that forms the background to developing complex, evolving software-intensive systems.
  2. Apply a range of design patterns and principles to solve particular design problems.
  3. Apply a range of refactoring techniques to improve code quality.
  4. Use a range of tools and techniques for automated software testing, including test-driven development.
  5. Manage risk in making changes to an existing software system through rigorous engineering practices.
  6. Reflect on the appropriateness of different software engineering techniques in different circumstances, and on the quality of the design of an application.

Intended learning outcomes:

On successful completion of the module, a student will be able to:

  • Object Oriented Design Principles.
  • Design Patterns.
  • Software Architecture.
  • Testing.
  • Tools and Processes.

Requisites:

To be eligible to select this module as optional or elective, a student must: ​(1) be registered on a programme and year of study for which it is a formally available; and (2) have taken a module or course in Java programming.

Module deliveries for 2024/25 academic year

Intended teaching term: Term 1 ÌýÌýÌý Undergraduate (FHEQ Level 5)

Teaching and assessment

Mode of study
In person
Methods of assessment
50% Other form of assessment
50% Coursework
Mark scheme
Numeric Marks

Other information

Number of students on module in previous year
151
Module leader
Dr Sergey Mechtaev
Who to contact for more information
cs.undergraduate-students@ucl.ac.uk

Last updated

This module description was last updated on 8th April 2024.

Ìý