This course comprises a semester-long project experience geared towards the development of skills to design realistic and practical embedded systems and applications. Students will work in teams on an innovative project that will involve the hands-on design, configuration, engineering, implementation and testing of a prototype of an embedded system of their choice. Students will be expected to leverage proficiency and background gained from other courses, particularly with regard to embedded real-time principles and embedded programming. The project will utilize a synergistic mixture of skills in system architecture, modular system design, software engineering, subsystem integration, debugging and testing. From inception to demonstration of the prototype, the course will follow industrial project practices, such as version control, design requirements, design reviews and quality assurance plans. The lecture content will cover background material intended to complement the project work, and will also leverage lessons learned from case studies of industrial practices and incidents. The remainder of the course will consist of regular team presentations of key project milestones, current project status, a final project presentation and functional demonstrations of various subsystems, even as the entire prototype is being developed.