Skip to main content Skip to navigation


Learn to: collaborate on the development of software using standard development tools and components to create robust implementations.

Why is this important?

In order to use computers to solve cyber security problems effectively, you must be competent at reading and writing programs in multiple programming languages. You will also need to be able to design and analyse algorithms, select appropriate paradigms, and utilize modern development and testing tools.

This module brings together those fundamental concepts and skills related to the software development process. It provides a foundation for other software-oriented aspects of the programme: programming languages for cyber security, data science for algorithms and complexity in the cyber context, and the cyber context of software engineering.

This module focuses on the cyber context of the entire software development process, identifying those concepts and skills that should be mastered in the first year of the programme.

This includes:

  • the design and simple analysis of algorithms
  • fundamental programming concepts and data structures
  • basic software development methods and tools
Delivery and assessment
14 half-day sessions will be regularly spaced across Year 1. Within each half day session, there will be a mix of lecture, tutorial and practical activity.
A significant feature of the module is the use of group development projects. A single programming language and development environment will be used to exemplify the abstract concepts being developed. You will also spend independent study time gaining familiarity with the language and its associated environment.
Assessment is 100% coursework for this module.

Essential information

Entry Requirements
A level: AAB (STEM subjects preferred)
IB: 36 points (STEM subjects preferred), with a minimum of 4 in English


Degree of Bachelor of Science (BSc)

3 years full time (30 weeks per academic year)

Tuition fees
Find out more about fees and funding

How to apply Undergraduate admissions