To teach theoretical background and common concepts in programming languages. Making students familiar with different paradigms including functional, object-oriented and logic programming paradigms. To establish an understanding of the programming language design quality. To give an idea of how concepts in programming languages including syntax is implemented.

Course Contents: Lecture NotesHomeworksExams