• Vastliggende pagina
  • Info
  • Bijlages

Terug naar Workshops

Nederlandstalige beginnerscursus Python

De workshop wordt gegeven in #ubuntu-nl-klas en vragen kunnen gesteld worden in #ubuntu-nl-mwanzo. Via de webchat kunt u beide kanalen binnengaan. Meer info.

  • Workshop leider(s): Marten de Vries (commandoline), Stefan de Vries (StefandeVries).

Lessen

Deze cursus is nu afgelopen, het is mogelijk om de lessen na te lezen in de logs (zie voor links het kopje 'Onderwerpen van de lessen'). Voor vragen stellen kan je terecht in het chatkanaal #ubuntu-nl-mwanzo op irc.freenode.net, wat je o.a. kan openen door hier te klikken.

Er wordt momenteel gewerkt aan uitgebreidere samenvattingen op de subpagina Samenvattingen.

Dag

Tijd

Geweest

Zaterdag 15-01-11

19:30-20:30 CET

Ja

Zaterdag 29-01-11

19:30-20:30 CET

Ja

Zaterdag 05-02-11

19:30-20:30 CET

Ja

Zaterdag 12-02-11

19:30-20:30 CET

Ja

Zaterdag 05-03-11

19:30-20:30 CET

Ja

Zaterdag 12-03-11

19:30-20:30 CET

Ja

Zaterdag 19-03-11

19:30-20:30 CET

Ja

Zaterdag 02-04-11

19:30-20:30 CET

Ja

Zaterdag 09-04-11

19:30-20:30 CET

Ja

Zaterdag 16-04-11

19:30-20:30 CET

Ja

Zaterdag 23-04-11

19:30-20:30 CET

Ja

Zaterdag 30-04-11

19:30-20:30 CET

Ja

Zaterdag 21-05-11

19:30-20:30 CET

Ja

Wat is Python?

Python is een programmeertaal die vaak wordt aangeraden voor beginners, maar tegelijkertijd is het een volwaardige taal, waarin veel open source projecten in geschreven zijn. Zie voor meer informatie over Python Wikipedia of de Nederlandse vertaling van ThinkPython.

Voor wie is deze cursus bedoeld?

Deze cursus is bedoeld voor iedereen die kennis wil maken met programmeren of graag wil meehelpen met programmeren bij een open-source project. Hoewel deze cursus gericht is op Python, leer je veel dingen die ook van toepassing zijn op andere programmeertalen. Na deze cursus is het dus een stuk makkelijker om nog een programmeertaal te leren.

Als je al kan programmeren is deze cursus waarschijnlijk te makkelijk voor je omdat je veel principes al kent, maar omdat alles besproken werd, is het ook voor die mensen mogelijk om kennis te maken met Python.

Onderwerpen van de lessen

Zaterdag 15-01-11

Tijdens deze les werd eerst uitgelegd wat programmeren nou eigenlijk is. Daarna is uitgelegd hoe Python gestart wordt, en zijn de volgende vragen beantwoord:

  • Hoe laat je iets zien aan de gebruiker? => print statement

  • Hoe krijg je invoer van de gebruiker? => raw_input functie

  • Hoe sla je bepaalde data op voor later gebruik? => variabelen

  • Hoe kan je python bepaalde code alleen laten uitvoeren als aan een bepaalde conditie is voldaan? => if/else statements, hier is alleen een begin gemaakt.

Uitgewerkte les (pdf, met dank aan emiel1976): les1.pdf

Logs:

_

Zaterdag 29-01-11

Het plan was om deze keer de dingen die we vorige keer hebben behandeld, in de praktijk te brengen. Om dat te doen, hebben we een simpele rekenmachine gemaakt, waarvan de code hier te zien is.

Wat we allemaal hebben gedaan:

  • huiswerk besproken: uitwerking

  • programma's uitvoeren in een bestand.
  • het rekenmachineprogramma uitwerking

    • elif
    • exit()
    • while

Logs:

_

Zaterdag 05-02-11

Deze keer hebben we ons gericht op 'lists' (lijsten), ook de for-loop hebben we besproken. Om dat alles in de praktijk te brengen hebben we ten slotte een programma gemaakt dat een onbeperkt aantal cijfers als invoer krijgt, en vervolgens het gemiddelde als resultaat geeft.

Nog even puntsgewijs en iets uitgebreider, we hebben:

  • de 2 uitwerkingen v/h huiswerk besproken (1 & 2)

  • lijsten (aanmaken, toevoegen, verwijderen van items) & de for loop bekeken aan de hand van het winkel inventaris-voorbeeld.

  • het gemiddeldeprogramma gemaakt uitwerking, met daarin nieuw:

    • len()
    • float()
  • vragen gesteld & beantwoord

Logs:

_

Zaterdag 12-02-11

Deze les hebben we dictionary's behandeld, net als de for-loop, gebruikt in combinatie met print, om de inhoud van een dictionary te tonen. Als voorbeelden kozen we voor een simpele winkelinventaris en een uitgebreider adresprogramma. Bij de dictionary's hebben we de begrippen entry, key en value uitgelegd; ook het toevoegen aan, bewerken van en verwijderen van entry's uit een dictionary zijn behandeld.

Logs:

_

Zaterdag 05-03-2011

De les omvatte het bespreken van het huiswerk van 12 februari, waarover nog een aantal vragen binnenkwam. Vervolgens gingen we door met het uitleggen van functies; wat ze zijn, hoe je ze opstelt en hoe ze ingezet kunnen worden. Dit hebben we gedaan aan de hand van een uitbreiding van het eerder gemaakte adresboekprogramma.

Logs:

_

Zaterdag 12-03-2011

Deze les hebben we besteed aan een vervolg op functies. We hebben enkele functies uit de standaard modules os, math, subprocess en sys laten zien. Met deze vaakgebruikte modules is het bijvoorbeeld mogelijk acties in het onderliggende besturingssysteem uit te voeren, zoals het aanroepen van externe programma's. Zie de logs voor een uitleg over de meest gebruikte functies uit elke genoemde module.

Logs:

_

Zaterdag 19-03-2011

We begonnen de les met het huiswerk bespreken. Daarna hebben we iets nieuws geïntroduceerd, namelijk OOP (Object-oriented Programming). We behandelden wat dat inhoudt en besproken 'klassen/classes', het hulpmiddel in Python om objectgeoriënteerd te programmeren. Dat deden we aan de hand van de adresboekclass. Lees de logs voor meer informatie.

Logs:

_

Zaterdag 02-04-2011

We hebben eerst live een uitwerking van het huiswerk gemaakt, het resultaat staat hier. We hebben ook een uitgebreidere uitwerking gegeven. De rest van de les hebben we besteed aan het maken van een class die de basis kan vormen voor het spel galgje. Zie voor meer uitleg en het huiswerk de logs:

Logs:

_

Zaterdag 09-04-2011

Besproken huiswerk:

Deze les hebben we 'inheritance/overerving' uitgelegd, een onderdeel van OOP. Dit deden we aan de hand van het voertuigenvoorbeeld.

Logs:

_

Zaterdag 16-04-2011

Deze les verliep wat anders dan normaal. Marten (commandoline) was op de Ubuntu Jam in Burgum en vanaf daar is de les live gestreamd. Cas (CasW) heeft alles wat besproken werd daarnaast samengevat op IRC, terwijl Stefan (StefandeVries) alle vragen beantwoordde in #ubuntu-nl-mwanzo. Een opname van Dooitze (DooitzedeJong) volgt nog.

We begonnen met het huiswerk:

Daarna hebben we het gehad over exceptions en bestanden. Exceptions werden uitgelegd aan de hand van:

Bestanden aan de hand van: twee simpele programma's.

Logs:

_

Zaterdag 23-04-2011

We zijn begonnen met het door commandoline en DooitzedeJong uitgewerkte huiswerk, waarvan we de Woordenlijst-class hebben besproken omdat daar alle logica van het programma in zat.

Daarna hebben we 'tuples' besproken, die lijken op lists maar na het aanmaken niet meer aan te passen zijn. Vervolgens kwamen 'variable length argument lists' (*args, **kwargs) aan bod, aan de hand van dit voorbeeld en dit voorbeeld. Daarbij maakte we een uitstapje naar default values.

Logs:

_

Zaterdag 30-04-2011

Deze les hebben we decorators en een aantal modules besproken. Decorators (functies die als argument een method/functie krijgen) aan de hand van dit voorbeeld.

Verder bespraken we de modules urllib2 en xml.dom.minidom, met dit voorbeeld. Dat programma haalde de titels uit de RSS feed van Planet Ubuntu NL. (website/rss) Zie voor meer informatie de logs.

Het huiswerk werd om dit programma van commentaar te voorzien, waarover al wel wat uitleg werd gegeven. Het programma gebruikt de sqlite3 module.

Logs:

_

Zaterdag 21-05-2011

Dit was de laatste les, we begonnen met het huiswerk bespreken. Daarna was er ruimte voor algemene vragen (zie de logs). Daarna werd er verteld wat een mogelijk vervolg zou zijn op deze cursus, bijv. voor zelfstudie of vervolgworkshops binnen Mwanzo. De les werd afgesloten met het noemen van een aantal (door Nederlandse Ubuntero's opgerichte) projecten waaraan je mee zou kunnen werken, namelijk:

Als je de les hebt gemist en alsnog mee wilt werken met een of meerdere van die projecten, dan kan je om hulp vragen in het chatkanaal #ubuntu-nl-mwanzo op irc.freenode.net (wat je ook kan openen door hier te klikken.), of contact opnemen met (de leiders van) de projecten zelf.

Logs:

_ vlinder7.png

Inschrijven

Als je een account maakt op de wiki kan je de pagina bewerken en je naam op de lijst zetten. http://wiki.ubuntu-nl.org/StartPagina?action=newaccount

nr

Naam

IRC nick

1

leoquant

leoquant

2

Manuèla Popping

hajour

3

Jan-Pieter

jpjacobs

4

emiel

emiel1976

5

Timothy de Bock

TimoDB

6

Keimpe de Jong

UndiFineD

7

Francis

DaBelg

8

Ron

r0n

9

Pascal

ppaass

10

Dimitri

Dimi77

11

Luuk de Leest

Luuk

12

fujisan

fujisan

13

Tjibba

Tjibba

14

Joshua

Joshua822

15

Dooitze de Jong

DooitzedeJong

16

Sander M

SanderM

17

Jeroen L

Jeroenl81

18

Viper

Out'Of'Control

19

OrangeTux

OrangeTux

20

erkan

erkan^

21

exalt

exalt

22

FOAD

FOAD

23

Cugel

Cugel

24

MedUsaXIII

MedUsaXIII

25

Hannie

Hannie

26

bakeds

bakeds

27

Thomas de Graaff

Thomas de Graaff

28

community/mwanzo/Workshop/BasiscursusPython (laatst bewerkt op 2011-07-06 21:36:30 door soulzing)