Python Without Borders
VET Training for migrants, unemployed, new graduates, & adult educators​
Project 2023-1-BE02-KA210-VET-000152381
At GC Elzenhof Av. de la Couronne 12, 1050 Ixelles Daily 10:00-17:00 | 20€ Registration Fee
At Ingenious Knowledge Friedrich-Karl-Straße 200, 50735 Köln Daily 10:00-17:00 | 20€ Registration Fee
This project aims to bridge the gap between the high demand for coders in Europe and the difficulty refugees, immigrants, and unemployed people have finding jobs due to language barriers and other challenges.
​
The project will provide free online and offline resources to teach refugees and immigrants how to code in Python, a programming language that is in high demand. The resources will include in-person trainings, translated videos, and an ebook. By learning to code, refugees and immigrants will gain valuable skills that can help them find better jobs, improve their language skills, and become more integrated into their new communities.
Project Partners
Ingenious Knowledge GmbH is an SME and innovator in education on several levels. The company was founded in 2010 in Cologne, Germany, and has been working in close cooperation with education institutions, such as universities and schools, in order to develop new educational approaches. Its central focus is creating a new generation of education solutions with a focus on 'serious games'. Ingenious Knowledge believes that new generations grow up in a different world that requires new approaches to education. The company is constantly exploring new ways of using modern technology to improve the lifelong learning environment and make learning more accessible and more fun.
Programme
For 5 days, courses are followed from 10am through 5pm with a lunch break in between.
Day 1
Introduction to Python:
-
What is Python —history, applications, and why Python is popular
-
Installing Python and setting up the programming environment
-
Running Python scripts ("Hello World" first programme)
-
Python syntax and basic commands
Session 2: Basic Syntax and Data Types
-
Basic Syntax
-
Basic Data Types
-
Simple Operations: Arithmetic operations, string operations.
Session 3: Input and Output
-
User Input: Using input() function.
-
Printing Output: Using print() function.
-
Basic Text Formatting
Session 5: Conditional Statements
-
If, Elif, Else
-
Comparison and Logical Operators: ==, !=, >, <, and, or, not.
Session 6: Practice Examples
-
Exercise 1: Basic calculator
-
Exercise 2: Greeting program that takes user's name and greets them
-
Exercise 3: Program that checks if a number is positive, negative, or zero.
-
Exercise 4: A program that asks for a user's age and tells them if they are a minor, an adult, or a senior.
​
Day 3
Session 1: Advanced Data Structures
-
Dictionaries, Tuples and Sets
Session 2: Working with Data Structures​
Session 3: Practical Examples
-
Exercise 9: Program that counts the frequency of each word in a given text.
-
Exercise 10: Program that stores and retrieves student information using dictionaries.
Session 4: Modules and Packages
-
Importing Modules
-
Standard Library: Overview of useful standard modules.
-
Creating Your Own Module: Writing and using custom modules.
Session 5: File Handling
-
Reading Files and Writing Files
Session 6: Practical Examples
-
Exercise 11: Program that reads a text file and prints its content.
-
Exercise 12: Program that writes user input to a text file.
Day 5
Session 1: Project introduction
-
Project: A project combining everything using COVID data, downloading, treating those files, and getting certain data out of it.
-
Structure: Introduce an expected file structure.
Session 2: Developing the project​
Session 3: Project Review and Improvements.
-
Volunteers show off their progress for review. We develop the project from scratch, showing off common issues or areas that could be improved.
Day 2
Session 1: Introduction to Lists
-
Lists: Creating, accessing, and modifying lists.
-
Looping Through Lists: Using loops to iterate over lists.
Session 2: Loops
-
For Loop and While Loops
-
Controlling loop flow.
Session 3: Practical Examples
-
Exercise 5: Program that prints all even numbers from 1 to 100.
-
Exercise 6: Program that calculates the sum of all numbers in a list the user provides.
Session 4: Functions
-
Defining Functions: Using the def keyword.
-
Returning values from functions.
-
Local vs Global Variables: Understanding scope.
-
Lifetime: When variables are created and destroyed.
Session 5: Error Handling
-
Understanding exceptions and handling them
Session 6: Practical Examples
-
Exercise 7: Program that defines a function to check if a number is prime.
-
Exercise 8: Program that catches and handles division by zero errors.
Day 4
Session 1: Introduction to Object-Oriented Programming (OOP)
-
Classes and Objects: Defining and using classes.
-
Methods and Attributes
-
Inheritance: Basic inheritance concepts.
Session 2: Advanced OOP Concepts
-
Polymorphism
-
Encapsulation
-
Class and Static Methods
-
Magic Methods
Session 3: Practical Examples
-
Exercise 13: Define a BankAccount class with attributes for balance and methods for deposit, withdraw, and check balance. Use encapsulation to protect the balance attribute.
-
Exercise 14: Create a class hierarchy for Vehicle, Car, and Bike with methods specific to each class. Implement polymorphism by overriding methods in derived classes.
Session 5: Working with Libraries
-
Popular Libraries: Overview of libraries like requests, numpy, and pandas.
-
Installing Libraries
Session 6: Exercises with Libraries
-
Exercise 18: Working with pandas
-
Task: Data manipulation and analysis.
-
Instructions: Use pandas to load a CSV file, manipulate the DataFrame, and perform basic analysis (e.g., group by, filter, aggregate).
-
-
Exercise 19: Working with matplotlib
-
Task: Create visualizations.
-
Instructions: Use matplotlib to create different types of plots (e.g., line plot, bar chart, histogram) and customize them (e.g., titles, labels, legends).
-
Project Outcomes
In person trainings held for refugees/immigrants in partner countries along with course materials.
Videos with translation in migrant majority languages: translated and subtitled in the most frequently spoken languages among migrants in Europe (including: German, Arabic, Ukrainian, Russian, Persian/Dari, Turkish).
Ebook for individuals and institutions that work with refugees and immigrants. The outcome will be adapted and improved in a one week intensive training to a group of refugee/immigrants in which we create a more tailored course suitable to their linguistic and educational background.