Postgraduate taught 

Robotics & AI (Universitas Gadjah Mada dual degree) MSc

Real Time Embedded Programming ENG5220

  • Academic Session: 2024-25
  • School: School of Engineering
  • Credits: 20
  • Level: Level 5 (SCQF level 11)
  • Typically Offered: Semester 2
  • Available to Visiting Students: Yes
  • Collaborative Online International Learning: No

Short Description

This course develops in students an understanding of the theory and practice of real-time embedded systems firmware and application programming, and introduces students to the techniques and standards of software design, implementation and development for such systems.

Timetable

4 hour teaching and lab sessions per week

Excluded Courses

None

Co-requisites

None

Assessment

100% from continuous assessment

Main Assessment In: April/May

Course Aims

The aims of this course are to:

■ introduce students to advanced hardware design and development of Linux based real-time embedded systems in C++;

■ demonstrate the functional interactions between embedded software, hardware peripherals and communications in real time systems;

■ undertake project based design, development, documentation and dissemination of an embedded system addressing a complex problem

Intended Learning Outcomes of Course

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

■ write C++/object oriented programs on a Linux based embedded system (e.g. Raspberry PI) and use suitable tools to optimise and debug them;

■ make judgements in particular in relation to latency based on mathematical and empirical analysis;

■ write event driven realtime C++ code;

■ write multi-threaded applications;

■ write a GUI in C++ which allows user interaction;

■ create hard and software to interface with peripherals and other systems via, for example, SPI, I2C, I2S and Ethernet;

■ write code that conforms to industrial coding standards and techniques (such as AUTOSAR);

■ apply different project management techniques used in developing software for embedded systems which includes also risk management, security and safety;

■ adopt a systems approach designing solutions for complex problems;

■ make ethical choices in the light of professional codes of conduct;

■ select and apply materials, equipment, technologies and processes;

■ document code to industry standards;

■ deploy open source code, publicise it on social media to both a technical and non-technical audience, evaluate and optimise impact while staying ethical

■ recognise the importance of sustainability, inclusivity, equality and diversity

■ function as a team

Minimum Requirement for Award of Credits

Students must attend the degree examination and submit at least 75% by weight of the other components of the course's summative assessment.

 

Students must attend the timetabled laboratory classes.