Using C Language Effectively for Embedded Systems

NTU Professional and Continuing Education (PaCE@NTU)

Course introduction

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. 

Course Benefits

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.

Course Pre-Requisites

Course Pre-requisite:
Basic C programming concepts, like C expressions and operators, control statements, standard I/O, variable declarations. 
Fee with NEW SkillsFuture Series subsidy: S$337.05(inclusive of GST). *conditions apply 

To be eligible for SF Series subsidy, participants: 
- must be Singaporeans or Permanent Residents of Singapore 
*Participants who do not fulfill the above criteria are not eligible for SF Series funding, and are required to pay the course fee in full.  

Target Audience

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.

Course Outline

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.

** Hands-on exercises will be conducted during the class. Each participant will be given a hardware board to work on. Participants will be able to bring it home after the course. **  

Cancellation & Refund Policy
A written notification to or fax to
6774 2911 before course closing date.
No cancellation charges (Full refund)
A written notification on or after course closing date. No Refund
SkillsFuture Credit (if applicable):
- Participant to cancel their claim with WDA
- PaCE Collegereserves the rights to collect the full fee amount from the participant
Replacement Policy
Given a 3 days notice before course commencement, companies may replace participants who have signed up for the course. Terms and conditions apply.
There is no replacement for participant utilising SkillsFuture Credit. Participant to cancel their SkillsFuture Credit claim with WDA.
Terms and Conditions
• Course is subject to a minimum participation before commencement
• Course is subject to a first-come-first-serve basis in light of overwhelming responses
• PaCE Collegereserves the right to change or cancel any course or trainer, in light of unforeseen circumstances
• All details are correct at time of dissemination
Privacy Clauses
At PaCE College, participants’ personal information is collected, used and disclosed for the following purposes:
  1. To process your application.
  2. For course administration and billing.
  3. To enable the trainers to know the background of the course participants.
  4. To submit to governmental authorities for funding verification, administration and survey conducted by them (only applicable to funded courses).
  5. To submit to NTU Alumni Affairs Office, NTUC and other relevant organisations for course discount verification (if applicable).
  6. To issue certificate to the course participants.
  7. For marketing of courses to participants via E-newsletter.
  8. To understand and study the profile of its course participants for NTU’s policy making and planning.
  9. To deal with any matter related to the course.

Available Course Sessions

Please click here to stay updated on upcoming sessions.

Trainer Profile

Mr Teng, Philip

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 fourteen years, Philip has extensive know-how in developing complex software, as well as the key technologies in real time embedded software. His experience includes commercial and defence applications, such as the unmanned ground vehicle application for commercial port operations. He is also the team leader of the flight software team for Singapore's first micro-satellite, which was successfully launched into space and operating. Philip is also lecturing in NTU on Embedded Systems Programming for the Masters of Science (Embedded Systems).