Erlang Express 11-13 June

Please RSVP for instructions on how to join the event.

Description

Trainer: Roberto Aloi

Target Audience: Software Developers

Prerequisites: Good programming skills in another language

Objectives:

• Understanding of the basics of Erlang.

• Read/Write/Design Erlang Programs.

• Good knowledge of the development environment and tools.

• Provides basics needed to attend the Advanced Erlang/OTP course

Goal: Attend the Advanced Erlang/OTP course and eventually pass the Erlang certification exam.

Duration: Three days

Registration: 08:30 on 11 June 2014

VenueBusiness Center Bilpalatset

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

Course Contents:

Introduction 

Basic Erlang 

Sequential Programming 

Concurrent Programming 

Process Design Patterns 

Process Error Handling 

Code Updating 

ETS tables 

Distributed Programming 

Ports and Sockets

Outline

Introduction 

Introduction to the software needs of telecom control systems, followed by a history of Erlang, its features, and product and research examples within and outside Ericsson.

Basic Erlang 

This section deals with Erlang data types and pattern matching. Functions, modules, and BIFs are discussed. Before the exercises, the Erlang shell, useful shell commands as well as Emacs and its Erlang mode are introduced.

Sequential Programming 

The Sequential Programming section comprehends conditional evaluations, guards and scope of variables. It then introduces recursion, with a special emphasis on different recursive patterns, tail recursion, and space saving optimizations. Before the exercises, libraries and their manual pages, possible run time errors and the debugger are demonstrated. 

Concurrent Programming 

This section describes the creation of processes and their life span. It looks at sending and receiving messages, selective reception, and passing data in the messages. It continues with the various uses of time outs and registering processes, and terminates by showing the generic process code structure. Before the exercises, a demonstration of the Process Manager tool is given. 

Process Design Patterns 

This section introduces the concept of process patterns, preparing the students for the OTP behaviours. It gives a detailed example of a client server system, looks at finite state machines and event handlers. Synchronous versus asynchronous message passing is discussed. 

Process Error Handling 

This section introduces the simple but powerful error handling mechanisms in processes. It looks at process links, exit signals and their propagation semantics. How robust systems are built in Erlang are discussed, and an example from the Process Design Patterns section is re-implemented, making it robust.

Code Updating 

The section introduces software upgrade during run time. The error handler, the code server, and code search paths are covered, as is the .erlang file. 

ETS tables 

An introduction to the Erlang Term Storage is given, together with its different table options. Examples on when to use and not to use ETS tables are covered. A demonstration of the table visualizer is provided. 

Distributed Programming 

An introduction to the requirements of distributed systems is given, and how Erlang is able to fill these requirements. The distribution syntax and semantics are covered, followed by the BIFs and the net kernel. 

Ports and Sockets

An introduction of the mechanisms used to make Erlang more open are taken up in this section. Ports, for external communication within the same machine, and Sockets, for communication on IP networks are discussed. The difference between TCP and UDP is described.

Content is not yet available

Andra Dinu (Erlang Factory)

27.5k
AuthorDeveloper

An Erlang Factory is an event that focuses on Erlang - the computer language that was designed to support distributed, fault-tolerant, soft-realtime applications with requirements for high availability and high concurrency. The main part of the Factory is the conference - a two-day collection of focused subject tracks with an enormous opportunity to meet the best minds in Erlang and network with experts in all its uses and applications. Together with the Conference are optional three-day "University" training courses and tutorials, not only in Erlang itself, but also in related technologies and Erlang-based systems and products. The value of attending the courses in this way is that they are condensed versions of the more usual 5-day courses and allow delegates to attend the training as well as the conference in the 5-day period. Furthermore, having the training close behind the opportunity to discuss applications of it with experts, multiplies its value many times over compared with having just the training by itself.

For a complete view of this profile, including education, work experience and developer information, you need to be logged in and have a subscription.

Tweets

Andra's upcoming trainings

No events

Andra's past online trainings

No events

Andra's blog posts

IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us
Built with WebSharper