Due to the proliferation of smart devices and the growing need for real-time analysis, the legacy batch processing approaches are insufficient to support modern applications such as credit card fraud detection, cybersecurity protection, and automobile navigation. This course introduces such use cases and the approaches to process streaming data generated by the Internet of Things (IoT). To process and analyze IoT data, this course covers several Apache tools: Storm, Kafka, Spark Streaming, and Flink. Additionally, Pravega, a new storage paradigm, is covered as well as emerging IoT projects, Project Nautilus and EdgeX Foundry. The on-demand course includes recorded lab exercise demonstrations of the Apache tools.