Internet of Things (IoT), a network that connects "smart" devices with sensing and processing capabilities to other similar devices and to humans, is growing rapidly and controls many aspects of our daily lives. Today, IoT devices can be found not only in a broad spectrum of daily use applications such as home automation and security, home appliances, and automotive industry, but also in critical infrastructure such as power and energy systems, healthcare and medical devices, as well as military systems. As the use of IoT devices grow rapidly, so does the vulnerability of the systems that rely on them against malicious attacks. This course will cover many aspects of IoT with a focus on security hardening primarily with respect to IoT hardware, as well as software function and operation. This course will provide a deeper understanding of the engineering behind IoT embedded systems and insight into security hardening of IoT hardware as it relates to IoT architectures, firmware, and application software. The course will discuss asset management and top security challenges, including but not limited to the lack of compliance within various IoT original equipment manufacturers, the lack of user knowledge and awareness and the consequential lack of update management and challenges of hardening assets. The course will also discuss the vulnerability of IoT architectures to various attacker types, attack vectors, and rogue IoT devices, as well as known and potential defensive mechanisms to mitigate that vulnerability.