Programming for Engineers (H1038)

15 credits, Level 4

Autumn teaching

Programming for Engineers provides you with an introduction to computer programming. You will study C programming and Matlab.

Programming is an important skill in engineering, as many devices and machines have electronic controls or require a system to be programmed. Programming is about solving problems and writing the algorithm in a clear set of steps.


C is the most common programming language in engineering and other fields. It is used for data acquisition, robotic control and programming embedded processors.

Matlab is a very useful computational tool for engineers. It can be used to solve and simulate engineering problems. With a solid foundation in C, you will learn Matlab quickly.

This module will help you in learning other topics that require mathematical modelling, such as control engineering, vibration analysis and signal processing.

This module introduces you to the following topics:

  • C programming
  • compiling and linking
  • constants, variables, data types and conversion
  • operators and expressions
  • program structure and pseudocode
  • selection and repetitive statements
  • functions
  • recursion
  • pointers
  • arrays
  • characters and strings
  • file input/output
  • MATLAB - Simulink.


100%: Practical (Laboratory)


100%: Coursework (Software exercise)

Contact hours and workload

This module is approximately 150 hours of work. This breaks down into about 40 hours of contact time and about 110 hours of independent study. The University may make minor variations to the contact hours for operational reasons, including timetabling requirements.

We regularly review our modules to incorporate student feedback, staff expertise, as well as the latest research and teaching methodology. We’re planning to run these modules in the academic year 2024/25. However, there may be changes to these modules in response to feedback, staff availability, student demand or updates to our curriculum. We’ll make sure to let you know of any material changes to modules at the earliest opportunity.


This module is offered on the following courses: