Functional programming is not about the language, but about a mindset --- solving problems in a more mathematical way. In mathematics, the statement x = x + 1 makes no sense, yet in programming we use it all the time to change the state of x. Functional programming is about problem solving without directly changing the state of memory. This leads to 2 advantages: (1) a stronger sense of program correctness, and (2) an easier path to parallel execution. This talk will introduce functional programming in F#, show how to call F# from C#, and encourage you to adopt this mindset when it makes sense.