1. Overview of Embedded and Real-Time Systems 2. Embedded Systems Development Process 3. Specification and Modeling techniques 4. Architecture and design patterns 5. Real-Time building blocks 6. Hardware interface to embedded software 7. Programming and Implementation Guidelines 8. Software Reuse by Design in Embedded Systems 9. Embedded Implementation Tips and Tricks 10. Embedded Operating systems 11. Linux and OSS 12. Software Performance Engineering 13. Optimizing Embedded Software for Performance 14. Optimizing Embedded Software for Memory 15. Optimizing Embedded Software for Power 16. Embedded Systems and the Internet of Things 17. User interfaces for embedded systems 18. Integration and testing techniques and quality 19. Software Development Tools 20. Multicore Software Development 21. Safety-Critical Software Development for Embedded Systems 22. Intellectual Property Issues with Embedded Software 23. Managing embedded software development 24. Embedded Software Development for Storage and I/O 25. Embedded Software for Networking Applications 26. Multiple Case Studies