Informatica 1e bachelors Ingenieurswetenschappen

intro  -  theorie   -   practica  -  project  -  examen  -  documentatie  -  mini-java

  Examen


Theorie-examen juni

Schriftelijke voorbereiding (maximaal 2 uur) met mondelinge verdediging (15-20 minuten).
Elke vorm van communicatie of technologische hulpmiddelen (zoals computer) zijn uitgesloten.

zie ook slides van laatste les

* DEEL I *

Hoofdstuk 0 & 1: Java en object-oriëntatie
Hoofdstuk 0 en 1 dienen vooral als hulp bij het leren van Java en object-georienteerd programmeren.
Java's spelregels aktief kennen (van buiten kennen dus)
    - bvb: wat is een interface? wat is het verschil tussen attribuut, lokale variabele en parameter? Wanneer wordt de superconstructor opgeroepen? Wanneer is de default constructor geldig?
De regels kunnen toepassen op een oefening (zie oefeningen opgelost in de lessen, staan achteraan in boek I)
De 3 pijlers van object-oriëntatie: gebruik en nut begrijpen wanneer toegepast op gevallen zoals in de cursus

* DEEL II *        Voorbeeldexamenvragen

Hoofdstuk 2-3-6-7-9: datastructuren
De datastructuren en methodes: begrijpen - kunnen uitleggen - naspelen (op voorbeelddata).
De methodes moet je dus niet kunnen reproduceren, maar wel  kleine varianten implementeren (zie bvb vragen doorheen de cursus) & doorgronden (bvb wat loopt er fout als x verandert wordt in algoritme y).
Verschillen kennen tussen datastructuren (voor- en nadelen; performantie). Bijvoorbeeld: "Vergelijk voor de verschillende datastructuren de tijd in functie van hun grootte om een element toe te voegen. Is deze tijd altijd geldig (gegarandeerd)? Wat is de worst-case performantie voor elk van de datastructuren?"

Hoofdstuk 4  
De algoritmen begrijpen (niet kunnen reproduceren): hoe het werkt en hoe het fout kan lopen of lang kan duren (bvb Newton)..
Kunnen toepassen.
Vraag: gegeven een functie, pas het algoritme toe.
Vraag: met welke functies gaat Newton snel en met welke kan en zal het foutlopen.

Hoofstuk 5:
De algoritmen begrijpen, de code moet je niet kunnen reproduceren.
Verschillen kennen tussen de 5 types oplossingsmethoden. Kan je een voorbeeld geven van elk?
Je krijgt een probleem/spel en je legt een algoritme voor om het op te lossen.
De 6 algoritmen om een zoekboom af te gaan begrijpen en kunnen toepassen op een gegeven zoekboom of puzzel. De performantie van de 6 algoritmen vergelijken.
Voor een zero-sum game: pas het minimax-algoritme toe op een gegeven boom + scores. Leg het algoritme uit.

Optioneel voor goede programmeurs: 5.2.6 generieke code voor de zoekalgoritmen die je vind bij de java-code van de theorie en uitgelegd in het addendum.
Je mag dit als vraag kiezen, dan krijg je een andere vraag minder.

Hoofdstuk 8: sorteren
Begrijpen en kunnen toepassen op voorbeeld (ongesorteerde array). Ook de performantie!
Algoritmen kunnen reproduceren is niet nodig.
Verschillen tussen de 5 algoritmen begrijpen: voor- en nadelen van elk. Wat is hun gemiddelde performantie in functie van de arraygrootte? Is die zo voor elke array? Wat is de worst case en best case performantie?
Verschil kennen tussen comparator & comparable.

Hoofdstuk 9:
Uitleggen hashing: waarom? wat? bedoeling (in vergelijking met andere lijsten)? Wat wordt bedoeld met perfecte hashfunctie en waarom spreken we hiervan?
Wat is een map?  Welke implementaties ken je? wat zijn de verschillen: voor- en nadelen?


De nadruk ligt op begrijpen, inzicht en kunnen toepassen.
Maar ook op het bewaren van het overzicht:
* Het basisprincipe Object-georienteerd programmeren: samenvoegen van dingen (attributen & methodes) in een object die logisch samen horen.
* Verschillen tussen de datastructuren
* Belangrijke methodes zijn: zoeken, toevoegen, verwijderen, printen.
* De (verschillen in de) performantie van de methodes/algoritmes

Ophalen theorie-examen januari

In juni bieden we de mogelijkheid om facultatief je punten van het 1e semester te verbeteren, indien je een 7, 8 of 9 behaalde in het eerste semester (gemiddelde over theorie en oefeningen) en je slaagt voor je theorie-examen met minstens een 12/20.
Na je mondeling examen krijg je dan enkele extra vragen over de materie van het 1e semester. Dit zullen geen specifieke python-vragen zijn, maar algemene programmatievragen. Je mag je Pythonboek gebruiken.
Aldus kan je je punten van het eerste semester optrekken tot maximaal 10/20.

Regels vrijstellingen

Vanaf 12/20 heb je een (officieuze) vrijstelling voor één van de 5 onderdelen: Python theorie, Python oefeningen, Java project, Java theorie of Java oefeningen. De vrijstelling geldt van 1e naar 2e zit, maar ook van 1 jaar op een ander.
De vrijstellingen worden automatisch toegekend.
Er wordt niet afgerond, 11.9 is dus geen vrijstelling. Het heeft geen zin er om te komen zagen. We moeten ergens de streep trekken die voor iedereen geldt.

Heb je minder dan 12 voor je project, dus geen vrijstelling, dan moet je verder werken aan je project. Voor het project van Java kan je ofwel verder werken aan jullie bestaand spel, ofwel een geheel nieuw spel maken. Adresseer de commentaren die jullie gekregen hebben tijdens de verdediging 1e zit. Het aangepaste spel moet significant verschillen van de vorige versie (bv. uitgebreid worden met nieuwe obstakels / vijanden / powerups / enz.). Jullie mogen dezelfde groep behouden, alleen werken, of een nieuwe groep vormen. Bij het maken van een nieuwe groep zijn jullie echter verplicht om een nieuw spel te maken.

Oefeningen-examen juni

Het oefeningen-examen duurt 2 uur. Het examen is open-boek, tijdens het examen mag je gebruik maken van het Java-boek en de cursusnota's, maar geen opgeloste oefeningen of internet. Tijdens het examen heb je toegang tot de parallel-website (en dus ook tot alle cursusnota's aanwezig op de website). De oefeningen uit de oefeningensessies bepalen wat je moet kennen. Deze moet je vlot kunnen oplossen

(Let op: examens Java van 2014 en eerder waren gebaseerd op andere oefeningenreeksen, en zijn daarom niet indicatief als examenvragen)

Herexamens

Het vak bevat 5 onderdelen. Inhoudelijk is het examen hetzelfde als eerste zit. Zie hierboven voor de regels voor de vrijstellingen.





- Back to the top -