De elektronische studiegids voor het academiejaar 2025 - 2026 is onder voorbehoud.





Imperatief Programmeren (5631)

  
Coördinerend verantwoordelijke :Prof. dr. Frank NEVEN 
  
Co-titularis :Prof. dr. Wim LAMOTTE 
  
Lid van het onderwijsteam :De heer Dore STAQUET 
 De heer Jeroen BOLLEN 
 Mevrouw Liese BEKKERS 
 De heer Olaf VAN BYLEN 


Onderwijstaal : Nederlands


Studiepunten: 10,0
  
Periode: kwartiel 1 (5sp) + kwartiel 2 (5sp)
  
2de Examenkans1: Ja
  
Eindcijfer2: Numeriek
 
Examencontract: niet mogelijk


 
Volgtijdelijkheid
 
   Geen volgtijdelijkheid

Inhoud

Dit opleidingsonderdeel leert studenten imperatief programmeren aan de hand van de programmeertaal Python. We ontwikkelen een referentiekader dat het aanleren van imperatieve programmeertalen ondersteunt door voldoende aandacht te besteden aan computationeel denken en algemene concepten die gemeenschappelijk zijn aan de meeste imperatieve programmeertalen. Tegelijkertijd behandelen we de programmeertaal Python voldoende uitgebreid en diepgaand. We besteden tevens aandacht aan technische vaardigheden zoals het hanteren van een goede codestijl, documenteren van code, het gebruik van tools, en het debuggen en testen van code.

Dit opleidingsonderdeel vereist geen specifieke voorkennis en is in het bijzonder gericht op studenten die geen eerdere ervaring hebben met programmeren.
Dit opleidingsonderdeel start de leerlijn programmeren en de opgedane kennis wordt verder uitgediept in de volgende opleidingsonderdelen: Objectgeoriënteerd programmeren, Verdieping Objectgeoriënteerd programmeren, Geavanceerde programmeertechnieken, en Software Engineering.

Deel 1:
Een programma is niets meer dan een algoritme (een stappenplan) voor een probleemstelling dat rechtstreeks kan uitgevoerd worden door een computer. Programmeren combineert daarom twee verschillende vaardigheden: (a) het bedenken van het algoritme; en, (b) het uitvoerbaar maken van dit algoritme aan de hand van een programmeertaal. Voor het uitvoerbaar maken van algoritmen leggen we de focus op elementaire programmeerconcepten zoals instructies, data types, variabelen, operatoren, controle- en herhalingsstructuren, functies, lijsten, tuples, match predicaat, sets en dictionaries. We besteden aandacht aan het het denkproces dat voorafgaat aan het uitwerken van een algoritme. Hiervoor behandelen we vaardigheden uit computationeel denken en leggen we verbanden met technieken uit het opleidingsonderdeel Problem Solving. We bekijken ook het gebruik en de configuratie van een IDE en besteden aandacht aan codevisualisatie voor een diepgaander begrip van wat er gebeurt tijdens de uitvoering van code.

Deel 2:
We behandelen meer geavanceerde programmeerconcepten en verschuiven de focus naar vaardigheden ter ondersteuning van het schrijven van grotere programma's en programma's die interageren met het besturingssysteem. Onderwerpen die we behandelen zijn: recursie, type hints, interactie met het besturingssysteem, tekst- en binaire bestanden, excepties, gebruik en verwerken van commandline parameters, modules, records, generatoren en de Python standaard library. We behandelen Python als scriptingtaal, het testen van code en versiebeheer. Voorts leggen we een link met het opleidingsonderdeel "Computerarchitectuur" door het bekijken van Python Bytecode.



Organisatie- / Werkvormen
Organisatievormen  
Hoorcollege  
Zelfstudieopdracht (ZSO)  


Evaluatie

Periode 1    Studiepunten 5,00

Evaluatievorm
Schriftelijke evaluatie tijdens onderwijsperiode30 %
Gesloten-boek
Open vragen
Schriftelijk examen70 %
Open vragen
Evaluatievoorwaarden (deelname en/of slagen)
Voorwaarden

Om te kunnen slagen voor het opleidingsonderdeel, dient de student voor elke onderwijsperiode minstens 40% gescoord te hebben.

Tevens dient de student voor elke onderwijsperiode minstens 40% gescoord te hebben op het examen. 

Gevolg

Indien de student niet voldoet aan de voorwaarden, wordt de globale score voor het opleidingsonderdeel afgetopt op 7/20.  


Periode 2    Studiepunten 5,00

Evaluatievorm
Schriftelijke evaluatie tijdens onderwijsperiode20 %
Gesloten-boek
Open vragen
Schriftelijk examen80 %
Open vragen
Evaluatievoorwaarden (deelname en/of slagen)
Voorwaarden

Om te kunnen slagen voor het opleidingsonderdeel, dient de student voor elke onderwijsperiode minstens 40% gescoord te hebben.

Tevens dient de student voor elke onderwijsperiode minstens 40% gescoord te hebben op het examen. 

Gevolg

Indien de student niet voldoet aan de voorwaarden, wordt de globale score voor het opleidingsonderdeel afgetopt op 7/20.  


Tweede examenkans

Evaluatievorm tweede examenkans verschillend van eerste examenkans
Ja
Toelichting evaluatievorm De tweede examenkans bestaat uit een schriftelijk examen op 100% van de punten.
 

Verplicht studiemateriaal
 

De Programmeursleerling (Spronck) : https://www.spronck.net/pythonbook/dutchindex.xhtml



Eindcompetenties
bachelor in de informatica
  •  EC 
  • De afgestudeerde bachelor beschikt over een breed referentiekader waardoor hij/zij de eigen kennis en vaardigheden van het vakgebied voortdurend kan actualiseren. 

     
  •  DC 
  • De student heeft grondige kennis over belangrijke deelgebieden van de informatica: programmeertalen en -paradigma''s, computerarchitectuur, human computer interaction, data management, algoritmen en datastructuren, software engineering, computernetwerken, logica, theoretische informatica, besturingssystemen en computer graphics.

     
  •  DC 
  • De student kan denken en handelen vanuit de fundamenten van de informatica.

     
  •  DC 
  • De student kan toepassingsgericht denken en handelen in informatica.

  •  EC 
  • De afgestudeerde bachelor informatica kan het oplossen van problemen algoritmisch benaderen en is vertrouwd met diverse programmeerparadigma's, -technieken en -methoden.

     
  •  DC 
  • De student begrijpt de principes van computationeel denken en kan deze toepassen bij het programmeren.

     
  •  DC 
  • De student begrijpt het belang van precieze syntaxis en semantiek van programmeertalen en kent het onderscheid tussen beide.

     
  •  DC 
  • De student kan algoritmen implementeren in een programma.

     
  •  DC 
  • De student kan software integreren vanuit verschillende bronnen (zoals softwarebibliotheken en frameworks).

     
  •  DC 
  • De student kan uitleggen wat een algoritme is en een algoritmische aanpak definiëren voor het oplossen van een probleem.

     
  •  DC 
  • De student kent de principes van diverse programmeerparadigma''s (zoals imperatief, object-georiënteerd en functioneel programmeren) en kan deze toepassen.

 

  EC = eindcompetenties      DC = deelcompetenties      BC = beoordelingscriteria  
Aangeboden inTolerantie3
1ste bachelorjaar in de informatica J



1   Onderwijs-, examen- en rechtspositieregeling art. 12.2, lid 2.
2   Onderwijs-, examen- en rechtspositieregeling art. 15.1, lid 3.
3   Onderwijs-, examen- en rechtspositieregeling art. 16.9, lid 2.