Department of Information and Computing Sciences

Departement Informatica Onderwijs
Bachelor Informatica Informatiekunde Kunstmatige intelligentie Master Computing Science Game&Media Technology Artifical Intelligence Business Informatics

Onderwijs Informatica en Informatiekunde

Vak-informatie Informatica en Informatiekunde

Talen en compilers

Website:website met extra informatie
Vakcode:INFOB3TC
Studiepunten:7.5 ECTS
Historie:Dit vak is de opvolger van Grammatica's en ontleden (INFOGONT). Je kunt maar een van beide vakken voor je examen opvoeren
Periode:periode 2 (week 46 t/m 5, d.w.z. 12-11-2018 t/m 1-2-2019; herkansing week 16)
Timeslot:B
Deelnemers:tot nu toe 23 inschrijvingen
Rooster:De officiële roosters staan ook in Osiris
Docenten:
vormgroeptijdweekzaaldocent
college   di 9.00-10.4546-51 RUPPERT-040 Trevor McDonell
Alejandro Serrano Mena
    
2-4 RUPPERT-040
do 13.15-15.0046-50 RUPPERT-040
2-4 RUPPERT-040
practicum groep 1 di 11.00-12.4546-47 BBG-161 Cas van der Rest
 
48-50 BBG-061
51 BBG-214
2 BBG-214
3 BBG-214
4 BBG-214
groep 2 di 11.00-12.4546-51 BBG-103 CLZ Jordy Mackay
 
BBG-175 CLZ
2-4 BBG-103 CLZ
BBG-175 CLZ
werkcollege groep 1 do 15.15-17.0046-50 MIN-2.02 Trevor McDonell
  
2-4 MIN-2.02
groep 2 do 15.15-17.0046-50 RUPPERT-042 #ica
  
2-4 RUPPERT-042
Tentamen:
week: 51do 20-12-201817.00-19.00 uurzaal: EDUC-ALFA
week: 5di 29-1-201911.00-13.00 uurzaal: EDUC-GAMMA
week: 16di 16-4-201911.00-13.00 uurzaal: -aanvullende toets
Nota bene:Er is geen recente vakbeschrijving beschikbaar.
Onderstaande tekst is een oude vakbeschrijving uit collegejaar 2017/2018
Inhoud:Veel programma's hebben als input een rij symbolen. Deze rij symbolen heeft vrijwel altijd een structuur. Voorbeelden van zulke rijen symbolen zijn programma's in een of andere programmeertaal, over het internet in pakketvorm verstuurde informatie, of informatie die door een programma in een file is weggeschreven met de bedoeling door een ander programma weer ingelezen te worden.

Dergelijke structuren worden beschreven met behulp van grammatica's. Vanuit deze beschrijving kunnen automatisch programma's gegenereerd worden die deze structuur herkennen. Dit herkenningsproces is een belangrijke component van veel programma's (bijvoorbeeld vertalers), en ook de beschrijving van het vertaalproces maakt gebruik van dergelijke grammaticale formalismen.

Door speciale klassen van grammatica's te gebruiken kun je al dan niet meer van de structuur uitdrukken, of van tevoren garanderen dat je de structuur gemakkelijk (bijvoorbeeld in lineaire tijd) kunt herkennen.

In dit vak leer je zelf grammatica's te ontwerpen, hoe hiervoor ontleders te construeren en hoe de resultaten van deze ontleders verder te gebruiken. Zo zul je zien hoe je code kunt genereren voor een gedeelte van de programmeertaal C#. Grammatica's spelen een centrale rol in de Informatica (XML Schema's, database schema's, Game Maker Language, etc), dus dit vak biedt ook conceptuele ondersteuning voor de rest van je studie.

In dit vak leer je:

  • structuren (formules, termen, ...) te beschrijven met behulp van grammatica's (context-vrije, reguliere)
  • structuren te herkennen of ontleden in lijsten van symbolen
  • grammatica's te analyseren om te zien of bepaalde eigenschappen gelden
  • componenten zoals ontleders, analyses en code generatoren samen te stellen
  • al deze technieken toe te passen in het construeren van verschillende soorten programma's
  • beredeneren waarom sommige problemen wel of niet met formalismen zoals context-vrije grammatica's of eindige toestandsautomaten beschreven kunnen worden
We maken gebruik van de programmeertaal Haskell om de verschillende componenten te beschrijven. Voorkennis op het niveau van het vak Functioneel programmeren is nodig.
Literatuur:Kan veranderen!
Diktaat dat we online aan zullen bieden.
Toetsvorm:Het vak wordt beoordeeld aan de hand van twee toetsen (t1, t2) en een aantal practica (p1a, p1b, p2, and p3).

Ingeschrevenen die geen enkel deelcijfer hebben behaald krijgen een ND. Studenten die niet aan alle toetsmomenten hebben deelgenomen krijgen een NVD of een AANV, afhankelijk van hoe ze scoorden op de wel gemaakte onderdelen.

Het tentamendeelcijfer T wordt berekend als T = 0,4*t1 + 0,6*t2, met een maximum van 10.0.

Voor het practicumcijfer P geldt dat het een gewogen gemiddelde is van de verschillende practica: P = 0,1*p1a + 0,1*p1b + 0,3*p2 + 0,5*p3, met een maximum van 10.0.

Laat nu A = (T + P)/2.

Er kan een eindcijfer E worden bepaald als de student aan alle onderdelen heeft deelgenomen, en tevens A >= 5,5, P >= 5,0 en T >= 5,0:

  • E = 5,0, als A >= 5,5, en T < 5,0 of P < 5,0
  • E = A, anders
Als de student niet aan alle onderdelen heeft meegedaan dan
  • E = AANV, als A >= 4,0
  • E = NVD, als A < 4,0
Aanvullend practicum vindt plaats in dperiode 3. De studenten die het vak niet direct halen horen van de docent tijdig via e-mail wat ze moeten doen als aanvullende toetsing. Deelresultaten van voorgaande jaren zijn niet inzetbaar.
Inspanningsverplichting voor aanvullende toets:Om aan de aanvullende toets te mogen meedoen moet de oorspronkelijke uitslag minstens 4 zijn.
wijzigen?