Uw huidige browser heeft updates nodig. Zolang u niet update zullen bepaalde functionaliteiten op de website niet beschikbaar zijn.
Let op: het geselecteerde rooster heeft overlappende bijeenkomsten.
Volgens onze gegevens heb je nog geen vakken behaald.
Je planning is nog niet opgeslagen
Let op! Uw planning heeft vakken in dezelfde periode met overlappend timeslot
Imperatief programmeren
Cursusdoel
In dit vak leer je de programmeertalen C# en Pytnon, waarin opdrachten gebundeld worden in zogeheten methoden, die een object bewerken. Het is daarmee tevens een inleiding in objectgeorienteerd programmeren.
Speciale aandacht wordt besteed aan het gebruik van objectgeoriënteerde technieken bij het ontwerp van wat grotere programma's, waarbij de standaardbibliotheken voor collections en file-I/O als voorbeeld dienen.
Toetsvorm
De beoordeling van het vak vindt plaats op grond van de resultaten voor drie deeltentamens (T1, T2 en T3) en drie practicumopgaven (P1, P2 en P3).
De tentamens zijn individueel, de practicumopgaven worden in groepjes van twee studenten gemaakt. Beide deelnemers van een practicumkoppel zijn verantwoordelijk voor de complete opgave (het is dus de bedoeling dat je de opgaven samen maakt, niet dat je het werk verdeelt). Steekproefsgewijs kan aan elk groepslid om een nadere toelichting van de ingeleverde code worden gevraagd.
De deeltentamens tellen voor respectievelijk 20%, 30% en 50% van het tentamencijfer T. De drie practicumopgaven wegen mee voor respectievelijk 30%, 35%, en 35% van het practicumcijfer P.
Het eindcijfer E is het gemiddelde van T en P, mits deze beide minimaal 5 zijn. Anders is het eindcijfer het minimum van T en P. Het eindcijfer wordt afgerond op tienden, behalve tussen de 5 en 6: daar wordt afgerond op een geheel cijfer.
Als het eindcijfer minder is dan 6, maar wel groter of gelijk aan 4, dan mag je deelnemen aan een aanvullende toets en/of een aanvullende practicumopgave. De aanvullende toets gaat over de hele stof, en het cijfer dat je er voor haalt komt in de plaats van de laagste van T1 t/m T3. Het cijfer van een eventuele aanvullende practicumopgave komt in de plaats van de laagste van P1 t/m P3.
Vakinhoudelijk
- Programma's:
- Imperatief programmeren t.o.v. andere paradigma's (programma bestaat uit opdrachten om variabelen in het geheugen te veranderen)
- Compiler versus interpreter; edit-compile-run cyclus
- Kort Hello-programma met verschillende aanpak (console, Forms, Game); opbouw van een programma: `opsomming van klassen, elke klasse een bundeling van methoden, elke methode een bundeling van opdrachten'.
- Syntax en semantiek van methode-aanroep
- Gebruik van een ontwikkelomgeving (momenteel Visual Studio)
- Variabelen:
- Enkele methoden van klasse Graphics, als voorbeeld van het gebruik van een standaard-klasse
- Gebruik van variabelen, om herhaling van numerieke constanten te vermijden
- Toekenningsopdracht, declaratie, het type int
- Layout- en naamgevingsconventies
- Definitie van nieuwe methoden om te abstraheren van herhaalde blokken code
- Definitie van parameters om methoden flexibeler te maken
- Interactie:
- De klasse String, conversie van int naar String
- Opbouw van user-iterface met Button, TrackBar, TextBox)
- Event-properties
- Iteratie:
- Het while- en for-statement
- Het type bool, vergelijkingen, logische operatoren
- Casus: renteberekening
- Keuze:
- Het if-statement
- Toepassingen van `if': onderscheiden van Buttons, controle van teksten, berekenen van minimum
- Casus: tekenen en nulpuntsbepaling van parabool
- Objecten en klassen:
- Klasse als beschrijving van een object, declaratie van objectvariabelen
- Casus: deeltje met plaats en snelheid als object
- Eenvoudige animatie met Thread en Sleep
- Inheritance:
- Subklasse: toevoegen van nieuwe variabelen en methoden
- Verschil tussen `is a' en `has a'
- Interface-componenten als voorbeeld van klasse-hierarchie
- User interface ontwerp met Layout-managers
- Casus: 4-functie calculator
- Strings en arrays:
- Het type char versus klasse String
- Creatie en gebruik van strings
- Casus: bepalen van letterfrequenties in een tekst (array als turf-tabel)
- Object-georienteerd ontwerp
- Abstracte klassen en interfaces
- Bibliotheekklassen voor Collections
- Toepassing: een vector-tekenprogramma
- Bibliotheekklassen voor file-I/O
- Non-window (console-) programma's; casus: grep
- Het gebruik van algoritmen
- Grote casus: een route-zoekalgoritme in het wegen-netwerk
- Grote casus: herken de taal van een tekst op grond van een vergelijking van letterfrequenties (tevens een voorbeeld van een `lerend' programma)
Werkvorm
Per week 2 maal 2 uur hoorcollege, waarin nieuwe concepten en voorbeelden worden gepresenteerd.
Daarnaast per week 2 maal 2 uur begeleid practicum, waar in groepjes van 2 studenten gewerkt wordt aan drie in te leveren computerprogramma's.
Verder zes keer een werkcollege, waarbij aandacht wordt gegeven aan meer theoretische vaardigheden, als voorbereiding op het tentamen.
Daarbuiten is er gelegenheid (en waarschijnlijk noodzaak) om onbegeleid practicumwerk te verrichten om de practicumopdracht te voltooien.
Werkvormen
Werkcollege
Toetsing
Eindresultaat
Verplicht | Weging 100% | ECTS 7,5
Ingangseisen en voorkennis
Ingangseisen
Je kunt deze cursus niet volgen als je één van de volgende cursussen hebt afgerond:
- [INFOB1GP] Gameprogrammeren
- [INFOB1MNP] Modelleren en programmeren
- [INFOB1MOP]
- [KI1V13009]
Voorkennis
Er is geen informatie over benodigde voorkennis bekend.
Voertalen
- Nederlands
Cursusmomenten
Gerelateerde studies
- Gametechnologie vanaf 2015-2016
- Gametechnologie vanaf 2023-2024
- Informatica en Informatiekunde vanaf 2023-2024
- Informatica en Informatiekunde vanaf 2024-2025
- Informatica en wiskunde vanaf 2019-2020
- Informatica en wiskunde vanaf 2022-2023
- Informatica en wiskunde vanaf 2024-2025
- Informatica vanaf 2023-2024
- Informatica vanaf 2024-2025
- Informatica voor 2019-2020
- Informatiekunde vanaf 2015-2016
- Informatiekunde vanaf 2019-2020
- Informatiekunde vanaf 2020-2021
- Informatiekunde vanaf 2023-2024
- Informatiekunde voor 2015-2016
- Liberal Arts & Sciences (vanaf 2019-20)
- Minor Informatica
- Minor Informatiekunde
- Wiskunde en toepassingen vanaf 2019-2020
- Wiskunde en toepassingen vanaf 2022-2023
- Wiskunde en toepassingen vanaf 2024-2025
Tentamens
Er is geen tentamenrooster beschikbaar voor deze cursus
Verplicht materiaal
Materiaal | Omschrijving |
---|---|
DICTAAT | Jeroen Fokker, Imperatief programmeren, collegedictaat versie september 2022 of later. |
SOFTWARE | Visual Studio (Community edition) |
Aanbevolen materiaal
Er is geen informatie over de aanbevolen literatuur bekend
Coördinator
drs. J.D. Fokker | J.D.Fokker@uu.nl |
Docenten
drs. J.D. Fokker | J.D.Fokker@uu.nl |
Inschrijving
Inschrijving
Van dinsdag 30 mei 2023 tot en met vrijdag 23 juni 2023
Na-inschrijving
Van maandag 21 augustus 2023 tot en met dinsdag 22 augustus 2023
Inschrijving niet geopend
Permanente link naar de cursuspagina
Laat in de Cursus-Catalogus zien