Course Catalog 2012-2013
International

Basic Pori International Postgraduate Open University

|Degrees|     |Study blocks|     |Courses|    

Course Catalog 2012-2013

OHJ-2056 Principles of Programming Languages, 5 cr

Person responsible

Matti Rintala, Maarit Harsu

Lessons

Study type P1 P2 P3 P4 Summer Implementations Lecture times and places
Lectures
Excercises
Seminar
 4 h/week
 2 h/week
 10 h/per
+2 h/week
+2 h/week
+16 h/per



 



 



 
OHJ-2056 2012-01 Friday 14 - 16, TB222
Monday 14 - 16, TB222

Requirements

Examination, seminar project, and weekly exercises.
Completion parts must belong to the same implementation

Principles and baselines related to teaching and learning

-

Learning outcomes

Student is able to explain general principles and basic concepts of programming languages, at a higher level than that of a single programming language. Student understands the effects of these principles to language implementation and use, and is able to choose a suitable programming language for his purposes.

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. 

Study material

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  
Lecture slides     Harsu, Geldenhuys            English  

Prerequisites

Course Mandatory/Advisable Description
OHJ-1406 Introduction to Object-Oriented Programming Mandatory   1
OHJ-2016 Utilization of Data Structures Mandatory   1
OHJ-1156 Programming II Mandatory    

1 . At least one of the courses is required

Prerequisite relations (Requires logging in to POP)



Correspondence of content

Course Corresponds course  Description 
OHJ-2056 Principles of Programming Languages, 5 cr OHJ-2050 Principles of Programming Languages, 5 cr  
OHJ-2056 Principles of Programming Languages, 5 cr TIE-20306 Principles of Programming Languages, 5 cr  

More precise information per implementation

Implementation Description Methods of instruction Implementation
OHJ-2056 2012-01        

Last modified19.06.2012