The very nature of IoT requires a knowledge of a programming language and electronic circuits and a knowledge of networking in order to interface with the physical world and networking platforms. Learning IoT with Python and Raspberry Pi uses a cross-disciplinary approach when teaching IoT. Circuits which use light dependent resistors, LEDs, buzzers, passive infrared sensors, ultrasonic sensors, and other components will be used to explore and elucidate programming concepts. Users can monitor devices connected to the Raspberry Pi. Learning IoT with Python and Raspberry Pi allows the programmer to explore the Internet of Things (IoT) by writing code which will monitor temperature, pressure, humidity, and light levels and will determine when motion is detected, etc. Based upon these physical events, a text message is sent, an email is sent, a phone call is made, or a picture is taken.