6 ECTS credits
150 u studietijd

Aanbieding 1 met studiegidsnummer 4013476ENW voor werkstudenten in het 1e semester met een verdiepend master niveau.

Semester
1e semester
Inschrijving onder examencontract
Niet mogelijk
Beoordelingsvoet
Beoordeling (0 tot 20)
2e zittijd mogelijk
Ja
Inschrijvingsvereisten
Inschrijven voor dit opleidingsonderdeel is enkel mogelijk voor werkstudenten. Dagstudenten kunnen enkel registreren voor opleidingsonderdelen waarvan de code eindigt op een R. Men mag zich niet inschrijven voor zowel 'Declaratief Programmeren' als 'Declarative Programming'.
Onderwijstaal
Nederlands
Faculteit
Faculteit Wetenschappen en Bio-ingenieurswetensch.
Verantwoordelijke vakgroep
Computerwetenschappen
Onderwijsteam
Geraint Wiggins (titularis)
Onderdelen en contacturen
26 contacturen Hoorcollege
26 contacturen Werkcolleges, practica en oefeningen
150 contacturen Zelfstudie en externe werkvormen
Inhoud

1) Theoretische achtergrond: syntax, semantiek en bewijstheorie van clausale logica

2) Van logisch programmeren naar Prolog: SLD-resolutie, sturen van het zoekproces, negatie als falen ("negation-as-failure")

3) Toepassingen: kennisrepresentatie, zoekalgoritmes, hogere-orde programmeren, meta-programmeren

4) Evaluatievarianten: getabuleerde evaluatie, parallele evaluatie

5) Geavanceerde redeneertechnieken: het verwerken van natuurlijke taal aan de hand van 'definite clause' grammatica's, abductief en inductief logisch programmeren

Studiemateriaal
Digitaal cursusmateriaal (Vereist) : All transparencies and their accompanying code will be made available on the website of the course http://como.vub.ac.be/~ydehauwe/index.php?page=decl_prog, http://como.vub.ac.be/~ydehauwe/index.php?page=decl_prog
Digitaal cursusmateriaal (Vereist) : Simply Logical - Intelligent Reasoning by Example, Freely available at http://www.cs.bris.ac.uk/~flach/SimplyLogical.html, Peter Flach, http://www.cs.bris.ac.uk/~flach/SimplyLogical.html, 1994
Bijkomende info

NVT

Leerresultaten

Algemene competenties

Het doel van deze cursus bestaat erin studenten:

- inzicht te geven in de theoretische principes waarop het declaratieve paradigma gebaseerd is

- vertrouwd te maken met specifieke programmeertalen uit dit paradigma

- kennis te laten maken met toepassingen binnen de domeinen van artificiële intelligentie en redeneersystemen waarvoor declaratief programmeren uiterst geschikt is

De bijhorende eindcompetenties zijn:

Kennis en inzicht:
Studenten dienen in staat te zijn de onderliggende principes van declaratief, in het bijzonder logisch, programmeren te beschrijven en motiveren. Aan de hand van deze theoretische achtergrond moeten studenten zowel de declaratieve als procedurele interpretatie van een concreet logisch programma kunnen afleiden.

Toepassen van de kennis en het inzicht:
Studenten moeten de opgedane kennis in de praktijk kunnen toepassen bij het oplossen van typische artificiële intelligentieproblemen. Hiertoe zullen de studenten bescheiden logische programma's uitwerken tijdens de werkcolleges. Studenten moeten eveneens in staat zijn een omvangrijker op kennis gebaseerd systeem te ontwerpen en dit te implementeren aan de hand van logische programmeertechnieken. Hiertoe zullen de studenten een project uitwerken.

Oordeelvorming:
Studenten dienen correct te kunnen oordelen of een gegeven probleem zich al dan niet leent tot een implementatie aan de hand van logische programmeertechnieken.

Communicatie:
Studenten dienen de keuzes die zij gemaakt hebben tijdens de uitvoering van bovenvermeld project mondeling te kunnen motiveren. Hierbij tonen zij aan dat ze helder over de behandelde onderwerpen kunnen communiceren.

Leervaardigheden:
Met de in dit vak opgedane concepten zullen studenten programmeertalen uit het declaratieve paradigma zelfstandig kunnen aanleren alsook de toepassingsmogelijkheden van deze talen in de praktijk herkennen.

Beoordelingsinformatie

De beoordeling bestaat uit volgende opdrachtcategorieën:
Examen Schriftelijk bepaalt 50% van het eindcijfer

ZELF Praktijkopdracht bepaalt 50% van het eindcijfer

Binnen de categorie Examen Schriftelijk dient men volgende opdrachten af te werken:

  • written test met een wegingsfactor 100 en aldus 50% van het totale eindcijfer.

    Toelichting: The exam consists of two parts:
    - a written test about the entire course (closed book)
    The end result is calculated as the average of the results on both parts. If one of both results is 7 or less, however, the end result cannot exceed 7.

Binnen de categorie ZELF Praktijkopdracht dient men volgende opdrachten af te werken:

  • programming project met een wegingsfactor 5 en aldus 5% van het totale eindcijfer.

    Toelichting: The exam consists of two parts:

    - an oral defense of the aforementioned programming project
    The end result is calculated as the average of the results on both parts. If one of both results is 7 or less, however, the end result cannot exceed 7.
  • Formative project in Prolog met een wegingsfactor 15 en aldus 15% van het totale eindcijfer.
  • Summative project in Prolog met een wegingsfactor 30 en aldus 30% van het totale eindcijfer.

Aanvullende info mbt evaluatie

Het examen bestaat uit volgende onderdelen:

- een schriftelijke proef over de volledige cursus (gesloten boek)

- een mondelinge verdediging van het bovenvermelde programmeerproject

Het eindcijfer wordt berekend als het gemiddelde van de resultaten behaald op beide onderdelen. Als een van beide resultaten 7 of minder bedraagt, kan het eindcijfer echter niet meer dan 7 bedragen.

Toegestane onvoldoende
Kijk in het aanvullend OER van je faculteit na of een toegestane onvoldoende mogelijk is voor dit opleidingsonderdeel.

Academische context

Deze aanbieding maakt deel uit van de volgende studieplannen:
Master in de toegepaste informatica: Big Data technologie
Master in de toegepaste informatica: Artificiële intelligentie
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Artificiële Intelligentie
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Multimedia
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Software Languages and Software Engineering
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Data Management en Analytics
Educatieve master in de wetenschappen en technologie: computerwetenschappen (120 ECTS, Etterbeek)