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
Exam element a)
Timing
Tests
Portfolio
EKA
Assessment
Grading
Identification
Language
Examination aids
ECTS value
Additional information
The exam consists of programming assignments handed in during the course and a written exam. The final grrade is given on the basis of an overall assessment of assignments and the written exam.
The examination form for re-examination may be different from the exam form at the regular exam.
Indicative number of lessons
Teaching Method
- Programming and small projects