OHJ-2056 PRINCIPLES OF PROGRAMMING LANGUAGES, 5 cr
|
Courses persons responsible
Maarit Harsu
Lecturers
N.N.
Implementations
Period 1 | Period 2 | Period 3 | Period 4 | Period 5 | Summer | |
Lecture | - | - | - | 3 h/week | 3 h/week | - |
Exercise | - | - | - | 2 h/week | 2 h/week | - |
Exercise work | - | - | - | 12 h/per | 14 h/per | - |
Exam |
Objectives
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
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. |
Evaluation criteria for the course
Study material
Type | Name | Auhor | ISBN | URL | Edition, availability... | Exam material | Language |
Book | Concepts of programming languages | Sebesta | Fifth or sixth edition | Yes | English | ||
Book | Ohjelmointikielet - periaatteet, käsitteet, valintaperusteet | Maarit Harsu | 952-14-0981-9 | No | Finnish |
Prerequisites
Code | Course | Credits | M/R |
MAT-21160 | MAT-21160 Mathematics for Algorithms | 3 | Mandatory |
OHJ-2016 | OHJ-2016 Utilization of Data Structures | 5 | Mandatory |
Prequisite relations (Sign up to TUT Intranet required)
Remarks
Distance learning
- In information distribution via homepage, newsgroups or mailing lists, e.g. current issues, timetables
Scaling
Methods of instruction | Hours |
Lectures | 54 |
Exercises | 36 |
Assignments | 26 |
Study materials | Hours |
Course book | 20 |
Total sum | 136 |
Principles and starting points related to the instruction and learning of the course
Correspondence of content
OHJ-2050 Principles of Programming Languages
Last modified | 29.01.2007 |
Modified by | Maarit Harsu |