Mini Course: Elm

Elm is A delightful language for building reliable web applications. It is a language that: has no runtime exceptions, makes refactoring easy, is easy to read, has friendly error messages and is fast. Elm is a functional language for front-end programming that compiles to JavaScript.

If you find yourself in need of building a user interface, one of the most convenient ways is to build a website. There are countless ways to build a website, come learn one of them.

Target audience

This course is suitable for anyone with basic programming experience. No web experience required. 


Jeremie Gillet (Functional Programming enthusiast) will be teaching, helped by Yuji Kanagawa (PhD Student).


The course will take place over 4 sessions detailed below. It will be mostly hands-on, building small proof-of-concept websites. 

Date Time Topic
Wednesday, July 7 10AM - 12PM Getting started: basic Elm syntax, web technologies, the Elm architecture, hello world-wide-web
Friday, July 9 10AM - 12PM Elm-ui: designing a UI without HTML or CSS
Wednesday, July 14 10AM - 12PM Elm commands and subscriptions, JSON encoders
Friday, July 16 10AM - 12PM Web applications, javaScript interop

You will find all the material necessary for this course here.

Cheatsheet here.

The video recordings of the sessions are here: session 1, session 2, session 3, session 4.

More information

  • Location: B701, Computer Lab, Lab 3.
  • What to bring: a laptop with
    • Elm installed 
    • A code editor of your choice with the appropriate plug-ins (optional, some tinkering may be required, feel free to ask for help ahead of the course). Jeremie uses Visual Studio Code 
    • elm-format installed and set to format on save
  • Zoom link: if you prefer joining remotely, or if B701 exceeds 50% capacity, you can join using this link. Unfortunately, we won't be able to provide much help with the hands-on part via Zoom. 
  • Video Recording: this course might be recorded and uploaded online, only the teacher will be recorded. Contact Jeremie Gillet if you have reservations about this.
  • Drinks: There will be free coffee and tea, bring your cup!

If you are interested in the course but cannot participate to this particular event, let us know and we will contact you for any later occurrence of this course.

Thank you very much for your interest.

1 スタート 2 完了
Do you have experience with 1) Elm 2) Functional programming 3) Web development? If yes, please detail
Why are you interested in this topic? Is there a particular thing you would like to learn or a particular project your would like to realize?