|
OHJ-2056 Principles of Programming Languages, 5 cr |
Antti Valmari
Lecture times and places | Target group recommended to | |
Implementation 1 |
|
-
Students should learn the general principles and basic concepts of programming languages, at higher level than that of a single programming language. Students should understand the effects of these principles to language implementation and use.
Content | Core content | Complementary knowledge | Specialist knowledge |
1. | Syntax description (context-free grammars). Basic parsing mechanism. Parsing algorithms (LL and LR). | Chomsky's four classes of languages. Knowing more parsing algorithms besides LL and LR. Describing axiomatic semantics. | Formal description of semantics (denotational, operational). |
2. | Implementation choices and implementation principles of the most common programming language features. | Detailed implementation of some features in a certain programming language. | |
3. | Principles of memory management, e.g. the content and importance of activation records. | Implementation of activation records in a certain computer architecture. | |
4. | Basic knowledge of different programming paradigms. Understanding programs written in different paradigms (functional, logic, concurrent). | Writing small programs in different programming paradigms. | Writing real programs in a certain paradigm other than the most common ones. |
The mark of the course is based on the exam and on the project work. The project work gives 6 points at maximum, and thus, it corresponds to one question in the exam (containing 5 questions in total). Thus, maximum points is 36. To pass the course (with the lowest mark), a student must collect half of the maximum points, namely 18.
Numerical evaluation scale (1-5) will be used on the course
Type | Name | Author | ISBN | URL | Edition, availability, ... | Examination material | Language |
Book | Concepts of programming languages | Sebesta | Fifth or sixth edition | English | |||
Book | Ohjelmointikielet - periaatteet, käsitteet, valintaperusteet | Maarit Harsu | 952-14-0981-9 | Suomi |
Course | O/R |
MAT-21160 Algoritmimatematiikka | Obligatory |
OHJ-2016 Utilization of Data Structures | Obligatory |
Course | Corresponds course | Description |
|
|
Description | Methods of instruction | Implementation | |
Implementation 1 | Lectures Excercises Practical works |
Contact teaching: 0 % Distance learning: 0 % Self-directed learning: 0 % |