TIE-20306 Principles of Programming Languages Autumn 2015 Basic - - PowerPoint PPT Presentation

tie 20306 principles of programming languages
SMART_READER_LITE
LIVE PREVIEW

TIE-20306 Principles of Programming Languages Autumn 2015 Basic - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

TIE-20306 Principles of Programming Languages

Autumn 2015

slide-2
SLIDE 2

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
slide-3
SLIDE 3

Important notice to students

  • This is NOT the course TIE-02206 Basic course
  • n Programming.
  • If you accidentally thought so, could you please

unregister from this course in POP. ☺

slide-4
SLIDE 4

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)

slide-5
SLIDE 5

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)

slide-6
SLIDE 6

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?
slide-7
SLIDE 7

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
slide-8
SLIDE 8

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

slide-9
SLIDE 9

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
slide-10
SLIDE 10

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
slide-11
SLIDE 11

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

slide-12
SLIDE 12

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)

slide-13
SLIDE 13

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)

slide-14
SLIDE 14

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