This course provides an overview of the relevant technologies and approaches for the design and optimization of Internet-of-Things (IoT) systems. It covers architectures of edge computing platforms, wireless communication options, cloud computing backend and different machine learning applications.