Programming languages and paradigms
7.5 credits cr.
- Gå till denna sida på svenska webben
Learning a new programming language is in many ways more about learning new ways of thinking and new problem-solving strategies than about learning a new syntax.
At least if the new language is considerably different from the languages you are already familiar with.
One of the goals of this course is to give you an understanding for how programming languages can be constructed and implemented and also experience of using different languages, mainly from other groups than the imperative and object-oriented ones that you already know. This is important knowledge, e.g., because it prepares you for later learning new languages quicker and more easily.
Basic: History, design principles, syntax, semantics, control flow, type systems, names, scoping, binding, abstractions, etc.
Object-oriented languages: Class-based languages, prototype-based languages, encapsulation, information hiding, inheritance, delegation, polymorphism, dynamic binding, etc.
Functional languages: Polymorphism, recursion, functions as first-class program constructions, higher order functions, lazy vs. eager evaluation, currying, etc.
Logic based languages: Facts and rules, resolution and unification, searching and backtracking, recursion, functions and arithmetic, lists and other structures, etc.
Concluding summary and extras.
The teaching consists of lectures and seminars.
The course is examined as follows:
- take-home examination
- written assignments
ScheduleThe schedule will be available no later than one month before the start of the course. We do not recommend print-outs as changes can occur. At the start of the course, your department will advise where you can find your schedule during the course.
Course literatureNote that the course literature can be changed up to two months before the start of the course.
This course is part of a programme, course package or incoming exchange studies and is not available for application as a stand-alone course.Student counsellors - master