Course ObjectiveThe goal of this course is to obtain familiarity and experience with
advanced programming language concepts, such as subtyping and pattern
matching, as well as learning advanced programming skills.
After taking this course, you will be able to:
* Understand & apply concepts from object-oriented programming such as
subtyping and inheritance.
* Understand & apply concepts from functional programming such as
pattern matching and higher-order functions.
* Design and implement a moderately large program from scratch.
* Produce clear, readable code.
Course ContentThe lectures cover various programming concepts from Object-oriented as
well as Functional programming and how they occur in various programming
languages. These topic include inheritance, subtyping, parametric
polymorphism, side effects, higher-order functions and pattern matching.
The lectures also cover how to produce clear, readable code.
There are several moderately large programming exercises, which give the
students experience with designing and implementing moderately large
programs from scratch. Moreover, they train the students in producing
clear, readable code as well as provide experience with applying the
programming concepts from the lecture.
Teaching MethodsLectures: 4 hours per week (in total 28 hours).
Practical sessions: 4 hours per week (in total 28 hours).
Method of AssessmentWritten exam (50% of grade) and programming exercises (50% of grade).
Both grades have to be at least 5.5. There is no resit opportunity for
the programming exercises.
Entry RequirementsComputer Programming(XB_40011) OR Project Application
|Language of Tuition||English|
|Faculty||Faculty of Science|
|Course Coordinator||dr. A.J. van der Ploeg MSc|
|Examiner||dr. A.J. van der Ploeg MSc|
dr. A.J. van der Ploeg MSc
You need to register for this course yourself
Last-minute registration is available for this course.
|Teaching Methods||Seminar, Lecture|