Advanced Course: Programming in Erlang

Date: 12/06/2015

Eduardo Marques, organized an Advanced Course ministered by Prof. Wojciech Turek, from University of Science and Technology of Krakow, Poland, under the Erasmus Teaching Mobility Program, about programming in Erlang. Besides Prof. Eduardo several other LaSIGE members attended the course, that counted as well with registrations from Bachelor and Master students from DI|FCUL courses, and several external participants from Instituto Politécnico de Setubal and industry.

Advanced Course

Title: Functional and Concurrent Programming in Erlang
Dates: June 3-4
Location: FCUL, Lisbon

– Basic concepts and paradigms of programming, functional programming assumptions, the mechanisms used in functional languages, functional languages extensions.
– Erlang overview: history, aims, main concepts and applications.
– Erlang basics: simple types, operators, complex types, variables, pattern matching, functions and modules, built-in functions, conditional statements, guards, recursion, tail calls, lists comprehensions, records, higher order functions.
– Models of concurrent computation, the model of actors and message exchange, Erlang processes, interprocess communication mechanisms, process registry, joining processes, error handling.
– Agent systems in Erlang. Evaluation of process creation and message passing performance. Evolutionary Multi-agent Systems in Erlang. Scaling Erlang applications up to 64 cores. Methods for computations parallelization.

Wojciech Turek received his Ph.D. in 2010 at the Department of Computer Science of the AGH University of Science and Technology in Krakow, Poland. He is working at the AGH University in the Intelligent Information Systems Group, focusing his research around multi-agent systems and mobile robots programming. He is a coordinator of a National Science Centre project on planning methods for groups of autonomous beings. He is also involved in research on applications of functional programming in computation and simulation within EU projects.