Intro

Before you start your first exercise, here are a few things you may want to look at first.

Exercise Materials

If you prefer to work on your own computer, make sure you installed all required software, as listed in the General Information section.

Note

While the language used in this course is Python, you are free to use a different language you feel more comfortable with.

Compiled or Interpreted

There are a few differences between compiled and interpreted languages. These are highlighted below in a simplified manner, which may (a) help you decide on a language you’d like to use, and (b) exaplain the difference in workflows if you previously used an interpreted language and now want to learn a compiled language (or vice versa).

Compiled Language: The whole programme is translated into machine code (i.e. your computers “language”) by a so-called compiler. In the compilation process, a new file is created (separate from the text file you wrote your code into). This (executable) file can be run as a programme without the need of the original code (text file).

  • Analogy: It can be thought of as the process of translating a poem completely into another language, then reading the translated poem to an audience. The original poem (script) and translator are no longer needed.

  • Examples: Fortran, C++

  • Advantages: Usually faster performance, easy to control optimisations during compilation.

Interpreted Language: The programme does not have to be translated into machine code before execution. Instead, when you run your programme, your code (in the text file) is translated line-by-line by a so-called interpreter.

  • Analogy: It can be thought of as someone reading a Bavarian poem and translating it line-by-line into English to an audience. The original poem (script) and translator are still needed.

  • Examples: Python, JavaScript

  • Advantages: More convenient, no need for manual compilation.

Terminology

In this exercise series, you will be introduced to some vocabulary you may not yet know. A complete list the terminology used in this course (incl. definitions and examples) can be found in the DICTIONARY.

Experiment, Ask Questions, Have Fun!

../_images/question_cc0.jpg

Note that the exercises are designed for you to experiment and have fun with. Don’t worry if you go in a direction you feel deviates from what is usually expected in such a course. Experimentation will help you develop a solid grasp of the taught concepts. This is important since subsequent exercises will build on previously leanred concepts.

Your work and questions will give me an idea of where I can support you more or improve the course. We all started learning at some point, so don’t worry if your questions seem basic. Happy to help you learn! :)

Warning

Your knowledge and skills build up progressively in the exercise series. You use concepts and script written in previous exercises. You should therefore make sure you do not miss any exercise, or catch up before the subsequent exercise.

… now that this is out of the way, you’re good to go!