• The University of Kent logo

Concurrent Programming in Erlang

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

Concurrent Programming in Erlang
  • Duration4 weeks
  • Weekly study5 hours
  • LearnFree
  • Extra BenefitsFrom $84Find out more

Why join the course?

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

We combine the theory of concurrent programming with the practice of how that works in Erlang. You’ll get the opportunity to reinforce what you learn through practical exercises and more substantial, optional practical projects.

Functional programming has been a strength the University of Kent for the last 30 years. Throughout the course, 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 7 secondsSIMON THOMPSON: The real world is concurrent, it's natural to think of different activities going on independently, interacting only by passing information between them. In a similar way, this is a great way of writing programs. We think of writing programs as a collection of separate processes which only communicate by passing messages. And this was the model that the Ericsson programming team chose to use when they wanted to build the ideal programming language for programming telecom systems. Erlang is now used to program all sorts of web-scale applications which need to be fault tolerant, robust, and reliable. For example, it's been used to program the WhatsApp Messenger which processes billions of messages a day.

Skip to 0 minutes and 53 secondsWhy is Erlang concurrency having such an impact at the moment? It provides a clean model for programs that interact with the world, where we have multiple requests coming in, for example. These can be handled by multiple processes inside an Erlang virtual machine. Erlang also maps very well onto modern hardware. We can see processes being executed concurrently on a multi-core chip, and also the Erlang model scales to work in a distributed way across a network of processes. We expect you've got some programming experience coming into this course and we'll teach you the basics of concurrency, scalability, and robustness. We also expect that you can write simple Erlang functions, put them into modules, and run them.

Skip to 1 minute and 38 secondsOnce you've installed Erlang, you'll be able to write some programs that put these ideas into practise. As well as myself, Joe Armstrong, who's one of the inventors of Erlang, and Francesco Cesarini, who is a founder of Erlang Solutions, a big consultancy company in the area, will be helping us. They'll present sessions and they'll also, with myself, be taking part in some wide-ranging discussions about Erlang and concurrent programming in general. At the end of three weeks, you should have an appreciation of message passing concurrency in Erlang, also how to build robust and scalable systems in Erlang and OTP. And you'll also have experience of writing Erlang concurrent programs for yourself.

What topics will you cover?

  • Processes and messages in Erlang
  • Message-passing concurrency
  • Designing for robustness
  • Handling errors and dealing with exceptions
  • Testing and fixing concurrency
  • Multicore and distributed Erlang
  • OTP: The Open Telecom Platform

When would you like to start?

Most FutureLearn courses run multiple times. Every run of a course has a set start date but you can join it and work through it after it starts. Find out more

  • Available now

What will you achieve?

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

  • Develop concurrent programs in Erlang using processes and message-passing communication between them
  • Describe the mechanisms underlying message processing in Erlang
  • Explain the life-cycle of an Erlang process and the handling of errors
  • Design and implement robust systems in Erlang
  • Summarise the design principles underlying the Open Telecom Platform (OTP)

Who is the course for?

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

You can gain this experience on the University of Kent’s other Erlang course, Functional Programming with Erlang.

This course is ideal if you are 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.

What do people say about this course?

This course was amazing, again! (I also participated in the previous one - functional programming in Erlang). Thank you, Simon and the whole Team, for such a high-quality course. It was really challenging, but I think this is why it was so valuable and time well-spent. I am looking forward to hearing from you about the next courses to come! I can see new opportunities emerging on the horizon! The adventure does not end here - it is just the beginning! Ahoy! :)

Michal Grygierzec

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.

Supporters

supported by
supported by

Join this course

Start this course for free, upgrade for extra benefits, or buy Unlimited to access this course and hundreds of other short courses for a year.

Free
$0

Join free and you will get:

  • Access to this course for 6 weeks

Upgrade
$84

Upgrade this course and you will get:

  • Access to this course for as long as it’s on FutureLearn
  • Access to this course’s tests as well as a print and digital Certificate of Achievement once you’re eligible
New

Unlimited (New!)
$259.99 for one year

Buy Unlimited and you will get:

  • Access to this course, and hundreds of other FutureLearn short courses and tests for a year
  • A printable digital Certificate of Achievement on all short courses once you’re eligible
  • The freedom to keep access to any course you've achieved a digital Certificate of Achievement on, for as long as the course exists on FutureLearn
  • The flexibility to complete your choice of short courses in your own time within the year
Find out more about upgrades or Unlimited.