Practical Erlang Programming Francesco Cesarini Practical Erlang Programming is a tutorial introducing Erlang to beginners. It covers the basics of sequential and concurrent programming. The tutorial can be given over 4 or 8 hours (preferred), the latter containing hands on exercises and demos. The examples used in this tutorial form the basis of the upcoming Practical Erlang Programming book published by O~Reilly. Contents: 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 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. Suggested Delegates should come to the workshop with Erlang installed on their machine. ---- Francesco Cesarini is the founder and CTO of Erlang Training and Consulting. He has used Erlang on a daily basis for almost 15 years, having started his career as an intern at Ericsson~s computer science lab with the inventors of Erlang, he moved on to their training and consulting arm working with the first turnkey solutions and flagship applications. In 1999, he founded Erlang Training and Consulting. With offices in the UK, Sweden, Poland (and soon the US), they have become the world leaders in Erlang based consulting, contracting, training and systems development. Francesco has worked in major Erlang based projects both within and outside Ericsson, and in his role as CTO, is currently leading the development and consulting teams at ETC. He is also the co-author of Practical Erlang Programming, a book soon to be published by O~Reilly.