Welcome to Programming II
Although this course is given in both Swedish and English we will keep only one English version as the course web.
We will use Elixir as our language of choice in this course but the course is not only about learning Elixir - we use Elixir to explore functional and concurrent programming. You will need to learn programming in Elixir but focus is not on Elixir specifics. The things that we cover in the course is applicable to all functional programming languages.
We will use online tutorials and documentation and recommended readings instead of a course book. This material is to learn how to use Elixir as a programming language. If you rather want to have a book, you will find recommended literature below.
Online tutorials and documentation:
- Elixir: Home - all documentation of the language
- Elixir: Getting started - the programming concepts that we will use
- Elixir School - a good tutorial
- Exercism: Elixir - a place to test your skills
New for this year is that we provide all exercises and seminar tutorials using GitBook. This is still a work in progress but we will add more content as we go.
We will also provide all course material on Github. This is so that you can have easy access to all material and also help in extending the material. If you don't know how to clone a git repository the TA:s will help you.
If you want to see what previous years students have said about the course you will find the results from the questionnaires here:
One can summarize the comments in:
- "start to program early"
- "do the assignments"
- "attend the seminars"
"It is absolutely essential that students taking this course have a good understanding of the concepts in the Algorithms and Data Structures course to have a chance of getting a few points on the exam, let alone passing the course."
"You should treat the exercises and seminars as mandatory so that you keep programming regularly throughout the course as I found this to be an effective way to study for the exam and learn the content."
Previous we have used Erlang in this course. We have however switched to Elixir since it has a more traditional syntax and some other improvements. Elixir is very similar to Erlang in its structure and runs on the same backend machinery. If you learn Elixir you can easily switch to Erlang and vice verse.