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.