Programming languages and paradigms
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.
-
Course structure
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.
Teaching format
The teaching consists of lectures and seminars.
Assessment
The course is examined as follows:
- take-home examination
- written assignments
Examiner
-
Schedule
The 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 literature
Note that the course literature can be changed up to two months before the start of the course.
-
Contact
This course is part of a programme, course package or incoming exchange studies and is not available for application as a stand-alone course.
Information about our Master's programmes
Study counsellors - master- Visiting address
Nod Buildning, Borgarfjordsgatan 12, Kista
- Office hours
Please contact us via email if you want to book a meeting. We are available on Campus in Kista and via Zoom.
- Phone hours
Thursday 12.30–2 pm
- Irregular office hours
Last phone hours of autumn semester 2024: 12 December
First phone hours of spring semester 2025: 9 January