Introductory programming courses are unique in that they typically represent the student's first technical experience in computer and electrical engineering curriculum. The presentation of these courses is important because the impressions students form from these courses stay with them throughout their college experience and beyond. This paper describes an embedded system-based introductory programming course designed specifically to support the specific needs of computer and electrical engineering students. This course replaces a similar course taught from primarily a computer science perspective by changing the course context to a hardware-based embedded environment.