User Tools

Site Tools



Module UFCFEU-30-1 Level 4 30 credits

Module team leader: Emma Littlefair


This module introduces students to the core concepts of programming with an introduction to algorithms and the characteristics of programming paradigms. Appropriate programming languages will be chosen to illustrate the concepts. It is not the intent of this module to teach apprentices to become proficient programmers. If this is a requirement of their employment, then it will be the employer’s responsibility.

Among the topics included in this module are: introduction to algorithms, procedural, object-orientated & event-driven programming, the integrated development environment and the debugging process.

Development lifecycles and processes are covered along with code repositories and version management

You will cover:

  • algorithms and program design
  • fundamental programming concepts
  • fundamental data structures
  • typical program development environment and methods
  • object-oriented programming
  • functional programming
  • event driven and reactive programming
  • language translation and execution
  • syntax analysis
  • compiler semantic analysis;
  • code generation
  • coding in assembly language
  • machine code
  • scripting languages
  • database query language
  • the different aspects of the software development lifecycle and how they combine to deliver successful outcome, for example: need, design, trade-offs, implementation, deployment, support, evolution, validation, verification and assurance
  • different approaches to developing software, including sequential, iterative/agile, etc.
  • advantages and disadvantages of different software development processes along with choice of process in different contexts.
  • selection and use of different tools and environments that support software development at different stages in the lifecycle
  • the principles of systems engineering, including all aspects of technology, people, culture and process and the environment within which a system of interest exists and operates
  • the benefits of a system approach to dealing with challenges arising from complexity, emergence, adaption and co-evolution


All resources and the block release schedule will placed here

Programming Module Resources

Assignment Brief

The full assignment brief will be placed here when it is issued

Component A: Unseen examination (2 hours)

Sit: End of block release week 2

Apprentices will be assessed on their knowledge and application of development lifecycles, methodologies and processes.

Component B: Practical coursework (fully documented)

Issued: End of block release week 3

Due: Start of block release week 1 of next module

Apprentices will design algorithms and implement a 4-function calculator as an assembler program, a GUI desktop application and a cloud-based solution. In the desktop and cloud solutions calculations must be stored and retrieved in a suitable file system or database. In each case there must be a technical description, code and evidence of testing and correct function. A short report will explain the development methodologies used in each case.

Assignment 2

Submission details

All assignments will be submitted and feedback given on the UWE Blackboard system


All questions about this module should be directed to the module leader.

Please contact via email, which is monitored continuously

programming.txt · Last modified: 2022/07/06 08:35 by emma