TIE-20306 Principles of Programming Languages Autumn 2015
Basic Course Info ● Lecturer: Matti Rintala ● Main assistant: Jyke Savia ● Assistant: Pertti Lehtinen ● Web page: http://www.cs.tut.fi/~popl/ ● Email: popl@cs.tut.fi
Important notice to students ● This is NOT the course TIE-02206 Basic course on Programming. ● If you accidentally thought so, could you please unregister from this course in POP. ☺
Course Language ● Official course language is English ● Mutta suomeksikin voi kysyä, jos haluaa (but you can ask questions in Finnish, if you wish) ● Lectures are in English ● Two English excercise groups, two Finnish ● Seminar presentations can be given in English (preferred) or Finnish (presentations will be grouped based on language)
Prerequisites for the course ● Good knowledge of at least one programming language (C++, Java, etc.) ● Experience in writing programs (larger than simple toy programs) ● Knowledge of basic computer science terms (recursion, algorithms, memory management, functions, parameters, objects, inheritance, modularity)
Some topics of the course ● Programming paradigms: Imperative, Functional, Logic, Script ● General syntax and semantics of languages ● Phases of program compilation and interpretation ● Variable lifetimes, binding and memory management ● Typing and type systems ● Subprograms and parameter passing mechanisms ● Compromises in implementing language features ● Generic programming, concurrency features,... ● Understanding WHY?
Course Timetable ● 24.8. Lectures start ● Soon Registration for weekly excercises and seminar starts ● Early September: Registration for seminar presentations starts ● Third lecture week: weekly excercises begin ● Mid September: Registration for seminar ends ● Early October: Seminar subjects given ● Middle of period 2: weekly excercises end ● Middle of period 2: seminar presentations begin ● End of period 2: First exam
Lectures ● Times – Tuesday 14:15-16:00 in TB111 (periods 1 and 2) – Wednesday 10:15-12:00 in TB109 (period 1) ● Goal is discussion ● Lighter experience than textbook alone (I can guarantee that!) ● Lecture slides will be published, but they are not suitable for self-study without attending lectures
Course Material ● Maurizio Gabbrielli, Simone Martini, Programming Languages: Principles and Paradigms , ISBN: 978-1-84882-913-8 (Print) 978-1-84882-914-5 (Online), Springer-Verlag, 2010 ● ( Maarit Harsu : Ohjelmointikielet — Periaatteet, käsitteet, valintaperusteet , Talentum, 2005) ● Extra material on homepage, if needed
Lecture essays ● No. 1 course feedback: "I should have studied the course subjects earlier, I should have attended the lectures..." ● Solution: Lecture essays ● Each week (on Wednesday/Thursday) a short essay topic is given, based on next week's lectures ● Idea is to familiarize yourself on the subject, find out questions / difficult parts. Helps lecture discussion. ● Each essay counts as one extra point in weekly excercises, so: not compulsory, but affects the grade ● Returned to Moodle
Weekly Excercises ● Times – Wednesday 10-12 TC103 in English – Thursday 10-12 TC103 in Finnish – Thursday 12-14 TC103 in Finnish – Friday 12-14 TC103 in English ● Begin on third lecture week (8.9. onwards) ● Questions in English. In Finnish groups, Finnish/English answers are allowed. In English groups English only
Seminar ● Presentation (15 min), essay on subject, short comparison with another group ● Compulsory part of course ● Done in pairs ● Excercise groups change into seminar groups on second half of period 2 ● Both English and Finnish seminar groups available ● Subjects will be chosen by the course staff (programming languages and related subjects)
Grading ● 50 % : Grade from the exam (grade must be at least 1) ● 25 % : Grade from the seminar: presentation + paper essay (grade must be at least 1) ● 25 % : Grade from weekly excercises + active participation in weekly excercises, returning lecture essays (grade must be at least 1)
Moodle learning platform ● Registration for seminar (required to pass the course) in Moodle ● Registration to excercise groups in Moodle ● Answers to weekly excercises returned in Moodle ● Lecture essays returned to Moodle ● Moodle's discussion groups can also be used to find a pair for the seminar ● Link to Moodle course is on the course web page
Recommend
More recommend