- Develop small-scale programs that take full advantage of object-oriented, functional, or other approaches
- Evaluate the relative merits of different paradigms to address cyber security problems
Programming languages are the medium through which programmers precisely describe concepts, formulate algorithms, and reason about solutions. In the course of your career as a cyber professional you may work with many different languages, separately or together. If developing software, you must understand the programming models underlying different languages and make informed design choices in languages supporting multiple complementary approaches.
You're also likely to need to learn new languages and programming constructs, so you'll need to understand the principles underlying how programming language features are defined, composed, and implemented. The effective use of programming languages, and appreciation of their limitations, also requires a basic knowledge of programming language translation and static program analysis, as well as run-time components such as memory management.
This module will enable you to develop insight into the significant differences between different programming paradigms. Object oriented programming, functional programming, and event driven programming are given special emphasis. You'll develop solutions under these different paradigms to embed the theoretical concepts you're learning into professional practice.
Module content will cover:
- object-oriented programming
- functional programming
- event-driven and reactive programming
- type systems
- program representation
- language translation and execution
- syntax analysis
- compiler semantic analysis
- code generation
Delivery and assessment
10 half-day sessions will be regularly spaced across Year 2. Within each half day session, there will be a mix of lecture, tutorial and practical activity.
Assessment is 70% coursework and 30% exam for this module.
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)
Find out more about fees and funding
How to apply Undergraduate admissions
*This information is applicable for 2018 entry.