Approach programming in a new way by using Reactive Programming, a functional style that focuses on the flow and manipulation of data. You already know how to think imperatively, using if-statements and state variables, from your experience programming in C. We will discuss the history of Imperative and Reactive programming and compare the different styles with concrete code examples in Java. By the end of this talk you will understand when to use reactive programming and how powerful and succinct it is for data problems.