WannesFransen1994 / elixir-learning-materials

repository that contains multiple learning materials with code examples.
Other
16 stars 64 forks source link

Elixir learning materials

Introduction

Elixir is a dynamically-typed functional programming language built upon the Erlang VM. With this we can create low-latency, scalable, maintainable and fault-tolerant systems.

It is also used successfully in other domains such as IoT, web development, data processing and so on.

Purpose

The purpose of this repository covering different aspects of Elixir is to provide new Elixir developers a step-by-step roadmap that they can follow. Our approach is mostly exercise oriented with some being small extension upon others, while some exercises might be bigger.

While giving this course at UCLL, some students reported that a lot of small exercises which you extend every time is a good approach. Other students got demotivated by this, wanted a bigger exercise and freedom as to how they could solve it. Our conclusion was that there's no "golden approach" and tried to provide both. One thing we all agreed on was that providing the solution was a must. Though the self discipline to implement the exercise without looking at the solution proved to be a different issue.

We've seen books that cover specific topics, or wonderful videos how you can implement certain features. (ref. PragProg books, ElixirCasts, or general blog posts). Yet when you're completely new to a language, this can be overwhelming. This is our attempt to guide new developers and to provide a fundamental understanding of these technologies.

Origin

As mentioned earlier, these learning materials were originally behind a login portal for UCLL students following the Distributed Applications / Internet Programming Major course. The courses were reformed during the academic year 2019-2020, thus being rather young and some aspects might still be incomplete.

We hope that with making these materials open source, we close the gap between company needs and academical approaches. Another problem that occurs often is that course content is outdated, no longer applicable, or that the teachers are simply unaware of new technologies / techniques. We hope to resolve this problem with involving the community.

Theory

While practice and exercises are all good and well, understanding the theory is necessary. Don't forget to pay attention to important reading materials.

Special thanks and sponsors

Special thanks to the following people (in no particular order):

Maybe sponsor is the wrong word, but most of these materials were initially funded by UCLL. If they didn't decide to adopt Elixir, this wouldn't have been possible.

Contributing

Any contribution to any of the mentioned learning materials is appreciated. Check our CODE_OF_CONDUCT.md and CONTRIBUTING.md guides for more information.

License

Elixir learning materials (c) by Wannes Fransen

Elixir learning materials is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

You should have received a copy of the license along with this
work.  If not, see https://creativecommons.org/licenses/by-nc-sa/4.0/ .