NWI-I00032
Advanced Programming
Course infoSchedule
Course moduleNWI-I00032
Credits (ECTS)6
CategoryMA (Master)
Language of instructionEnglish
Offered byRadboud University; Faculty of Science; Informatica en Informatiekunde;
Lecturer(s)
Coordinator
dr. P.W.M. Koopman
Other course modules lecturer
Examiner
dr. P.W.M. Koopman
Other course modules lecturer
Contactperson for the course
dr. P.W.M. Koopman
Other course modules lecturer
Lecturer
dr. P.W.M. Koopman
Other course modules lecturer
Lecturer
prof. dr. S.B. Scholz
Other course modules lecturer
Academic year2020
Period
KW3-KW4  (25/01/2021 to 31/08/2021)
Starting block
KW3
Course mode
full-time
Remarks-
Registration using OSIRISYes
Course open to students from other facultiesYes
Pre-registrationNo
Waiting listNo
Placement procedure-
Aims
Insight in some state-of-the-art advanced programming concepts, their theoretical background and their practical applicability. Insight in the tradeoffs in the construction of an embedded domain specific language and their application.
Content
In this course advanced programming concepts will be taught. In this course we focus on the use of a functional programming language for the construction of an embedded domain specific language, EDSL. In DSL terms we will address shallow and deep embedded DSLs and their advantages and disadvantages. We will address the following advanced (functional) programming topics:
  • generic programming;
  • combinatorical programming;
  • task oriented programming;
  • executable semantics;
  • state handling in pure functional languages;
  • advanced data structures.
Level

Presumed foreknowledge
Bachelor Computer Science.
Test information
There will be a written, closed book, exam. When the technique permits, the programming environments used in the course will be made available during the exam. 
Specifics
The course is part of the theme "Software Construction". For practical experience we use the state-of-the-art functional language Clean.
Required materials
Articles
Scientific papers on the topics treated. These papers will be made available during the course.

Instructional modes
Course occurrence

Tests
Digital Exam (not CIRRUS)
Test weight1
Test typeExam
OpportunitiesBlock KW4, Block KW4