Course - Programming Languages - TDT4165
Programming Languages
About
About the course
Course content
Introduction to language paradigms, semantics and computational models.
Language models supporting declarative, functional, logic, lazy, dataflowbased, object-oriented, distributed, parallell programming.
Programming language syntax. analysis, translation, interpretation and semantics. Comparison of language properties, particularly security, data typing, analyzability, run-time systems, semantics, area of application and modularization.
Learning outcome
The course should give (1) an understanding of basic properties of imperative, logical, functional and object oriented programming languages (2) practical knowledge of techniqes for implementing such languages and for describing their meaning (4) the ability to understand and compare existing and future languages.
Learning methods and activities
Lectures, programming laboratory, projects and theoretical assignments. The final grade will be the result of a portfolio evaluation, where the final exam will have 80% weight and other work 20%. The results for the constituent parts are to be given in %-points, while the grade for the whole portfolio (course grade) is given by the letter grading system. Retake of examination may be given as an oral examination.
Compulsory assignments
- Exercises
Recommended previous knowledge
Courses TMA4140 Discrete Mathematics, TDT4100 Object-Oriented Programming and TDT4120 Algorithms and Datastructures, or equivalent.
Course materials
Most likely van Roy & Haridi: Concepts, Techniques, and Models of Computer Programming, MIT Press, 2004, 900pp+xxix . There will be supplementary notes, project - and exercise descriptions. The final decision wrt. textbook will be made well in advance of the start of term.
Credit reductions
| Course code | Reduction | From |
|---|---|---|
| SIF8028 | 7.5 sp |
Other pages about the course
Subject areas
- Informatics
- Technological subjects