Some of the proposed examples require Apache Kafka running on localhost:9092. A kafka producer will be provided to run the sample code. Suggested order of code inspection: 1. SimpleWordCount (this example does not need Kafka) 2. WindowWordCount (this example does not need Kafka) 3. IterateOnStream (this example does not need Kafka) 4. KafkaConnectorDemo (Kafka needed) If you already have downloaded Kafka and set KAFKA_HOME as environment variable, you can use the scripts in the 'kafka' folder to start ZooKeeper and Kafka, as well as to create the "flink-events" topic. Alternatively, you can try to set up a docker-compose for creating a small network with ZooKeeper and Kafka, exposing ports 2181 and 9092, respectively. For example, see: https://developer.confluent.io/quickstart/kafka-docker/ Once you have Kafka running, you can populate the "flink-events" topic using the SimpleProducer java class in the kafka-produce project provided with this lesson material. To check that the producer is correctly writing events on kafka, you can run SimpleConsumer, which basically consumes and prints the events in the "flink-events" topic. You do not need to run the SimpleConsumer while running the "KafkaConnectorDemo" code. The KafkaConnectorDemo simply consumes events from the topic in form of a stream and applies simple aggregation operations on read data. 5. FraudDetectionJob (this example does not need Kafka)