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)
PreviousNext 1
Lecturer
dr. P.M. Achten
Other course modules lecturer
Examiner
dr. P.W.M. Koopman
Other course modules lecturer
Coordinator
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
Academic year2022
Period
KW3-KW4  (30/01/2023 to 31/08/2023)
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
Master Computing Science.
Presumed foreknowledge
Bachelor of Computer Science. Some background in Functional Programming is instrumental.
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 master specialisation "Software Science". For practical experience, we use the state-of-the-art functional languages SaC and Clean.
Required materials
Articles
Scientific papers on the topics treated. These papers will be made available during the course.

Instructional modes
Course occurrence

Tests
Exam
Test weight1
Test typeExam
OpportunitiesBlock KW4, Block KW4