Programming Scalable Systems

Universidad Politécnica de Madrid
LEVEL
Bachelor student 
TYPE
Course, workshop, MOOC, seasonal school
MODES
In person
LANGUAGE
-
ECTS
30
PERIOD
01/02/2023 to 30/06/2023

Course Description

The implementation of applications or services with a strong presence on the Internet, such as social network applications, present great challenges: design and programming of back-ends (services) that support the popularization of the application, and design and programming of front-ends (mobile applications and web applications) with a good user experience, elegant interfaces, and efficient access to the back-end. The course focuses on the design and programming of the back-end of this type of applications. We list some of the fundamental requirements: 1. Availability (always attending requests) 2. Reliability (fault tolerant) 3. Scalability (huge numbers of simultaneous requests). 4. Maintainability (easily adaptable to new requirements) 5. Accessibility (well-structured APIs for the front-end service). The course delves into the Erlang/OTP ecosystem and the Elixir language. Elixir takes advantage of the Erlang virtual machine, well known for its ability to run low-latency, distributed, and fault tolerant systems. Some examples of applications and systems where these languages have been used are: WhatsApp, Cabify, bet365, Nintendo Switch multi-user online gaming or RabbitMQ.

Educational-info

ECTS

30

Validation mode

Check in learning guide in URL column

Organizer

Partner

Universidad Politécnica de Madrid

Faculty

School of Computer Engineering

Department

Computer Languages,Systems and Software Engineering

Contact or registration links