• No products in the cart.

Erlang Programming Course Description

Erlang is about making software systems that are fault tolerant used to build massively scalable soft real-time systems with requirements on high availability.

The course will teach you the fundamentals to advance concepts of Erlang. The course contains all the Erlang basics such as sequential and concurrent programming, along side error handling. The Erlang development environment is presented, with a special emphasis on the Erlang mode for Emacs alongside the major debugging tools. Good and bad programming practices are discussed,
as are tools used to profile the system. OTP design principles and concepts are sneaked into the material as well as the exercises.


Erlang Programming Course Learning Outcomes;

  • Use existing Design Patterns supported by Erlang and OTP.
  • Apply Generic Behaviours, Finite State Machines, and Event handler Patterns.
  • Use the Supervisor and Application Behaviours Patterns.
  • Write your own Design Patterns.
  • Structure large Erlang based systems.


Erlang Training Course Suggested Audience

This course is designed for developers who want to learn fault-tolerant programming with Erlang. Suggested attendees based on our past programs are:

  • Developers
  • Architects
  • IT Consultants


Erlang Programming course – Prerequisites

As a prerequisite, you need to have good programming skills in another language.


Erlang Programming In-house/Corporate Group Training

Available for a group size of more than 4-5. For commercials please send us an email with group size to

Course Curriculum

1. Introduction 
Introduction to the software needs of telecom control systems Details 00:00:00
History of Erlang and its features Details 00:00:00
2. Basic Erlang 
Erlang data types and pattern matching. Details 00:00:00
Functions, modules, and BIFs. Details 00:00:00
Erlang shell, shell commands, Emacs and its Erlang mode. Details 00:00:00
3. Sequential Programming 
Conditional evaluations, guards, and scope of variables. Details 00:00:00
Recursion, recursive patterns, tail recursion, and space saving optimizations. Details 00:00:00
Libraries, library manual pages, possible run time errors and debugger demonstration. Details 00:00:00
4. Concurrent Programming 
Creation of processes and their life span. Details 00:00:00
Sending and receiving messages, selective reception, and passing data in the messages. Details 00:00:00
Uses of time outs and registering processes, and generic process code structure. Details 00:00:00
Demonstration of the Process Manager tool. Details 00:00:00
5. Process Design Patterns 
Concept of process patterns Details 00:00:00
OTP behaviors. Details 00:00:00
Example of a client-server system, Details 00:00:00
Finite state machines and event handlers. Details 00:00:00
Synchronous versus asynchronous message passing.  Details 00:00:00
6. Process Error Handling 
Error handling mechanisms. Details 00:00:00
Process links, exit signals, and propagation semantics. Details 00:00:00
7. Code Updating 
Software upgrade during run time. Details 00:00:00
Error handler, code server and code search paths (.erlang file)  Details 00:00:00
8. ETS tables 
Introduction to the Erlang Term Storage. Details 00:00:00
Examples on DO’s and DON’T’s ETS tables.  Details 00:00:00
9. Distributed Programming 
Introduction to the requirements of distributed systems Details 00:00:00
Distribution syntax and semantics Details 00:00:00
BIFs and the net kernel.  Details 00:00:00
10. Ports and Sockets
Introduction of the mechanisms of ERLANG. Details 00:00:00
Ports, for external communication Details 00:00:00
Sockets, for communication on IP networks. Details 00:00:00
Difference between TCP and UDP Details 00:00:00

Course Reviews


  • 5 stars0
  • 4 stars0
  • 3 stars0
  • 2 stars0
  • 1 stars0

No Reviews found for this course.