## Omschrijving

Programmeren is doen! Als je programmeren goed onder de knie wilt krijgen, zul je er uren in moeten steken. Je zult moeten zoeken naar projecten die jij leuk vindt en die iets toevoegen voor jou.

## Leerdoelen:

1. Libraries importeren
2. Werken met de turtle library
3. Een vierkant maken met turtle
4. Een driehoek maken met turtle
5. Werken met vormen en kleuren.

## Theorie

Turtle is een Python library die in het standaard pakket van Python libraries is ingebouwd. Turtle maakt het mogelijk om afbeeldingen en vormen te gebruiken in Python. Deze library is heel divers en laat zien hoe je een library gebruikt. Turtle wordt ook gebruikt om 2D games te maken. Om beter te begrijpen wat turtle doet zijn de termen library, functie en variable hieronder uitgewerkt.

## Library

Library is het Engelse woord voor bibiliotheek, maar omdat het een programmerterm is gebruiken we altijd library en niet bibilotheek. Een library is net als een bibliotheek een locatie waar verschillende soorten boeken worden bewaard. Je kunt alle informatie die jij nodig hebt altijd bekijken in de library. In programmeren is de library een groep van belangrijke functies en methoden. Deze functies en methoden kun je zien als de boeken van de bibliotheek. Deze functies maken programmeren een stuk makkelijker.

Om een library aan te roepen gebruik je:

    import

Import staat altijd bovenaan je programmerprogramma, omdat elk stuk code dan gebruik kan maken van deze library. Er is een aantal onderlinge afspraken tussen programmeurs, zodat de code van een ander makkelijker te lezen is mede hierom staan de libraries altijd boven aan.

## Functies

Functies maken het makkelijker om te programmeren. Tijdens programmeren gebruik je vaak dezelfde code om taken uit te voeren. Functies zijn de bouwblokken van code. In een functie staat code die vaak her en der gebruikt wordt één keer goed omschreven, zodat je het altijd kunt aanroepen.

Programmeertalen hebben vaak al veel ingebouwde functies zoals input() en output(). Die vooraf zijn gemaakt door andere programmeurs. Het is ook mogelijk om zelf functies te definiëren, als je zelf een functie hebt gedefinieerd kun je deze zo vaak oproepen als je wilt binnen dezelfde code.

Er is wel een belangrijk verschil tussen ingebouwde functies en zelf gedefiniërde functies: ingebouwde functies zijn aan te roepen in elk stuk code. Zelf gedefiniërde functies zul je in elk stuk code dat je gebruikt opnieuw moeten definiëren.

## Variable

Variables worden in programmeren gebruikt om informatie op te slaan die later in de code gebruikt kan worden. In andere programmeertalen is er een specifiek commando om een variable te declareren (vast te stellen) dit hoeft niet in Python.

Een variable wordt gecreeërd op het moment dat je er een waarde aan koppelt.

    x = 4
    y = "Jan"

    print(x)
    print(y)

Je kunt verschillende soorten waarde koppelen. Je hebt verschillende soorten waardes:

- number: bestaat enkel uit cijfers.
- string: kan uit letters en/of nummers en/of leestekens bestaan.
- list: een verzameling van verschillende waardes.
- dictionary: koppelt sleutels aan waardes.

In het voorbeeld is x een variabale met een number waarde en y een variable met een string waarde.

Je initialiseert een variable wanneer je een startwaarde koppelt aan de variable. Een variable kan (meerdere keren) van waarde veranderen tijdens het uitvoeren van de code.

!LET OP: als je een variable een naam geeft moet je een logische naam kiezen die makkelijk te onthouden is en waarin de kans dat je fouten maakt klein is. Dit is vooral belangrijk als je de variable vaak gaat gebruiken. In de komende praktijkopdracht kom je bijvoorbeeld een variable met de waarde turtle.getscreen() tegen. Een lange naam zoals turtle_screen_naam is moeilijk om vaak foutloos te typen en een naam of een willekeurige letter is niet logisch om te onthouden. Kies daarom een logische naam of letter. Hier zou je kunnen kiezen voor screen als variable naam of de letter s de eerste letter is makkelijk te onthouden.