Course Outline


  • What is design?
  • C vs Embedded C

The Life-Cycle of an Embedded Application

  • The development process
  • The maintenance process
  • The extended life cycle

Design Tools

  • Open source vs proprietary 
  • Compiler, assemblers and linkers
  • Libraries
  • Debuggers
  • Simulators
  • IDEs

Embedded Design Challenges

  • Embedded computing design constraints
  • Cost considerations
  • Performance and efficiency
  • Power consumption
  • Thermal management

Defining the Design Goals

  • Keeping it simple
  • Defining the functionality
  • Defining the program logic and structure

System Reliability

  • Inspection and maintenance
  • Uptime requirements
  • Points of failure 

Code Reusablility

  • Redundancy-free design

Code Abstraction

  • Information hiding
  • Context-free modules

Code Modularization

  • Decomposition
  • Loose coupling
  • Strong cohesion
  • Acyclic dependencies

Code Maintainability

  • Readability
  • Testability
  • Configurability
  • Performance upgrades 

Hardware Considerations

  • Scalable Thermal Design Power (TDP)
  • Integrated graphics
  • Other

Summary and Conclusion


  • Basic embedded system knowledge
  • Embedded C programming experience
  • An understanding of electronics fundamentals


  • Developers
  14 Hours


Related Courses

Design Patterns

  14 hours

Object Oriented Design using Design Patterns

  14 hours

Design Patterns in C#

  14 hours

Design Patterns in PHP

  14 hours

JavaScript - Advanced Programming

  14 hours

PHP Patterns and Refactoring

  21 hours

Technical Architecture and Patterns

  21 hours

Microservice Patterns: Migrating from a Monolithic to a Microservice Architecture with .Net

  14 hours

Kubernetes Design Patterns

  21 hours

Kubernetes Design Patterns and Extensions

  14 hours

Introduction to Domain Driven Design

  14 hours

Embedded C Application Design Principles for Automotive Professionals

  14 hours

Design Thinking Workshop for Software Developers

  14 hours

Advanced Embedded Systems Development

  35 hours

Design Sprint Workshop

  35 hours