Hyppää pääsisältöön
Opintojakso, lukuvuosi 2023–2024
COMP.CS.400

Principles of Programming Languages, 5 op

Tampereen yliopisto
Opetusperiodit
Aktiivinen periodissa 1 (1.8.2023–22.10.2023)
Aktiivinen periodissa 3 (1.1.2024–3.3.2024)
Aktiivinen periodissa 4 (4.3.2024–31.5.2024)
Koodi
COMP.CS.400
Opetuskieli
englanti
Lukuvuodet
2021–2022, 2022–2023, 2023–2024
Opintojakson taso
Aineopinnot
Arvosteluasteikko
Yleinen asteikko, 0-5
Vastuuhenkilö
Vastuuopettaja:
Matti Rintala
Vastuuorganisaatio
Informaatioteknologian ja viestinnän tiedekunta 100 %
Järjestävä organisaatio
Tietotekniikan opetus 100 %
Core content
  • Phases of translation: lexical analysis, syntax analysis, semantical analysis, abstract syntax tree, symbol table. Basic operating principles of a compiler/interpreter. Implementing the lexical and syntax analysis of a simple programming language.
  • Object models and other implementation choices and implementation principles of the most common programming language features. Value and reference semantics.
  • Principles of memory management, e.g., the content and importance of activation records.
  • Basic knowledge of different programming paradigms.
    Understanding programs written in different paradigms
  • Type systems. Differences between static and dynamic typing.
Complementary knowledge
  • Implementing semantic analysisa and an interpreter for a simple programming language.
  • Detailed implementation of some features in a certain programming language.
  • Implementation of activation records in a certain computer architecture.
  • Writing small programs in different programming paradigms.
  • Type inference. How static/dynamic typing affects other aspects of a programming language.
Specialist knowledge
  • Compiler optimization techniques and effect of CPU architectures to programming language performance.
  • Writing real programs in a certain paradigm other than the most common ones. The basics of monads in Haskell.
  • Genericity and type systems. Higher order types and type classes.
Osaamistavoitteet
Pakolliset esitiedot
Suositellut esitiedot
Lisätiedot
Oppimateriaalit
Vastaavat opintojaksot
Kokonaisuudet, joihin opintojakso kuuluu
Suoritustapa 1
Kaikkien osuuksien suorittaminen on pakollista.

Osallistuminen opetukseen

08.01.2024 31.05.2024
Aktiivinen periodissa 3 (1.1.2024–3.3.2024)
Aktiivinen periodissa 4 (4.3.2024–31.5.2024)

Tentti

04.09.2023 30.09.2023
Aktiivinen periodissa 1 (1.8.2023–22.10.2023)
29.04.2024 12.05.2024
Aktiivinen periodissa 4 (4.3.2024–31.5.2024)
13.05.2024 31.05.2024
Aktiivinen periodissa 4 (4.3.2024–31.5.2024)