Elm For Beginners
Start Building Web Apps using Elmlang today
** Note: Updated for Elm 0.18
Course Description
Do you wish there was a better option than JavaScript?
Would you like to learn Elm or Functional Programming in general, but short on time?
If you answered yes, then this course is for you.
What is Elm?
Elm is an amazing new functional programming language for building Front End Web Applications.
Elm was designed as an answer to the following question:
"What would be a good language for building front end web apps?"
Elm has been thoughtfully crafted over the last several Years by it’s creator Evan Czaplicki, adding just enough features to make it powerful but still simple to use.
Elm, unlike most other functional programming languages,
achieves a nice balance between Idealism and Pragmatism.
Why should you consider using Elm?
Benefits such as:
- Zero Runtime Exceptions
- Simplified Debugging
- Easy Refactoring
- Helpful Type System & Compiler
- Improved Productivity
- Inherently testable code
- Enforced Semantic Versioning
- and more...
Personally, I like Elm because it makes my life Simpler, it’s a Joy to use and I’m just more productive.
"I’ve tried to learn functional programming before, but ..."
If you’ve ever dabbled in a functional programming language, or tried to learn functional programming but became frustrated by the learning curve, let me tell you things are different with Elm.
You won’t see a bunch of scary academic terms in the Elm documentation or from hear it from the Elm community.
Elm is very approachable, and is the best language to learn functional programming.
"Should I learn elm if I can’t use it at work?"
Even if you never use Elm Professionally in your Job, it’s still totally worth learning.
You’ll gain functional programming skills that you can take back to your imperative languages... However you may find that Elm is so nice, you may just become the advocate that persuades your employer to start using it at work ;)
What we’ll build
After you learn the basics, we’ll build a portion of a Realtime Basketball Scorekeeping App. Specifically we’ll create a prototype of the Scorekeeping interface, turning a mockup into a working app.
Requirements
You should have a basic understanding of Html, Css and JavaScript before taking this course.
"What am I going to get from this course?"
- Learn how to setup your Elm development environment
- Understand the Basic Concepts of Functional Programming
- Know how to write pure functions and use immutable data
- Comprehension of Elm’s Type system
- Ability to use Elm Packages
- Know how to Build Elm Apps using the Html.App package
- Understand how to Debug Elm Apps
- and more...
Target Audience
Web developers that are curious about the benefits of Functional Programming and Elm.
Web developers that are interested in expanding their horizons.
Git Repo
The companion git repo for this course can be found at:
https://github.com/knowthen/elm
What People Are Saying
Every language should have some training available as good as the @uknowthen @elmlang class. Totally enthralled.
— ༼ つ ◕_◕ ༽つ (@ThisMCGuy) August 2, 2016
Just did my first #elm-lang app with @uknowthen's free elm course for beginners :) It's great and you should take a look :)
— Alexandre S Hostert (@_Hostert) September 21, 2016
Highly recommend the Elm for Beginners course by @uknowthen https://t.co/T4t9ZA0b3t
— peter_marklund (@peter_marklund) October 11, 2016
I can't recommend this "Elm For Beginners" course enough! It is excellent. #elmlanghttps://t.co/1UX55Eudd7
— blogscot (@blogscot) August 29, 2016
I’ve just finished the Elm for beginners course from @uknowthen which is simply awesome! https://t.co/Wty1ZtFK8Q #elmlang
— Ricardo García Vega (@bigardone) August 13, 2016
Just finished Elm For Beginners course on https://t.co/RxO1KUTz8X and feel so rewarded. Thank you, @uknowthen.
— Illia Kalaur (@IlliaKalaur) July 27, 2016
"Elm For Beginners" from @uknowthen . Highly recommend if interested in @elmlang ! https://t.co/iAlcE4VHJJ pic.twitter.com/zPxLrcQEc4
— Dalton A. Mitchell (@daltonamitchell) July 23, 2016
Your Instructor

James discovered the joy of software development while submerged hundreds of feet deep in the pacific ocean. He liked it so much, he left his career as Navy Nuclear Submariner to learn everything he could about creating software. As a nuclear trained engineer, he figured out how to learn things quickly, which has helped in a career where the learning never stops. Currently he’s an independent software developer, consultant and trainer.
Course Curriculum
-
PreviewIntroduction (7:27)
-
PreviewSetting Up the Elm Development Environment (4:54)
-
StartWhat Is Functional Programming (5:03)
-
StartHello World In Elm (4:11)
-
StartWriting & Using Functions (10:17)
-
StartMore On Functions (3:23)
-
StartStatic Type System (11:24)
-
StartElm Types (4:29)
-
StartType Annotations (9:30)
-
StartCreating Your First Real App - A Calorie Counter (9:43)
-
StartImproving The Calorie Counter (4:43)
-
StartPlanning The Scorekeeper App (6:25)
-
StartUsing A Build Process (2:58)
-
StartBeginning our Scorekeeper App | Model & Form Sections of Update and View (8:46)
-
StartCompleting the Form Section (8:40)
-
StartCreating the Player Section (7:46)
-
StartCreating the Play Section (5:39)
-
StartFinal Thoughts (0:59)
-
StartIntroduction (7:27)
-
StartSetting Up the Elm Development Environment (4:54)
-
StartWhat Is Functional Programming (5:03)
-
StartHello World In Elm (4:11)
-
StartWriting & Using Functions (10:17)
-
StartMore On Functions (3:42)
-
StartStatic Type System (4:29)
-
StartElm Types (11:24)
-
StartType Annotations (9:30)
-
StartCreating Your First Real App - A Calorie Counter (9:50)
-
StartImproving The Calorie Counter (4:16)
-
StartPlanning The Scorekeeper App (6:25)
-
StartUsing A Build Process (2:58)
-
StartBeginning our Scorekeeper App | Model & Form Sections of Update and View (8:44)
-
StartCompleting the Form Section (8:52)
-
StartCreating the Player Section (7:46)
-
StartCreating the Play Section (5:39)
-
StartFinal Thoughts (0:59)