RU Pythoncursus

Welkom bij de Pythoncursus aan de Radboud Universiteit! In deze cursus ga je in vier bijeenkomsten leren om simpele programmaatjes te schrijven in Python. Iedere week is er een bijeenkomst op de universiteit waarin je onder begeleiding van studenten een aantal opdrachten gaat maken.

CS Circles

Voor deze cursus maken we als achtergrondmateriaal gebruik van de online Pythoncursus van CS Circles. 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.

Als voorbereiding op iedere bijeenkomst is het de bedoeling dat je een aantal van de CS Circles-opdrachten maakt. Op die manier kun je tijdens de bijeenkomst snel aan aan slag met de geavanceerdere opdrachten. Daarnaast is er wekelijks een inleveropgave.

Als je thuis de opgaven aan het maken bent en er niet helemaal uit komt kan je altijd contact met ons opnemen. Dat kan door ons een e-mail te sturen, maar ook door op de "help"-knop te klikken in de CS Circles omgeving.

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 PyCharm (scroll omlaag naar de Community Edition). In deze PDF kun je uitleg vinden over het gebruik van deze programmeeromgeving.

Als PyCharm niet beschikbaar is, kun je sommige van de opdrachten ook maken in de online Repl.it omgeving.

Planning

In de onderstaande tabel staan de geplande bijeenkomsten. De bijeenkomsten beginnen om 10.30 uur en duren tot ca 15.30 uur. Het is de bedoeling dat je het huiswerk uit CS Circles en de inleveropgave vóór de geplande bijeenkomst hebt gemaakt, de inlever opgave graag voor maandag ochtend mailen naar *pythoncursus [AT] cs.ru.nl*. In de bijeenkomst is er dan vervolgens tijd om aan de nieuwe opdrachten te werken.

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

Hier zullen geleidelijk ook de voorbeelduitwerkingen 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 is er dan één 'naïve' uitwerking die gebruik maakt van de stof die jullie bij die opdracht al geleerd hadden, en de andere uitwerkingen gebruiken geavanceerdere Python-technieken.

Datum Zaal Huiswerk Slides Extras Opdrachten Uitwerkingen
23 January HG00.206 0, 01, 01E, 02, 02X, 03 Week 1
30 January HG00.206 07ABC, Pycharm installeren, inlever opdracht week 1 Week 2
06 February HG00.029, HG00.206 8, 9, 10, 11AB, 13, inlever opdracht week 2 Week 3
20 February HG00.075 12, 14, 16, inleveropgave week 3: sorteren of Sierpinski Week 4

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 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 1 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!

Assistenten

Ieder jaar wordt de Pythoncursus mogelijk gemaakt door de inzet van een team docenten, medewerkers en student-assistenten. Hieronder vind je de huidige en voorgaande student-assistenten op een rijtje.

Huidige assistenten
  • Marijn Meuleman (2024)
  • Mark de Jong (2024)
  • Emmy Postma (2024)
  • Jord Cluitmans (2024)
Voorgaande assistenten
  • Joost Rijneveld (2014-2015)
  • Koen Dercksen (2016-2018)
  • Koen van Ingen (2014-2015)
  • Ramon Janssen (2014-2015)
  • Tanja Crijns (2016-2018)
  • Marein Könings (2014-2019)
  • Michiel van de Noort (2019)
  • Julian van der Horst (2019-2020)
  • Luko van der Maas (2019-2020)
  • Brian Wieggers (2020)
  • Lars van Rhijn (2021)
  • Job van Doesburg (2021)
  • Marijn Meuleman (2021)

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