SluitenHelpPrint
Switch to English
Cursus: INFOMCPD
INFOMCPD
Concepten van programmeertaalontwerp
Cursus informatieRooster
CursuscodeINFOMCPD
Studiepunten (ECTS)7,5
Categorie / NiveauM (M (Master))
CursustypeCursorisch onderwijs
VoertaalEngels
Aangeboden doorFaculteit Betawetenschappen; Graduate School of Natural Sciences; Graduate School of Natural Sciences;
Contactpersoonprof. dr. G.K. Keller
E-mailg.k.keller@uu.nl
Docenten
Contactpersoon van de cursus
prof. dr. G.K. Keller
Overige cursussen docent
Docent
prof. dr. G.K. Keller
Overige cursussen docent
Docent
T.J. Smeding, MSc
Overige cursussen docent
Blok
2  (14-11-2022 t/m 03-02-2023)
Aanvangsblok
2
TimeslotC: C (MA-mid/namiddag,DI-middag, DO-ocht)
Onderwijsvorm
Voltijd
Cursusinschrijving geopendvanaf 19-09-2022 t/m 30-09-2022
AanmeldingsprocedureOsiris Student
Inschrijven via OSIRISJa
Inschrijven voor bijvakkersJa
VoorinschrijvingNee
Na-inschrijvingJa
Na-inschrijving geopendvanaf 24-10-2022 t/m 25-10-2022
WachtlijstJa
Plaatsingsprocedureadministratie onderwijsinstituut
Cursusdoelen
After completing this course, students will have an understanding of programming language paradigms such as object oriented, imperative and functional programming.
They will understand fundamental concepts, such as static and dynamic semantics of programming languages, type safety, static and dynamic typing, subtyping, inheritance, and higher order functions, as well as manual versus automatic memory management.
They will understand how the semantic of a language can be specified formally, to prove properties of the language in general or individual programs (such as correctness).
They will also understand how these features can be implemented, and how they can affect run time, safety and usability of a language.

Assessment
Students will need to

1. complete a project component, which can be done by either
  • completing a small research project (in a group) and present this project in a report (in a group), or by
  • completing a programming assignment component, which may include a written report.
2. take a final exam

The final mark is the average of the exam and project/assignment marks. To pass the course, both these marks must be at least 4.0.

A retake test requires at least a 4 for the original test.
Inhoud
There exists a multitude of programming languages, and the top ten list of most popular languages keeps changing continuously.
However, the set of basic building blocks on which these languages are based changes much more slowly.
In this course, we focus on exactly these building blocks and concepts, and look at how they are implemented in concrete programming languages.
We use predicate logic and natural deduction to specify and analyze the static and dynamic semantics of languages.
For the assignments, we will use the functional programming language Haskell. For the projects, students can choose the most suitable language.

Course form
Lectures, presentations by students.

Literature
There is no book, but there are lecture notes for most of the topics. In addition, articles, slides, and background reading will be provided during the course.
Competenties
-
Ingangseisen
Je moet voldoen aan de volgende eisen
  • Toelatingsbeschikking voor de master toegekend
Verplicht materiaal
-
Werkvormen
Hoorcollege

Toetsen
Eindresultaat
Weging100
Minimum cijfer-

SluitenHelpPrint
Switch to English