Studiewijzer

Inleiding programmeren voor Natuur- en Sterrenkunde
September 2018

Welkom bij deze cursus inleiding programmeren voor Natuur- en Sterrenkunde! Dit blok gaan aan de slag met de programmeertaal Python om te leren hoe we wetenschappelijke problemen uit de wis-, natuur- en sterrenkunde met behulp van een computer op kunnen lossen.

De cursus is bedoeld voor mensen die nog helemaal geen ervaring hebben met programmeren en bestaat uit vier afzonderlijke modules. Gedurende de cursus leren we steeds meer over programmeren en de manier waarop we complexe problemen gestructureerd aan kunnen pakken. Elke module is opgedeeld in vier dagdelen en per module zijn er een aantal opgaves die digitaal ingeleverd moeten worden.

Python

Docenten

Ivo van Vulpen (Nikhef/UvA)
Martijn Stegeman (UvA)

Mail bij voorkeur naar progns@mprog.nl als je praktische vragen hebt of problemen wil melden. Als we bij het practicum zijn, kun je ons natuurlijk ook gewoon direct aanspreken!

Assistenten

Tijdens de practica van dit vak staan de assistenten voor je klaar. Je kunt bij ze terecht met vragen over het programmeren zelf, maar ook over vragen over de feedback op de opdrachten die je hebt ingeleverd of tips over het vak.

Leerdoelen

Wat willen we dat je kunt aan het einde van deze cursus?

  • Je kunt een omschrijving van een programma omzetten naar werkende code
  • Je kunt bijgeleverde bibliotheken gebruiken in je eigen programma’s
  • Je kunt code overzichtelijk en beter leesbaar maken door een consistente stijl toe te passen
  • Je kunt programmeerfouten opsporen en verbeteren
  • Je kunt uitleggen hoe je een aantal numerieke technieken als programma kunt implementeren

Opdrachten

Vanaf de eerste dag van de cursus ga je oefenen met het omzetten van een idee voor een programma naar werkende Python-code. Per module doe je eerst wat kleine oefeningen om de nieuwe programmeer elementen onder de knie te krijgen en ga je daarna aan de slag met wat grotere opdrachten. Aan het eind van de module lever je alles digitaal in. Dat wordt beoordeeld:

  • Omvang — heb je alle opdrachten geprobeerd of heb je dingen overgeslagen? Heb je alles precies gedaan zoals de omschrijving vereist?

  • Stijl — hoe ordelijk en leesbaar is je code? Dit kan een belangrijke component in de beoordeling zijn!

Stijl

De scores voor stijl worden als volgt bepaald:

  • 5: excellent, perfect, geen problemen of echt een kleine omissie
  • 4: zeer goed, weinig ruimte voor verbetering, paar kleine problemen
  • 3: goed, aantal duidelijke punten voor verbetering
  • 2: redelijk, behoorlijk wat ruimte voor verbetering
  • 1: matig, her en der duidelijk geprobeerd maar niet systematisch
  • 0: slecht, niet geprobeerd

Dagelijks ritme

De opdrachten zijn ingedeeld in blokken van een dagdeel. De bedoeling is dan ook dat je voor elk blok gemiddeld een uur of vier aan werk bent. Als je niet alles af hebt aan het eind van het practicum maak dan de opdracht thuis af. Kom je in de problemen? Neem dan contact op!

Aanwezigheid

De bedoeling is dat je tijdens alle practicumuren aanwezig bent. Wij leren je namelijk ter plaatse nog dingen die je niet in je eentje kunt leren zoals het opsporen en verbeteren van fouten in je programma’s.

Bij afwezigheid (om welke reden dan ook) wordt het cijfer voor de betreffende opdracht een punt per dagdeel verlaagd, tot maximaal 4 punten aftrek. Uitzondering is natuurlijk als je de opdracht geheel af hebt en hebt laten zien aan de assistent dat het werkt: dan mag je gewoon wegblijven. Mocht je om bijzondere redenen afwezig moeten zijn, stuur dan vooral een mail naar de docenten.

Deadline inleveren opdrachten

De deadline voor het inleveren van alle code is voor elke module op de maandagochtend in de week nadat de module afgesloten is. Op dat moment wordt het ingeleverde werk verdeeld onder de nakijkers en gaan zij aan de slag. Er is geen mogelijkheid om het later in te leveren, dus lever sowieso in wat je hebt! Om te zorgen dat je de assistent alle vragen kan stellen en hem/haar kan vragen je code te bekijken is het natuurlijk verstandiger om te zorgen dat je alles af hebt aan het eind van het laatste practicum.

deadline groep DEFGHI
module 1 maandag 17 september 10:59
module 2 maandag 1 oktober 10:59
module 3 maandag 15 oktober 10:59
module 4 maandag 22 oktober 10:59
deadline groep ABC
module 1 maandag 12 november 10:59
module 2 maandag 26 november 10:59
module 3 maandag 10 december 10:59
module 4 maandag 17 december 10:59

Tentamen

Hoewel het niet toegestaan zou het mogelijk kunnen zijn om ongemerkt mee te liften met een medestudent tijdens het maken van de practica. Doe dit alsjeblieft niet. De regels wat betreft plagiaat zijn erg streng en we voeren controles uit, dus kom gewoon langs als je moeite hebt met de stof en wat extra hulp nodig hebt, dan helpen we je. Om zeker te zijn dat je zelfstandig de leerdoelen van het vak hebt gehaald sluiten we het vak af met een (individueel) tentamen. Het tentamen telt voor 50% mee voor je eindcijfer en om het vak te halen is er een extra eis dat het tentamen zelf ook met een voldoende afgesloten moet worden.

Eindcijfer

Je krijgt een eindcijfer voor dit vak als je:

  • elke module op tijd en naar verwachting hebt ingeleverd;
  • een voldoende hebt gehaald voor het tentamen.

Het eindcijfer wordt dan als volgt berekend:

onderdeel berekening gewicht
module 1 scope & stijl 12,5%
module 2 scope & stijl 12,5%
module 3 scope & stijl 12,5%
module 4 scope & stijl 12,5%
tentamen punten 50%

Samenwerken, fraude en plagiaat

Samenwerken tijdens dit vak is niet toegestaan. Dit vak heeft als doel jouw persoonlijke programmeervaardigheid te ontwikkelen. Bij vervolgvakken is het vaak wél mogelijk om samen te programmeren.

Tijdens de practica is het natuurlijk prima als je de opgave (en strategie) bespreekt met de student die naast je zit. Het is echter niet toegestaan om een regel code van je medestudenten of van internet over te nemen.

Een belangrijk verschil dus: je kunt discussiëren over de manier waarop je een probleem aanpakt, maar je kopieert niet de code van anderen. Om het jezelf niet te makkelijk te maken, is het slim om niet op het scherm van je buren te kijken.

Als je merkt dat je zodanig aan het overleggen bent dat je dezelfde code krijgt als een medestudent, is het hoog tijd om de assistent om hulp te vragen!

Kom je in tijdnood? Bespreek het even met de docenten. We willen het graag zo oplossen dat je het vak zelfstandig kunt halen. Programmeren is echt iets dat je zelf even onder de knie moet krijgen.

Plagiaatregeling

Fraude volgens de UvA: “Het handelen of nalaten van een student waardoor een juist oordeel over zijn kennis, inzicht en vaardigheden geheel of gedeeltelijk onmogelijk wordt.”

We gebruiken bij de beoordeling van de opdrachten plagiaatdetectie. Als blijkt dat je opgave geheel of gedeeltelijk overeenkomt met een andere inzending of een uitwerking van internet, dan zijn er twee mogelijkheden.

  • Er is een bronvermelding: in dat geval voldoe je niet aan de eis van het zelfstandig maken van de opgaven en wordt je inzending afgekeurd. Omdat dit meestal na de deadline is betekent dat doorgaans dat je het vak dit jaar niet kunt afronden.

  • Er is geen bronvermelding: in dat geval rapporteren we aan de examencommissie welke inzendingen overeenkomen, waarna de commissie beslist over te nemen maatregelen.

Zie ook: