Concepten van programmeertalen
-
Informatica
-
IB2702
-
5 EC
-
Vanaf € 384
-
Voor dit product gelden ingangseisen
Inhoud
Het hoofddoel van deze cursus is het bieden van inzicht in de verschillen tussen de diverse talen. Een belangrijk aspect van deze cursus is dat de nadruk veel meer ligt op de programmeertaalconcepten dan op het programmeren zelf. Voorbeelden van taalconcepten zijn de gegevenstypen in een taal, de soorten variabelen en opdrachten, en de verschillende mogelijkheden van abstractie.
In moderne programmeertalen worden meerdere programmeerstijlen naast elkaar aangeboden. Een bekend voorbeeld is de objectgeoriënteerde taal Scala waarin ook functioneel geprogrammeerd kan worden. In de cursus bekijken we wat dit kan betekenen voor de programmeur. Dit komt in de cursus aan de orde in de casestudie Scala.
Leerdoelen
Na bestudering van deze cursus kun je:
- de basisconcepten van programmeertalen, zoals waarden, typen, expressies, variabelen, opdrachten, bindingen en abstractiemechanismen benoemen en uitleggen,
- aangeven in hoeverre een concrete programmeertaal voldoet aan de vier in deze cursus geformuleerde kwaliteitscriteria voor programmeertalen: het type-volledigheidsprincipe, het kwalificatieprincipe, het abstractieprincipe en het correspondentieprincipe,
- de inkapseltechnieken, typesystemen en manieren om de programmaverwerking te onderbreken benoemen en uitleggen,
- de concepten van parallel programmeren en de problemen die hierbij kunnen optreden benoemen en uitleggen,
- met eigen woorden beschrijven welke taalconcepten kenmerkend zijn voor respectievelijk de imperatieve, de objectgeoriënteerde, de functionele de parallelle, de logische en de scripting programmeertalen.
Ingangseisen
- de volgende cursussen conform je online studiepad hebt afgerond, dan wel hebt vrijgesteld gekregen: Computernetwerken (IB0702), Formele talen en automaten (IB0802), Geavanceerd objectgeoriënteerd programmeren (IB0902), Inleiding informatica (IB0102), Logica, verzamelingen en relaties (IB0402), Objectgeoriënteerd programmeren (IB1102) en Practicum ontwerpen en implementeren (IB1202); en daarnaast
- minimaal ingeschreven bent voor de volgende cursussen en deze grotendeels bestudeerd hebt: Datastructuren en algoritmen (IB1502) en Functioneel programmeren (IB1602) conform je online studiepad.
Toelichting aanmelden
De cursus wordt eenmaal per academisch jaar aangeboden.
Voorkennis
Begeleidingsvorm
Bij de cursus worden online bijeenkomsten aangeboden in de periode van april t/m juni. Daarnaast wordt gedurende het gehele jaar standaardbegeleiding in de online leeromgeving aangeboden.
Begeleidingsbijeenkomsten
Bijeenkomsten (hybride) tijdens studiedag Informatica en Informatiekunde
Kwartiel 3 - begeleiders: dhr.dr. S. de Gouw en/of dhr.dr. T. Steenvoorden
- vr 14-02-2024 / introductie / tijd wordt nader bekend gemaakt
Docenten
Tentamenvorm
Tentamentoelichting
Bij het tentamen wordt actieve kennis van Java en Haskell verondersteld. Je moet desgevraagd programmacode kunnen geven. Daarbij is de syntaxis niet relevant. Van andere programmeertalen die in de cursus aan bod komen wordt passieve kennis verwacht. Je hoeft alleen gegeven code te kunnen interpreteren.
Tentamendata
Tentamenhulpmiddelen
De online rekenmachine
Het online woordenboek t.b.v. ANS
Meer informatie
Cursusmateriaal
Mediagebruik
- Java JDK, recente versie, en desgewenst programmeeromgeving Eclipse,
- Haskell-interpretator (WinHugs of GHC),
- Prolog-interpretator GNU Prolog,
- tekst-editor Notepad++.