Online course

Functional Programming in Erlang

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

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 secondsSo 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 secondsWe'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
Add to Wishlist to be emailed when new dates are announced

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?

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.

Learners collage mobile
Join this course

Free
$0

  • Access to this course for 5 weeks
  • Includes any articles, videos, peer reviews and quizzes

Upgrade
$84

  • Unlimited access to this course
  • Includes any articles, videos, peer reviews and quizzes
  • Tests to validate your learning
  • Certificate of Achievement to prove your success when you're eligible
  • Download and print your Certificate of Achievement anytime