cs.ru.nl/pythoncursus

Welkom bij de Pythoncursus aan de Radboud Universiteit! In deze cursus ga je in een aantal bijeenkomsten leren om simpele programmaatjes te schrijven in Python. Iedere twee weken is er een bijeenkomst op de universiteit waarin je onder begeleiding van studenten een aantal opdrachten gaat maken. In deze opdrachten moet je heuze programma's in elkaar zetten!

CS Circles

Voor deze cursus maken we als achtergrondmateriaal gebruik van een online Pythoncursus, te vinden op http://cscircles.cemc.uwaterloo.ca/0-nl/. Door het volgen van deze cursus kun je je basisvaardigheden ontwikkelen. Deze basisvaardigheden heb je tijdens de bijeenkomsten nodig om aan de wat moeilijkere opdrachten te werken.

Het is de bedoeling dat je als voorbereiding voor iedere bijeenkomst een aantal van deze opdrachten als voorbereiding gemaakt worden, zodat je tijdens de bijeenkomst snel aan de slag kunt met de echte opdrachten. Dit huiswerk is in de planning op deze website te vinden.

Als je thuis de opgaven aan het maken bent en er niet helemaal uit komt kan je ons altijd even contact opnemen. Dat kan door ons een e-mail te sturen, maar ook door op de "help"-knop te drukken, onderaan elke opgave.

Programmeeromgeving

Voor deze cursus gebruiken we de PyCharm programmeeromgeving. Deze staat op de universiteit al op de computers. Voor thuis: installeer eerst de laatste versie van Python 3, en download daarna de gratis Community Edition van PyCharm. In deze PDF kun je uitleg vinden over het gebruik van de programmeeromgeving.

Planning

In onderstaande tabel staan de geplande bijeenkomsten. Iedere bijeenkomst begint om 14.00 uur en duurt tot ca 17.30 uur. Het is de bedoeling dat je het huiswerk uit de online cursus van waterloo voor de geplande bijeenkomst hebt gemaakt. In de bijeenkomst is er dan vervolgens tijd om aan de opdrachten te werken.

We snappen dat er waarschijnlijk nogal wat niveauverschil tussen jullie zal zitten. Daarom is deze planning een voorlopige planning. Voel je dus vrij om iets vooruit te werken of iets achter te lopen.

Datum Collegezaal Huiswerk uit online cursus Slides Opdrachten
27 september HG00.075 0, 01, 01E, 02, 02X, 03 Week 1 ABC-formule, breuken en imports
11 oktober HG00.075 04, 05, 06, 06D, 07, 07A, 07B, 07C Week 2 Oefenen met loopjes en algoritmen
25 oktober HG00.075 08, 09, 10, 11A, 11B, 11C, 12 Week 3 Palindromen, turtlegraphics en galgje,
woordenlijst.txt,
zevenletterwoorden.txt
8 november HG00.075 13, 14, 15 Week 4 Grafiekjes, Sorteren en GUI's
22 november HG00.029 16, 17, 18 Week 5 L-systemen, hulpbestanden

Uitwerkingen

Hier zullen geleidelijk de voorbeeldige uitwerkingen van de opdrachten beschikbaar komen. Wijkt jouw code af van de uitwerking die hier gegeven is? Dat is niet erg, er zijn vaak vele manieren om een programmeerprobleem op te lossen. Bij sommige opdrachten hebben we ook meerdere uitwerkingen gegeven. Vaak gaat het dan om een 'naïve' uitwerking die gebruik maakt van de stof die jullie bij die opdracht al geleerd hadden. De andere uitwerkingen zullen meer geavanceerdere Python-technieken gebruiken.

WeekUitwerkingen
1 ABC-formule, Breuken versimpelen, Bonus opdracht
2 rekenen met euro's, fibonacci, fizzbuzz, wortel uitrekenen, priemfactorisatie
3 vierkanten, driehoeken, zonnetjes, fair and square, galgje, bonusopgave
4 grafiekjes tekenen, sorteren
5 simpele uitwerking, uitgebreide uitwerking

Extra uitdagingen

Je leert bij deze cursus een aantal basisvaardigheden die komen kijken bij programmeren. Er is echter maar één manier om echt goed te leren programmeren: veel oefenen. Dat kan door zelf projectjes te verzinnen om uit te werken, maar de ervaring leert dat dat vaak niet altijd even gemakkelijk gaat. Er zijn echter ook enorme lijsten met problemen beschikbaar die anderen al bedacht hebben die je als oefening kunt gebruiken. Er bestaan zelfs heuse programmeerwedstrijden, waar mensen binnen zo kort mogelijke tijd (of met zo efficient mogelijke code) allemaal hetzelfde probleem oplossen. In week 3 heb je al een opdracht gezien uit een van de kwalificatierondes van Google Code Jam. Hieronder vind je een lijst van een aantal websites waar vergelijkbare problemen zijn verzameld.

Je kan natuurlijk nog veel meer met Python dan alleen algoritmische problemen oplossen. Hieronder zullen we een aantal vervolg-tutorials verzamelen die je zou kunnen proberen.

Opmerkingen, verbeteringen en tips

Deze kun je via deze link anoniem aan ons doorgeven. We waarderen de feedback!

Contact

Als je ergens vragen of opmerkingen over hebt, voel je vrij ons aan te spreken of even een mailtje te sturen. Je kunt ons bereiken op het volgende mailadres: pythoncursus [AT] cs.ru.nl


Tanja Crijns

Koen Dercksen

Marein Könings