Course Catalog 2009-2010
Basic

Basic Pori International Postgraduate Open University

|Degrees|     |Study blocks|     |Courses|    

Course Catalog 2009-2010

OHJ-2056 Principles of Programming Languages, 5 cr

Person responsible

Antti Valmari

Implementations

  Lecture times and places Target group recommended to
Implementation 1


Per 4, 5 :
Thursday 9 - 12, TB 111

 
3.-n. vuosikurssi
International Students
Tieto- ja sähkötekniikan tiedekunta
Tietotekniikan koulutusohjelma  


Requirements

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

Principles and baselines related to teaching and learning

-

Learning outcomes

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. 


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
MAT-21160 Algoritmimatematiikka Mandatory    
OHJ-1156 Programming II Mandatory    
OHJ-2016 Utilization of Data Structures Advisable    

Additional information about prerequisites
Good knowledge of some programming language together with some familiarity with formal concepts, like basics of predicate logic, suffice for prerequisites.

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  

More precise information per implementation

  Description Methods of instruction Implementation
Implementation 1   Lectures
Excercises
Practical works
   
Contact teaching: 0 %
Distance learning: 0 %
Self-directed learning: 0 %  


Last modified04.01.2010
ModifierMatti Rintala