Python One-Hour Crash Course: Syntax, Lists and Files
by Sofia Navarro
Your first functional language, taught with running code instead of category theory.
JB Created by Jonas Berg
Every bullet below is something you will have built, shipped or be able to explain by the time you finish the last lesson.
6 modules · 50 lessons · 6h 36m of material
9 lessons running 1h 10m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
9 lessons running 1h 08m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
10 lessons running 1h 20m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
9 lessons running 1h 12m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
7 lessons running 54m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
6 lessons running 52m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
6 modules · 50 lessons
6h 36m total length
Short list, and deliberately so. If you meet these you can start today.
Functional programming is usually introduced with vocabulary that assumes you already understand it. This course does the opposite. Nothing is named until you have written it, and every idea appears first as a small program running in F# Interactive where you can change a value and see the result immediately.
You begin with immutable values, functions and the pipeline operator, then build up lists, tuples, records and discriminated unions. Recursion and higher-order functions replace the loops you would have written elsewhere, and pattern matching becomes the tool you reach for instead of chains of conditionals. Along the way the compiler teaches you: type inference means most annotations are optional, and exhaustiveness warnings catch the cases you forgot.
The last third builds three small programs: a text-processing tool that ranks word frequency, a JSON-driven report generator, and a terminal quiz that keeps state without a single mutable variable. Each one is written twice, once the way a newcomer would and once idiomatically, so the difference between writing F# and writing C# with F# syntax becomes concrete.
Still unsure about something? Write to misteryjj100@gmail.com and a human answers, usually the same working day.
Reviews are written by people who bought this course. We publish the critical ones too.
3.5
Rated 3.5 out of 5Course rating · 2 reviews
Solveig Dahl
Software engineer
Every one of the three programs is written once the way a newcomer would write it and once the way an F# developer would, on the same screen. Seeing my own instinct sitting next to the better version did more for me than any list of rules ever has.
Christoph Reiter
Self-taught, switching careers
The functional content is fine and the discriminated unions chapter is clear enough. The trouble is that it repeatedly assumes you know what a solution file is, how NuGet resolves a package and why the runtime version would ever matter, none of which a beginner has any reason to know. Twice I was stuck on tooling rather than on the language, and there is no help offered for that anywhere in the course. Rename it F# from zero for people who already have .NET working and I would have no argument.
Functional programmer and F# instructor
Jonas has written F# in production for over a decade, mostly in insurance and logistics where correctness is far cheaper than speed. He teaches functional programming as a practical tool: types that make bad states unrepresentable, and pipelines you can test without touching a database. His courses convert real imperative code into functional code one step at a time, so nothing feels like a leap of faith. He maintains a small but well-used F# validation library.
One-time payment · lifetime access