DM552: Programming Languages
Comment
Entry requirements
Academic preconditions
The contents of DM550 Introduction to Programming must be known.
The course DM507 Algorithms and Data Structures is recommended.
Course introduction
The course gives an introduction to the main concepts and the structure of programming languages, paying particular attention to the functional paradigm. It allows students to learn the general principles of programming language design, and the specific choices characterizing the language paradigms. It fosters a coherent understanding of advantages and disadvantages of different levels of abstraction and programming language constructs, giving to the participants the experience with programming in languages other than the mainstream object-oriented languages.
- developing skills in programming in different types of programming languages
- developing skills in analysing advantages and disadvantages of different language constructs
- developing skills in deciding and justifying professional decisions
- giving the competence to identify one's own needs for learning and structure one's own learning in different learning environments
Expected learning outcome
- detect and describe the main characteristics and structures of a programming language
- distinguish and develop simple programs in the main programming paradigms
- solve non-trivial programming tasks in a functional programming language by writing clear and correct code
Content
- Scoping rules
- Stack of activation records
- Heap, Memory management
- Sequence control, procedures, recursion
- Types, Parameters, Exceptions
- Functional languages: higher-order, polymorphism, lists, lazy evaluation
Literature
Examination regulations
Prerequisites for participating in the exam a)
Timing
Tests
A number of programming assignments
EKA
Assessment
Grading
Identification
Language
Examination aids
To be announced during the course.
ECTS value
Additional information
Exam element a)
Timing
Prerequisites
Type | Prerequisite name | Prerequisite course |
---|---|---|
Examination part | Prerequisites for participating in the exam a) | N330038101, DM552: Programming Languages |
Tests
Skriftlig eksamen
EKA
Assessment
Grading
Identification
Language
Duration
Examination aids
ECTS value
Additional information
The final grade is given on the basis of an overall assessment of written exams.
The examination form for re-examination may be different from the exam form at the regular exam.
Indicative number of lessons
Teaching Method
- Intro phase (lectures, class lessons) - 40 hours
- Training phase: 42 hours