Compare courses
Nanyang Technological University Center for Continuing Education

Using C Language Effectively for Embedded Systems

Oct 29—31, 2019
3 days
SGD 1124 ≈USD 811
SGD 374 per day

How it works


Coursalytics is an independent platform to find, compare, and book executive courses. Coursalytics is not endorsed by, sponsored by, or otherwise affiliated with Nanyang Technological University Center for Continuing Education.

Full disclaimer.


The Advanced C programming course provides the participants with an understanding of advanced C programming concepts like pointer operations, bitwise operations, structures and unions, file I/O, interrupt processing, memory allocation, linked list, binary tree, sorting etc. This course is geared towards the use of C language in developing software for embedded systems. In addition, debugging and optimisation techniques and portability issues for C programs written for embedded systems will be introduced and discussed.


The course aims to equip participants with an in-depth understanding of the C language and acquire the hands on experience and confidence to write C programs for their embedded systems project.


Day 1

Recap of basic C concepts, C pre-processing, compilation and linking, makefiles, understanding cross development in embedded systems, recursion, function pointers, structures, unions and aliasing, single threaded programs and interrupts.

Day 2

Self referential structures, arrays, linked list, binary trees, multi-threading programs, embedded operating systems, file I/O, resource management.

Day 3

Real time software programming, Time triggered and event driven software, finite state machines implementation, linting and static code checking.

Who should attend

This course is recommended for software developers who have basic C programming understanding and are looking to understand advanced C programming concepts for embedded systems software development.


Mr Philip Teng graduated with a BEng (EE) degree from National University of Singapore and received his Masters in Electrical and Computer Engineering from Carnegie Mellon University, USA. Having worked on embedded system software in mission critical and safety critical applications for the past ...