Mechatronics BEng/MEng

Advanced Programming & Software Engineering 3 ENG3091

  • Academic Session: 2023-24
  • School: School of Engineering
  • Credits: 10
  • Level: Level 3 (SCQF level 9)
  • Typically Offered: Semester 2
  • Available to Visiting Students: Yes

Short Description

This course will evolve students' awareness of advanced programming and software engineering concepts. Students will further develop their skills in advanced object-oriented programming, applying these within a general engineering context. Students will also be introduced to key overarching principles, processes and techniques of software engineering, placing their coding skills in a wider context.


Two lectures per week, each lasting one hour.

Four laboratory sessions throughout the semester to give students practical experience.

Excluded Courses





50 % Laboratory Assignment - involving a programming and software engineering based cases study assessed through written report

50 % Written Examination

Main Assessment In: April/May

Course Aims

The aims of this course are to:

■ develop a detailed appreciation of advanced object-oriented programming design, practices and techniques

■ develop an appreciation of the implementation issues associated with the application of advanced object-oriented programming within engineering problems

■ provide the opportunity for participants to practice and develop practical object-oriented programming skills within an engineering context

■ develop an appreciation of software engineering in terms of processes, practices and techniques

■ provide the opportunity for participants to practice and develop software engineering skill through the use of general-purpose modelling languages 

Intended Learning Outcomes of Course

By the end of this course students will be able to:

■ design and code object-oriented software for the solution of non-trivial engineering problems;

■ evaluate the efficacy of software techniques and methods, their own and others';

■ explain the importance of software engineering as part of the general design of complex systems;

■ apply software engineering processes and general purpose modelling languages in realistic contexts.

Minimum Requirement for Award of Credits

Students must submit at least 75% by weight of the components (including examinations) of the course's summative assessment.