Prospectus

nl en

Concepts of Programming Languages

Course
2019-2020

Admission requirements

Basic programming ability in any modern language (Python, Java, C++,
etc.) is necessary in order to be able to follow the course. Knowledge of any other programming language is a plus but not mandatory.

Description

Programming is the art of telling computers what to do, and programming languages are the main tool to achieve that.
The course comprises foundational knowledge as the evolution of programming languages, methods to describe language syntax and semantics, bindings, types, metaprogramming and concurrency, but also newer developments as Kotlin and R as examples of specific language developments (there are more interesting developments but we cannot treat everything). We plan to close with virtualization techniques, CUDA, and functional programming.

Course objectives

This course is an introduction to foundations and evolution of programming languages. The main goal of the course is to provide insights into the relationship between concepts of programming languages and how they are implemented, which should enable you to learn different new languages or related techniques employed in the programming context faster, and make more informed decisions about what to use when.

Timetable

Het meest recente rooster is te vinden op de Studenten-website:

Mode of instruction

2 hours lectures, 2 hours working classes (labs) per week.
For both of these, it is appreciated if students bring their own devices as laptops or tablets. This is not mandatory but at least each group should have one device to work with.

Assessment method

The final grade is calculated from the following:

Assignments (50%)
Written exam (50%)

Assignments will usually be group work of around 3 people.
It is required to achieve at least 5.5 points on average for the assignments, AND also for the written exam in order to pass the course.

For students who combine several degrees or have conflicts in the schedule for any other respected reason, there is an option to study the lecture material independently – please notify the lecturer about this at the beginning of the course. Even in this case, it is appreciated if the assignments are done in group work.

Blackboard

Relevant literature, current information, announcements, lecture slides, assignments, and additional material can be found on blackboard.

Signing up for classes and exams

You can enrol via uSis . More information about signing up for classes and exams can be found here .

There is limited space for students who are not enrolled in the BSc programme of Computer Science or the Minor Data Science. Please contact the study coordinator/study adviser.

Contact information

Docent Mike Preuss
Onderwijscoördinator Informatica, Riet Derogee

Website

Geen