Tutorial Programmeren in Python

Welkom bij de UHasselt tutorial die jou leert programmeren in Python.


Hoe steekt deze tutorial in elkaar?
Om te beginnen moet je weten dat er 115 Python oefeningen/opdrachten op jou staan te wachten. Die 115 oefeningen gaan over de volgende onderwerpen:
  • de input() en print()-functies
  • werken met getallen (floats & integers)
  • werken met strings
  • het if/else-statement
  • de for- en de while-lus
  • werken met lijsten (lists), 2D-lijsten, sets en dictionaries

Daarmee hebben we een ruime basis behandeld (eens we zover zijn zullen we nieuwe oefeningen over andere onderwerpen toevoegen, maar first things first).

De 115 oefeningen stellen we voor iedereen vrij ter beschikking via het online programmeerplatform repl.it. Door met repl.it te werken vermijden we bovendien dat je een eigen programmeeromgeving moet installeren op je computer.

Waar haal je systematisch de kennis vandaan om deze oefeningen te kunnen maken?
Daarvoor hebben wij video's ontwikkeld, in functie van deze oefeningen. Elke video is zo kort mogelijk en behandelt bij voorkeur slechts 1 onderwerp. Dat heeft het grote voordeel dat je een specifiek onderwerp makkelijk(er) kan terugvinden. De video's stellen we voor iedereen vrij ter beschikking via Youtube. Ons Youtube kanaal heet "UHasselt Tutorials". Voorlopig vind je op "UHasselt Tutorials" enkel de afspeellijst terug van de tutorial "Leren programmeren in Python" maar daar zal zeker verandering in komen.

Op deze pagina vind je een algemeen overzicht terug van de tutorial. Hier zie je de volgorde van de video's, laten we zien wanneer je welke oefening kan maken, en hebben we plaats om extra tips en links te plaatsen.

We hopen dat we hiermee slagen in onze opzet, namelijk iedereen die wil ontdekken wat programmeren precies inhoudt die kans te geven. We hebben ons best gedaan om zo veel mogelijk hindernissen weg te nemen. Zoals je op het einde van elke video hoort, kan je inhoudelijke vragen en opmerkingen over elke video kwijt in de commentaren van Youtube of via de Twitter-account van Dirk Peeters.

Heb je vragen of opmerkingen bij het geheel van deze cursus dan kan je ook contact opnemen per mail op dirk.peeters@uhasselt.be.

Video's

Introductie tutorials Python

Bekijk hier de video.

In deze video introduceren we de videoreeks, 'Python'. We maken kennis met Python als programmeertaal en met repl.it als online programmeeromgeving.

Introductie programmeeromgeving

Bekijk hier de video.

In deze video maak je kennis met de online programmeeromgeving repl.it.

Berekeningen met twee gehele getallen

Bekijk hier de video.

In deze video tonen we je hoe je eenvoudige berekeningen - met 2 getallen - kan uitvoeren in Python en leer je de datatypes integer en float kennen. 

De functie print() en het datatype string

Bekijk hier de video.

In deze video introduceren we het concept “functie” en leer je de functie print() en het datatype string kennen.

Variabelen en lades

Bekijk hier de video.

In deze video is er slechts één doel, duidelijk maken wat variabelen zijn. We ontdekken wat de overeenkomsten zijn tussen een lade en een variabele & we leren de juiste woorden kennen, om over variabelen te denken en te spreken.

De toekenning (assignment statement)

Bekijk hier de video.

In deze video creëren we variabelen, geven ze een naam en kennen er een waarde aan toe

Werken met variabelen, expressies en commentaarregels

Bekijk hier de video.

In deze video passen we de opgedane kennis mbt. variabelen toe. Dat doen we door een kort programma te schrijven. Tussendoor laten we ook zien wat een expressie is en leren we commentaarregels gebruiken.

De functie input() en het plakken van strings

Bekijk hier de video.

In deze video leren we de functie input() kennen, en leren we strings aan elkaar plakken.

De functie int()

Bekijk hier de video.

In deze video leren we de functie int() kennen, die ons toelaat een string om te zetten in een integer. Dit is de eerste uit een reeks “type conversion” functies. 

Datatypes en de functie type ()

Bekijk hier de video.

In deze video lichten we het begrip datatype toe alsook de bijpassende functie type(). We leren ook dat Python een datatype toekent aan waarden door het volgen van afspraken en regels.

Eerste oefeningen maken in Dodona

Bekijk hier de video.

In deze video tonen we je waar je de oefeningen kan vinden die bij deze tutorial horen. En we gaan na hoe oefeningen maken in Dodona juist in z’n werk gaat.

De functie str()

Bekijk de video hier.

In deze video leren we de functie str() kennen, die ons toelaat om een getal om te zetten in een string. Dit is de tweede functie - na de functie int() - uit een reeks “type conversion” functies. Oefeningen: 1.4 & 1.5

De machtsverheffing

Bekijk hier de video.

In deze video leren we hoe we een getal tot een macht verheffen EN hoe we machtswortels van getallen berekenen. 

De voorrangsregels

Bekijk hier de video.

In deze video schenken we aandacht aan berekeningen met meer dan 2 getallen. Op die manier leren we de voorrangsregels der bewerkingen kennen.

Floor division and modulo

Bekijk hier de video.

In deze video leren we de dubbele breukstreep kennen als het symbool voor de geheeltallige deling of floor division, en het percentageteken als symbool voor de modulo- of restberekening. Oefeningen: 2.1 tem. 2.A

Meer over strings en aanhalingstekens

Bekijk hier de video.

In deze video leren we naast de 4 symbolen die toelaten om strings af te bakenen o.a. de lege string kennen. De backslash als speciaal teken met een bijzondere functie passeert ook de revue.

Meerdere waarden printen en de Python Usr Manual

Bekijk hier de video.

In deze video leren we (1) meerdere waarden printen via één enkel print-statement, (2) dat die geprinte waarden standaard gescheiden worden door een spatie, en (3) dat elke print-regel eindigt door naar een nieuwe regel te springen. We maken ook kennis met de Python User Manual. Oefeningen 2B, 2C & 2D kunnen nu gemaakt worden.

De functie float()

Bekijk hier de video.

In deze video leren we de functie float() kennen, die ons toelaat een string om te zetten in een float. Dit is de derde functie - na de functies int() en str() - uit een reeks “type conversion” functies. Oefeningen: 2E en 2F. null

De booleaanse expressie of bewering (True/False)

Bekijk hier de video.

In deze video introduceren we de booleaanse expressie en leren we True en False kennen als de 2 enige Booleaanse waarden. Tot slot zien we dat er een link is tussen booleaanse expressies en de taalkundige ALS/DAN constructie. Na deze video zijn we klaar om in de volgende video het IF-statement te introduceren.

Het if-statement (ALS/DAN)

Bekijk hier de video.

In deze video maken we kennis met het IF-statement, in z’n meest éénvoudige vorm. We zien de analogie tussen de taalkundige constructie ALS/DAN en het IF-statement. We leren de syntax-regels, die gevolgd moeten worden om een if-statement toe te passen in Python, kennen. We zien het nut in van het inspringen van code (indentation), waardoor er zogenaamde “code blocks” worden gevormd & we werken een voorbeeld van een IF-statement uit in de editor.

De relationele operatoren

Bekijk hier de video.

In deze video maken we kennis met de relationele operatoren (>, <, <=, …) die ons toelaten om waarden met elkaar te vergelijken. De relationele operatoren zijn erg handig voor het bouwen van booleaanse expressies. Voor getallen geldt de getallen-as als rangschikking, voor strings geldt de alfabetische rangschikking.

Het if-statement (1° uitbreiding) (if/else)

Bekijk hier de video.

In deze video breiden we het gekende if-statement uit. Naast de takenlijst, die uitgevoerd wordt als de bewering evalueert naar de waarde True, voegen we een alternatieve takenlijst toe, die uitgevoerd wordt als de bewering evalueert naar de waarde False. Hiervoor hebben we het if/else-statement nodig. Naast de syntax-afspraken behandelen we een eerste eenvoudig voorbeeld van het if/else-statement in de editor. Oefeningen 3.1 tem. 3.6 kunnen nu gemaakt worden.

De booleaanse operatoren "or" en "not"

Bekijk hier de video.

In deze video leren we 2 van de 3 booleaanse operatoren kennen. Booleaanse operatoren zullen ons toelaten om verschillende booleaanse expressies te combineren. Dat zal erg handig blijken, wanneer verschillende if-statements eenzelfde takenlijst hebben. 

De booleaanse operator "and"

Bekijk hier de video.

In deze video leren we de booleaanse operator and kennen. Ook deze booleaanse operator zal ons toelaten om verschillende booleaanse expressies te combineren. De booleaanse operator and zal erg handig blijken wanneer verschillende booleaanse expressies samen de uit te voeren takenlijst bepalen. We leren ook de term “genest if-statement” kennen. > Je kan nu oefeningen 3.7 tem 3.C maken

De backslash

Bekijk hier de video.

In deze video hebben we het eindelijk nog eens over de backslash. De backslash is een teken dat we eerder tegenkwamen maar waar we nu meer over te weten komen. De backslash is een teken met bijzondere eigenschappen. De backslash is als het ware de Harry Potter onder de tekens. 

Het if-statement (2° uitbreiding) (if/elif/else)

Bekijk hier de video.

In deze video breiden we het ondertussen gekende if-statement een tweede maal uit, namelijk tot het if/elif/else-statement. 

Inbegrepen (built-in) functies

Bekijk hier de video.

In deze video maken we kennis met enkele inbegrepen, en dus veel gebruikte, Python functies. In het Engels heeft men het over de built in functies. We herhalen de overeenkomsten tussen het concept broodbakmachine enerzijds en een functie in Python anderzijds. De functies abs(), min(), max() en pow() worden getoond. Oefeningen: 3.L tem 3.O

Iteraties/herhalingen (introductie)

Bekijk hier de video.

In deze video tonen we hoe we repetitief werk door Python kunnen laten uitvoeren. Met repetitief werk bedoelen we een taak of takenlijst die herhaald moet worden. We tonen dat, ook Python, over 2 soorten lussen beschikt om takenlijsten - die (meermaals) herhaald moeten worden - uit te voeren. We analyseren de herhaling adhv het spel “ Latje trap”, en introduceren vervolgens de for- en de while-lus.

Iteraties: de while-lus

Bekijk hier de video.

In deze video behandelen we de While lus. De while-lus is één van de 2 manieren om herhaling toe te passen in Python.

Het gereserveerde woord "in" (lidmaatschapcontrole)

Bekijk hier de video.

Het gereserveerde woord (keyword) “in” laat ons toe te controleren of een specifiek element voorkomt in een bepaalde groep elementen. Het keyword “in” wordt ook wel de “Membership operator” genoemd.

Iteraties: de for-lus (adhv string)

Bekijk hier de video.

In deze video introduceren we de for-lus. De for-lus is één van de 2 manieren om herhaling toe te passen in Python. Het gebruik van de for-lus, is beperkt tot die situaties waar - bij de start van de herhaling - reeds vast staat hoe vaak de herhaling zal uitgevoerd worden.

Iteraties: de for-lus & de functie range ()

Bekijk hier de video.

In deze video breiden we onze kennis over de for-lus uit. We leren namelijk de functie range() kennen, een functie die heel vaak gebruikt wordt in combinatie met de for-lus. De functie range() biedt ons een andere oplossing voor situaties waarbij het aantal herhalingen - al voor de start - vast staat. De werking van de functie range() leren we in deze video kennen a.d.h.v. een aantal voorbeelden

Keyword argument "sep" & de functie print()

Bekijk hier de video.

In deze video introduceren we “keyword arguments” oftewel trefwoord-argumenten. Dat doen we aan de hand van het keyword argument “sep” dat bij de functie print() hoort. We ondervinden dat keyword arguments de functionaliteit van functies aanzienlijk kunnen uitbreiden.

Keyword argument "end" & de functie (print)

Bekijk hier de video.

In deze video behandelen we een tweede keyword argument van de functie print(). Namelijk het keyword argument end. De functie van het keyword argument end tonen we aan de hand van een voorbeeld in de editor. Daarna combineren we beide keywords in een opeenvolging van print-opdrachten. Tot slot laten we zien hoe je, dmv de Python user manual of de functie help(), te weten komt welke keyword arguments er bij een inbegrepen functie horen. Het nut van keyword arguments bij het gebruik van een functie zou daarmee begrepen moeten zijn

Introductie datatype list + gebruik for-lus

Bekijk de video hier.

In deze video introduceren we eindelijk nog eens een nieuw datatype. Namelijk het datatype lijst/list. Lijsten gebruiken we vaak in het dagelijkse leven, maar ook bij het ontwikkelen van software. Lijsten zijn geordende collecties en kunnen gebruikt worden in for-lussen. Dat tonen we ook in deze video.

Uitbreiding functie print() - printen van objecten (sterretje)

Bekijk de video hier.

In deze video breiden we de functionaliteit van de functie print() nogmaals uit. We leren een lijst af te drukken als geheel, maar ook als afzonderlijke elementen op afzonderlijke regels. Het symbool sterretje speelt daarbij een bijzondere rol. Oefeningen: de kennis over het datatype lijst volstaat nog niet om oefeningen op lijsten te maken. Nog even geduld dus. 

"Bumping" - een variable (verkorte notatie)

Bekijk de video hier.

In deze video tonen we de verkorte notatie voor het wijzigen van een variabele. Deze verkorte notatie wordt vaak gebruikt wanneer de nieuwe waarde van een variabele gebaseerd is op de vorige waarde. 

De functie len()

Bekijk hier de video.

In deze video bespreken we de inbegrepen functie genaamd len().

String Indexing (oplopende nummering)

Bekijk hier de video.

In deze video leren we één teken in een stringwaarde te benaderen en daarna zoeken we uit of één teken in een stringwaarde eenvoudig vervangen kan worden door een ander teken.

String Indexing (aflopende nummering)

Bekijk de video hier.

In deze video breiden we onze kennis met betrekking tot het benaderen van één teken uit een stringwaarde uit. En wel door de aflopende nummering te introduceren. 

String Slicing

Bekijk de opleiding hier.

In de vorige videos leerden we hoe we individuele tekens van een stringwaarde kunnen benaderen door gebruik te maken van index-waarden en dat daarvoor zowel oplopende als aflopende nummering gebruikt kan worden. In deze video breiden we onze interesse uit van een individueel teken naar een aantal opeenvolgende tekens van de stringwaarde. Dat wordt in het Engels een “substring” of een “slice” genoemd.