Introduces principles around embedded software elements and software development needed for the Embedded Systems Engineering core curriculum. Student will write C program applications hat employ efficient, high performance and robust software design techniques. Topics include bare-metal firmware, c-programming optimization and introductions to underlying embedded architecture. Sound testing and debug practices will be instilled and utilized in several application projects.