Python materiaal in de aanbieding

Ik ben groot fan van Python en werk in mijn 5e klas (VWO) met codecademy, aangevuld met mijn eigen opgaven. Voor extra verduidelijking heb ik een stelletje Youtube video’s gemaakt met uitleg die leerlingen thuis makkelijk terug kunnen kijken (uitleg over lists, strings, loops, etc.)
Wellicht interessant voor andere Python docenten:

(Het is in Python 2.7, omdat het CodeCademy lesmateriaal dat ook is. De verschillen met Python 3 zijn minimaal, dus de filmpjes zijn ook voor python 3 prima te gebruiken.

Voor mijn 6 VWO klas verdiepen we Python met Object Oriëntatie. Hiervoor heb ik lesmateriaal gemaakt en een hele videotutorial over het maken van een text-based RPG in OO python
Lesboekje: https://www.sgdb.nl/informatica/images/klas6/python2/Wt_advanced_python_2018_v2.pdf
Videotutorial:
https://www.youtube.com/watch?v=JAqP0BpRSOQ&list=PLYObx1uB0_h3VCc5gsPu_ceEftTcF0UTR

Mijn vak webpagina met alle Python stof en aanvullend spul voor klas 5: https://www.sgdb.nl/informatica/index.php/klas-5/programmeren-met-python
Mijn vak webpagina met alle Python stof en aanvullend spul voor klas 6: https://www.sgdb.nl/informatica/index.php/klas-6/python-en-objectgeorinteerd-programmeren

Hopelijk maak ik er nog iemand anders blij mee. Als je nog tips of aanvullingen hebt, hoor ik het ook graag.

5 likes

Goede tip!

Relevante taal, zeker in de Data Science hoek en/of voor de Raspberry Pi aanhangers. Ik heb er tijdens paar weekjes dat ik op Hageveld (lio / master stage) m.b.v. CodeSchool leerlingen mee leren programmeren. Enige nadeel wat ik ervoer aan het leerlingen grotendeels zelfstandig CodeSchool door laten werken is dat ze soms bepaalde concepten toch niet helemaal geweldig oppikken (waren allemaal VWO-ers, dus wellicht nog grotere issue bij HAVO).

Vanuit Software Engineering heb ik persoonlijk overigens wat meer moeite met Python, is mooie aanvulling op andere talen, maar stand-alone is het maar van beperkte waarde (tenzij je het in specifieke gebieden inzet zoals Data Science / Machine Learning). Echt netjes (SOLID e.d.) programmeren met Python is geen sinecure en daar zijn andere talen (Swift, C#, zelfs Java) beter op ingesteld merk ik. In het VO is dat minder relevant maar in het hoger onderwijs en ICT beroepspraktijk wel. Neemt niet weg dat ik het voor VO een mooie taal vindt, scope leer je er snel mee, ook vrijwel andere basis constructen van code programmeren. Ik gebruik het ook in onderzoeksproject, zowel voor data analyse als operationeel, maar wel in samenwerking met C++ en Swift.

1 like

Ik merk met codecademy ook dat niet bij iedereen alle concepten doorkomen. Daar heb ik precies deze filmpjes voor gemaakt. Voorbeelden met uitleg van belangrijke basisconcepten. Dat aangevuld met wat klassikale voorbeelden en extra opgaven helpt een heleboel.

Het klopt dat python minder gestructureerd is dan veel andere talen zoals Java/C#/etc. (Een van de motto’s van Python is ook “It’s better to ask for forgiveness than permisson”). Toch is dat voor het VO een groot voordeel wat mij betreft, omdat de instap een stuk lager is. Het hoofddoel van Programmeren van het VO is kennismaking met de manier van denken van een programmeur en problemen oplossen door ze in delen op te hakken en gestructureerd aan te vliegen (computational thinking). En of ze dat dan net iets minder strak gestructureerd doen is op dat moment even minder belangrijk. En als je eenmaal 1 programmeertaal spreekt, is de stap naar een andere zo gemaakt.

Door wat grotere opdrachten te gaan tackelen (ik laat ze in een EindPO een bordspel maken met PyGame) kom je er als beginnend programmeur snel genoeg achter dat je bij grotere projecten dingen wel gestructureerd moet aanpakken, omdat het anders niet meer te overzien en onderhouden is.

2 likes

Wat ontzettend fijn @JochumSGDB!
Ken je Numworks al? Een calculator met Python ingebouwd, leerlingen vinden een machtige machine.

Ga je materiaal zeker inzetten, doe ik je een plezier met feedback van leerlingen?

Hey Ramon,

Nee die kende ik nog niet. Ziet er tof uit. Als ik op het einde van het jaar nog wat sectiebudget over heb een cool speeltje om te bestellen :smiley:

Tof als je het gebruikt en feedback is altijd welkom. Verzoekjes voor nieuwe filmpjes mag ook. Ik heb nog een todolijstje ervoor

1 like

Dat Numworks ziet er echt gaaf uit! Bedankt voor de tip!

Mocht je een collega wiskunde kennen (wie kent er niet een), zij/hij kan een review exemplaar aanvragen op vertoon van een bevoegdheid.

Heb je een repo met issues/requests? Handig, dan kunnen anderen ook meekijken met het ontwikkelproces.

Ook België pikt dit op :slight_smile: Coool!

1 like

Zelf werk ik met repl.it waar ik opdrachten in maak welke leerlingen kunnen uitvoeren in de browser en ook kunnen inleveren.

Er zijn in de (gratis) community van repl.it ook veel opdrachten beschikbaar welke je allemaal mag hergebruiken en ook kan aanpassen!
Via deze link kom je bij het materiaal in Python: https://repl.it/community/classrooms/17929

Binnen de “Learn and Teach” is van enorm veel verschillende talen verschillende opdrachten te vinden (https://repl.it/community).

Mijn leerlingen en ik vinden het een prettige omgeving waar ook eenvoudig thuis mee verder gewerkt kan worden.

2 likes

Hey Ramon,

Nee gewoon een txt bestandje ergens :slight_smile:
Heb je tips om dat online te doen. Github?

Leuk van je tweet.

1 like

Repl.it is erg tof ja. Aantal goeie links Esther. Thanks!

Ik gebruikte het tot nu toe niet bij python, omdat voor mijn PO PyGame nodig was. Die is nu ook experimenteel geïmplementeerd zag ik. En je kunt tegenwoordig real-time samenwerken aan dezelfde repl.it. Ook niet gek.

Voor html/css is repl.it ook sjiek, omdat de pagina ook meteen live staat. Vinden kids leuk, want dan kunnen anderen je site ook online bekijken.

2 likes

Een goed voorbeeld is een repo van een soldeerpen met usb (als je nog budget over hebt; TS100). In deze lijst met issues kun je terugvinden welke problemen en oplossingen geboden worden. Zo ziet een ontwikkelaar snel of een product/dienst nog verder in ontwikkeling is. Voor i&i hebben we onze website ook gemaakt voor op GitHub. Inclusief alle issues die nog aangepakt moeten worden (en ze kunnen ook toegewezen worden aan teamleden).
De repo van i&i kun je hier vinden

1 like

Het forum wordt steeds leuker zo! Bedankt voor de tips allemaal!

1 like

Goeie tip. Ik zet het optuigen van een Github page op mijn todolist.
Meteen een goed excuus om daar nog wat ander hobbyprojectjes te dumpen :smiley:

2 likes

Swift is nog veel beter als instaptaal, Apple heeft twee hele goede digitale boeken, Intro to App Development with Swift en App Development with Swift. Super materiaal (beste wat ik ooit gezien heb op gebied van didactiek van programmeren, zitten hier en daar nog wel wat verbetermogelijkheden). Alleen grote nadeel: je hebt iPad ofwel Xcode nodig, dus mooi voor scholen met veel Mac’s of iPad klassen, maar voor veel anderen niet echt handig zeg maar.

Swift is veel beter qua concepten, je kunt er verschillende paradigma’s mee toepassen (met name functioneel en protocol geörienteerd, OO kan ook wel maar protocol georiënteerd (zoals interfaces in Java) heeft op veel gebieden toch de voorkeur. Allerlei sterke concepten uit andere professionele talen zijn bij elkaar gebracht en je kunt het zelfs combineren met andere talen (zeker met Swift 5).

Er is voor Android ook een op Swift kijkende taal in opkomst: Kotlin. Alleen is daar het lesmateriaal (nog) niet voor en is het de vraag of Google net zo goed in staat (lees: prioriteit stelt) goed lesmateriaal te maken.

Neemt niet weg dat ik Python ook nuttige taal voor VO vindt (zeker ook omdat o.a. Adafruit het in de vorm van MicroPython ook op steeds meer Arduino achtige bordjes ondersteunt (wat met de Microbit natuurlijk ook al zo was). Dus kom woensdag naar die i&i ledenvergadering want Aad heeft ons allen een Raspberry Pi Zero beloofd (nou ja, ik kom inmiddels om in de Rasperry Pi’s (op de Zero W na), maar het is wel een goed idee. En Felienne Hermans geeft ook nog een Python course dus ondanks het aangegeven warme weer gewoon doen! Wel even aanmelden natuurlijk!

1 like

Gisteren op de ALV een lezing van Felienne Hermans van Universiteit van Leiden over ‘leren programmeren’. Inspirerend!!!

Link naar haar materiaal voor python in (o.a.) onderbouw VO: https://github.com/Felienne/Python_in_de_klas

1 like

Ben heel actief met de Microbit. Laagdrempelig, tastbaar en ook met Python te gebruiken.

Hallo Jochum,

Ik geef pas sinds dit schooljaar informatica, dus mijn programma is nog behoorlijk in ontwikkeling. Ikzelf ben ook een fan van Python, door de eindeloze capabilities van de taal i.c.m. dat de taal relatief makkelijk is om aan te leren.
Mijn uiteindelijke droom zou zijn om Python als rode draad door heel veel domeinen heen te laten lopen, omdat dat leerlingen in staat stelt om direct iets te doen met alles wat ze leren i.p.v. “saaie theorie voor de toets” te leren. Ik vermoed dat dat zeer goed is voor hun motivatie. (Van B Grondslagen kan gespeeld worden met geïmplementeerde algoritmes, grammatica’s via regular expressions…, van C Informatie kan bijv. eenvoudig iets van een ASCII decrypter geschreven worden, D Programmeren is de basis van Python, H Databases kan verwerkt worden in bijv. een trivia game, I Cognitive Computing voor machine learning algoritmes zoals neurale netwerken en genetische algoritmen, J Programmeerparadigma’s met OOP Python, …)

Maar zover ben ik nog (lang) niet.
Na de voorjaarsvakantie wil ik graag dankbaar gebruik maken in mijn 5v klas van het Python materiaal wat jij hebt gedeeld.

Ik heb het bekeken, en heb een paar vragen over:

  • klopt het dat jullie codecademy inmiddels niet meer gebruiken en in plaats daarvan de cscircles course?
  • wat is het idee achter het gebruik van Thonny om mee te oefenen, als de leerlingen Spyder bij de toets moeten gebruiken [staat in de werkwijzer]? En vervolgens zijn al jouw YT videos weer met PyScripter gemaakt? Gebruiken jullie dus 3 IDE’s door elkaar heen?
  • zo te zien is jouw werkwijzer gebaseerd op 3 lesuren per week? (Ik heb helaas slechts 2x50min.)

Alvast bedankt!

1 like

Hey Kevin,

Leuk dat je mijn materiaal wilt gebruiken. Als je feedback hebt hoor ik het graag.
Python als rode draad vind ik een hele interessante benadering en ik denk als je dat goed doet je er op veel plekken toffe dingen mee kunt en het inderdaad kunt koppelen aan veel (Sub)domeinen. Meer Python is wat mij betreft altijd een goed idee :slight_smile:

Hier wat antwoorden op je vragen:

Ik begrijp wat van je verwarring, dus hierbij nog wat toelichting. Ik zit net in een overgangsfase. Ik heb dit materiaal enkele jaren geleden gemaakt en dat was met CodeCademy. Omdat die cursus in Python 2 is, heb ik alles in Python2 gedaan met PyScripter als IDE (die was onderdeel van het pakketje van portablepython.com en was daardoor makkelijk te installeren).
Per dit schooljaar ben ik overgestapt op Python3 voor mijn 5e klas en het OO gedeelte in klas 6 is nog in Python 2 (want dat hebben ze vorig jaar geleerd). Alle Youtube filmpjes zijn dus nog in Python2 met PyScripter, terwijl ik de reader voor klas 5 inmiddels heb veranderd in Python 3 met Thonny als IDE en CSCircles als lesmateriaal. Het plan is (en daar moet ik nog even tijd voor vinden) om voor volgend schooljaar alle OO Python stof, inclusief de filmpjes opnieuw te maken voor Python 3 en dan CodeCademy/Python2/PyScripter voorgoed met pensioen te sturen.

Spyder heb ik eigenlijk nooit gebruikt (even kort IDLE, maar al vrij snel PyScripter), maar misschien dat er per ongeluk nog een verwijzing in het materiaal staat uit de begindagen.

Als ik het hele materiaal om heb naar Python 3, zal ik hier een update posten met het gebundelde materiaal.

2 likes