This session will present concepts on how to design embedded software. It will start with a look at how to take requirements and develop a software architecture that meets those requirements. A brief look at available modeling tools such as UML will be examined. Techniques and design strategies such as structured and object-oriented design will be discussed.