Introduction to Programming for Bèta-gamma
3 EC
Semester 1, periode 3
5022IPVB3Y
Eigenaar | Bachelor Bèta-gamma |
Coördinator | Martijn Stegeman |
Onderdeel van | Bachelor Bèta-gamma, jaar 1 |
We gaan programmeren in Python, een eenvoudige taal met vele mogelijkheden. Je leert over de basis van het programmeren,
maar je gaat vooral aan de slag met toepassingen uit verschillende wetenschapsgebieden.
Het volgende boek is gratis verkrijgbaar. In de cursus staan soms links naar dit boek. Probeer een balans te vinden in het leren uit de cursusmaterialen, het boek, en het oefenen met voorbeelden.
Allen Downey
Think Python
Green Tea Press, 2013
http://greenteapress.com/thinkpython2/html/index.html
Website: https://progbg.mprog.nl/
In deze cursus ga je aan de slag met programmeeropdrachten, waardoor je de taal Python leert en bovendien de standaardaanpak voor een aantal wetenschappelijke problemen leert kennen. Om echt te leren programmeren is veel oefening nodig, dus bovenal verwachten we dat je alle opdrachten volledig maakt, waarbij er natuurlijk ruimte is om fouten te maken.
Tijdens de practica van dit vak staan de assistenten voor je klaar en je kunt bij ze terecht met vragen over het
programmeren, maar ook over de nagekeken opdrachten en tips over het vak.
Het kan zijn dat je om één of andere reden een uitzondering nodig hebt op de regels van het vak. Deze kun je alleen
krijgen bij de docenten. Stuur een mail naar progbg@mprog.nl en leg even kort uit wat je situatie is. Ben je
bang een achterstand op te lopen van meer dan een dag? Neem dan razendsnel contact op!
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. Zie verder de opmerkingen over plagiaat, onderaan deze studiehandleiding.
Er zijn drie modules van één week. Vanaf de eerste dag van de cursus ga je oefenen met het omzetten van een idee voor een programma naar werkende Python-code. Elke module bestaat uit theorie en voorbeelden, gecombineerd met grotere programmeeropdrachten.
Het is geen probleem als de modules een paar minuten later worden ingeleverd, bijvoorbeeld in geval van technische
problemen.
Het is mogelijk om de modules maximaal 24 uur later in te leveren, met aftrek van 2 punten op het eindcijfer van
de module.
Omdat het mogelijk is ongemerkt mee te liften met een medestudent tijdens het maken van de practica (als je
steevast overlegt over de manier van code schrijven), checken we met behulp van het tentamen nog een keer of je
zelfstandig de leerdoelen van het vak gehaald hebt.
Activiteit |
Aantal uur |
Hoorcollege |
8 |
Laptopcollege |
44 |
Tentamen |
6 |
Zelfstudie |
26 |
De modules kosten je gemiddeld zoʼn 19 uur werk: dat is dus meer tijd dan er practicum ingeroosterd is. Mocht je
het niet afhebben, dan is het de bedoeling dat je de opdracht thuis nog af maakt. Kom je in de problemen? Neem
dan direct contact op met de docenten, per mail.
De meeste studenten ervaren een programmeervak als zwaar. Dit komt omdat er veel tijd “verloren” gaat aan kleine foutjes, hard nadenken en even uitrusten. Als de frustratie je teveel wordt, laat het dan gerust weten. Weet dat het erbij hoort en onvermijdelijk is. En neem even pauze!
Aanwezigheidseisen opleiding (OER-B):
Aanvullende eisen voor dit vak:
Tijdens de eerste week is er een aanwezigheidplicht voor alle geroosterde activiteiten: zie je persoonlijke rooster op datanose. Je mag in de weken daarna gerust wegblijven als je de opdrachten helemaal af hebt (en ingestuurd!).
In latere weken steeds verwachten we dat je bij de practica aanwezig bent als je hulp en uitleg nodig hebt. Er is geen mogelijkheid om hulp per e-mail te krijgen als vervanging van het practicum. Zorg dus dat je op tijd begint, zodat je nog een kans hebt om langs te komen als het nodig is!
Onderdeel en weging | Details |
Eindcijfer | |
10% Module 1 - correctheid | |
5% Module 1 - stijl | |
10% Module 2 - correctheid | |
5% Module 2 - stijl | |
10% Module 3 - correctheid | |
5% Module 3 - stijl | |
40% Tentamen |
Alle uitwerkingen van een module lever je aan het eind van de week in. Om te beginnen kijken we of je alles geprobeerd
hebt: de correctness. Op basis daarvan krijg je punten voor de module. Je hebt zelf ook toegang tot deze tool, dus gebruik die goed!
Omdat we altijd nieuwe opdrachten gebruiken, gebeurt het soms dat er een fout wordt gevonden in checkpy
of in de opdracht zelf. Als we de fout kunnen corrigeren sturen we een mail rond. Zorg in ieder geval dat je altijd
aan het eind van de week je oplossingen nog eens checkt met de nieuwste versie van checkpy!
Programmaʼs moeten niet alleen het “goede” antwoord geven, maar een programma kan zelf ook een bepaalde
kwaliteit hebben. Is het een ordelijk en leesbaar geschreven algoritme? Kan het korter of duidelijker? De opdrachten
worden op stijl beoordeeld, en wel op de volgende schaal:
1. Matig
2. Redelijk: zeker geprobeerd, aardig wat punten voor verbetering
3. Goed: aantal dingen goed op orde, met diverse punten voor verbetering
4. Heel goed: beperkt ruimte voor verbetering, paar kleine problemen
5. Excellent: in feite geen ruimte voor verbetering, misschien een suf foutje
Feedback op design en stijl moet je gedurende de cursus zelf vragen! Zorg dat je diverse assistenten vraagt
om verbeterpunten voor je verschillende opdrachten. Zo kun je een goed beeld vormen van wat “goede code”
is, en dat zul je natuurlijk terug zien in je cijfer voor de laatste opdracht.
Je krijgt een eindcijfer voor dit vak als je:
Een klein deel van het eindcijfer wordt bepaald door hoe je beter bent gaan programmeren tijdens het vak (de voortgang die jij persoonlijk hebt gemaakt!).
Was je niet voldoende aanwezig, heb je een opdracht niet zichtbaar geprobeerd, of was je niet bij het tentamen, dan krijg je een NA (niet aanwezig). Heb je het tentamen niet gehaald, dan krijg je een NAV en kun je dit tentamen herkansen. Er zijn geen herkansingen voor de opdrachten, ook niet in geval van overmacht, dus lever altijd in wat je hebt.
Opdrachten worden dit jaar op een andere manier beoordeeld dan vorig jaar. Daarnaast zijn ze inhoudelijk in meer of mindere mate gewijzigd. Daarom moeten alle modules opnieuw worden ingeleverd. Daarbij is het af te raden gebruik te maken van je uitwerkingen van vorig jaar, zodat je weer goede oefening krijgt en het vak echt haalt. Tentamenresultaten van vorige jaren zijn niet overdraagbaar.
Om een inzagemoment aan te vragen, kun je contact opnemen met de coördinator.
Je hebt binnen 30 dagen na bekendmaking van de cijfers recht op inzage van alle soorten toetsen zodat je de manier van nakijken kunt controleren. Vraag na de bekendmaking van de uitslagen zelf om een individuele afspraak met de docent, per e-mail.
Samenwerken
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 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.
Dit vak hanteert de algemene 'Fraude- en plagiaatregeling' van de UvA. Hier wordt nauwkeurig op gecontroleerd. Bij verdenking van fraude of plagiaat wordt de examencommissie van de opleiding ingeschakeld. Zie de Fraude- en plagiaatregeling van de UvA: http://student.uva.nl
Weeknummer | Onderwerpen | Deadline |
1 | module 1 | dinsdag 15 januari 23:59 |
2 | module 2 | donderdag 24 januari 23:59 |
3 | module 3 | woensdag 30 januari 23:59 |
4 | tentamen | donderdag 31 januari 13–15 uur |
Het rooster van dit vak is in te zien op DataNose.
De studiewijzer staat op de website https://progbg.mprog.nl/ vanaf enkele dagen voor aanvang van de cursus.
Tijdens de practica van dit vak staan de assistenten voor je klaar en je kunt bij ze terecht met vragen over het programmeren, maar ook over de nagekeken opdrachten en tips over het vak.
Het kan zijn dat je om één of andere reden een uitzondering nodig hebt op de regels van het vak. Deze kun je alleen krijgen bij de docenten. Stuur een mail naar progbg@mprog.nl en leg even kort uit wat je situatie is. Ben je bang een achterstand op te lopen van meer dan een dag of twee? Neem direct contact op!
Vanaf 2013-2014 hebben we ervoor gekozen om d.m.v. onderstaande tabel de studenten meer inzicht te geven in de kwaliteitszorg. Daarom nemen we een korte weergave van de studentenevaluatie op en de daaruit voortvloeiende acties ter verbetering van het vak.
Inleiding Programmeren (3EC) | N | 111 |
Sterke punten
|
Suggesties ter verbetering
|
|
Reactie docent:
|
Docenten: Martijn Stegeman en Simon Pauw
Gedeelten van deze cursus zijn gebaseerd op: