• The University of Kent logo

Functional Programming in Erlang

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

8,501 enrolled on this course

Functional Programming in Erlang
  • Duration

    4 weeks
  • Weekly study

    5 hours

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 seconds SIMON 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

Learning on this course

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

What will you achieve?

By the end of the course, you‘ll be able to...

  • 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?

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 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.

Endorsers and supporters

supported by

The Erlang Ecosystem Foundation logo

supported by

Erlang Solution logo

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Learner reviews

Learner reviews cannot be loaded due to your cookie settings. Please and refresh the page to view this content.

Do you know someone who'd love this course? Tell them about it...

You can use the hashtag #FLerlangfunc to talk about this course on social media.