Contact FutureLearn for Support Functional Programming in Erlang - Online Course Skip main navigation
We use cookies to give you a better experience, if that’s ok you can close this message and carry on browsing. For more info read our cookies policy.
We use cookies to give you a better experience. Carry on browsing if you're happy with this, or read our cookies policy for more information.
Online course

Functional Programming in Erlang

Learn the theory and practice of functional programming in Erlang, through practical exercises and suggested projects.

Free:

  • Access to the course for its length + 14 days, regardless of when you join (this includes access to articles, videos, peer review steps)
  • Access to quizzes and assignments
  • No access to course tests
  • No certificate

Upgraded:

  • Unlimited access to the course, for as long as it exists on FutureLearn (this includes access to articles, videos, peer review steps)
  • Access to quizzes and assignments
  • Access to course tests
  • A Certificate of Achievement when you complete the course

Find out more

Functional Programming in Erlang

Why join the course?

Functional programming is increasingly important in providing global-scale applications on the internet.

We combine the theory of functional programming and the practice of how that works in Erlang. The course will also help you if you are interested in Elixir, based on the same virtual machine as Erlang, and will help you get going with any functional language.

Functional programming has been a strength at the University of Kent for the last 30 years. You’ll learn with Simon Thompson – co-author of one of the standard introductions to Erlang, O’Reilly Media’s Erlang Programming.

Download video: standard or HD

Skip to 0 minutes and 6 secondsSIMON THOMPSON, Professor of Logic and Computation: You'll have heard a lot about functional programming recently. Languages like Haskell, OCaml, Elixir, and Erlang are becoming more popular. And features from these languages are coming into mainstream languages, too, like Java and JavaScript. Why is there this increase in popularity in these languages? Functional programmes are high level, clean, and effective, and that's due to a number of the ideas that we'll find out about in this course. We're assuming that you've got programming experience, but we're not assuming that you know anything about functional programming at all.

Skip to 0 minutes and 42 seconds So what we'll do is treat functional programming from scratch but relate that to the programming experience that you already have in drawing comparisons, say, with how you might do things in Java. Once you've installed Erlang, we'll expect you to start writing programmes using the language. We'll also expect you to help each other out by commenting on each other's code but also on other aspects of the course. The great thing about that is you get feedback on your work but, also, you find out about different approaches that other people have used. Also, you learn by explaining your ideas to others. We also monitor the discussions that are going on in the forums.

Skip to 1 minute and 22 seconds We'll be able to help out with general points that are coming up. And we'll try and give you a summary each week covering the general points that are coming up and our feedback on those. As well as myself, Joe Armstrong, who is one of the inventors of Erlang, and Francesco Cesarini, who runs a big Erlang consultancy, will be taking part in a wide ranging discussion about Erlang and functional programming in general towards the end of the course. So we do hope you enjoy taking part in this course. As well as learning the general principles of functional programming, you'll get experience of writing functional programmes in the Erlang language itself.

What topics will you cover?

  • Getting started programming in Erlang
  • Programs and functions in Erlang
  • Data structures using lists
  • Tools for Erlang programming
  • Functions as data, and higher-order functions
  • Case studies

When would you like to start?

  • Date to be announced

What will you achieve?

  • Explain why Erlang was developed, how its design was shaped by the context in which it was used, and how Erlang can be used in practice today
  • Reflect on the design of Erlang, in the context of the rationale for its development, and how it is used in practice today
  • Produce programs using the concepts of functional programming, including, in particular, recursion, pattern matching and immutable data
  • Apply knowledge of lists and other Erlang data types in programs
  • Develop higher-order functions using generic patterns

Who is the course for?

This course is designed for anyone with prior programming experience, who wants to learn more about functional programming and Erlang.

You could be a developer or computing professional seeking to understand and gain experience with this technology; a computer science undergraduate studying functional programming as part of your degree; or a self-taught programmer looking to take your knowledge to the next level.

Who will you learn with?

Simon Thompson

Academic at the University of Kent, where I am Professor in Logic and Computation in the School of Computing. You can find out more at my www.cs.kent.ac.uk/~sjt/

Who developed the course?

The University of Kent, the UK’s European University, is one of the country’s most dynamic universities. Established in 1965, it now has 19,850 students studying at its various campuses.

Buy a personalised, digital and printed certificate and transcript

You can buy a Certificate of Achievement for this course — a personalised certificate and transcript in both digital and printed formats, to prove what you’ve learnt. A Statement of Participation is also available for this course.

Certificate of Achievement + transcript £59.00

Statement of Participation £39.00

Estimate prices in preferred currency

Charges to your account will be made in GBP. Prices in local currency are provided as a convenience and are only an estimate based on current exchange rates.