Title: About this learning block
Course: Start programming with Python in 10 steps

This is a guide on how to start programming with Python if you are a student of language or linguistics considering a career in technology and science, or anyone with a similar background and interests. Here are your 10 steps for a workload of 5ECTS:

- Step 1: Enter the world of programming
- Step 2: Watch Python code demo
- Step 3: Write and run your first programs
- Step 4: Figure out some details
- Step 5: Get out of your notebooks
- Step 6: Start matching with regular expressions
- Step 7: Grow your dictionaries
- Step 8: Web is the limit
- Step 9: Organise your code with functions and classes
- Step 10: Contribute your code

Created by Tanja Samardžić (University of Zurich), Marc Tanti (University of Malta) and Lonneke van der Plas (University of Malta)

Click on the tiles to display the contents of the corresponding step. In each of them, you will find:

- The most important concepts
- The most convenient resources to learn from
- Tips on how to learn actively
- Games and challenges to help you go through the steps

Designed especially for you, this guide should help you learn in a way that makes you feel good and confident. Some things will be really easy, some will be really hard, but that is all part of programming and it is all for you!

How to use this guide

The intended use is supervised study: a student completes the steps by learning actively under the supervision of a teacher. To complete all the steps in the guide, you will need to invest around 150 hours of active learning, which includes various activities: reading, watching videos, installing and setting up programs, taking quizzes and writing programs. This work corresponds to 5 ECTS.

The teacher should give you feedback on your progress according to your mutual agreement. The minimum required feedback from the teacher are solutions to some of the tasks. We will share these solutions with the teacher on request. It is in your best interest not to see the solutions before you solve the tasks yourself.

These are some of the things you will be able to do when you start programming (learning outcomes):

- Write or modify a simple Python script for text processing (e.g. to convert data to a given format)
- Calculate and output simple statistics  (e.g. bigram frequency distribution)
- Work with Python libraries (e.g. NLP with spaCy, web crawling)
- Work in a collaborative mode (e.g. use servers, Git)

Good luck and have fun learning!

Illustrations by Storyset