- Language of Instruction
- Level of course
- Graduate course
- Q4 — Spring 2013
- Hours per week
Objectives of the Course
The participants will after the course be familiar with the main paradigms of programming languages: imperative, functional and logic programming. The course aims to convey knowledge onf the principles underlying the paradigms as well as practical issues such as multi-paradigm programming.
Learning outcomes and competences
The participants must at the end of the course be able to:
- identify and describe practical strengths and weaknesses of different paradigms,
- explain and compare different language paradigms,
- explain and analyze suitability of paradigms for specific programming problems,
- explain and discuss difficulties of multi-paradigm programming,
- compare and judge specific language aspects, such as concurrency
This course gives an overview of the major programming language paradigms focusing on functional and logic programming. It introduces the students to principleal and practical aspects of the paradigms. The course illustrates the use of multi-paradigm programming for combing the strengths of different paradigms. More advanced topics such as concurrency and domain-specific languages will be introduced.
Practical programming skills in an imperative programming language (C, Java, etc.)
Type of course / Teaching methods
To be announced — primary resources will be online
Mandatory hand-ins during the course in order to be able to qualify for the exam. Oral exam (20 min) without preparation. An overall grade by use of 7-scale, external examiner.