Uusi opinto-opas (sisältäen myös opetusohjelmat) lukuvuodelle 2018-2019 sijaitsee osoitteessa https://opas.peppi.utu.fi . Tältä sivustolta löytyvät enää vanhat opinto-oppaat ja opetusohjelmat.

The new study guide (incl. teaching schedules) for academic year 2018-2019 can be found at https://studyguide.utu.fi. This site contains only previous years' guides.

x !
Arkistoitu opetussuunnitelma 2016–2018
Selaamasi opetussuunnitelma ei ole enää voimassa. Tarkista tiedot voimassa olevasta opetussuunnitelmasta.
Opinto-oppaat » Luonnontieteiden ja tekniikan tiedekunta » Tulevaisuuden teknologioiden laitos » Tietotekniikan perusteoriat
DTEK1046 Ohjelmointikielet ja -paradigmat 5 op
Vastuutaho
Tietotekniikka
Vastuuhenkilö
Jari-Matti Mäkelä ja Ville Leppänen

Osaamistavoitteet

Kurssilla tarkastellaan ohjelmointikieliä ja paradigmoja teoreettisesta ja teknisestä näkökulmasta. Aihetta konkretisoidaan tutustumalla eri ohjelmointiparadigmoja edustaviin ohjelmointikieliin.

Sisältö

Kurssin päätavoite on antaa jäsennetty kokonaiskuva ohjelmointikielistä ja niiden tekniikoista, sekä teoreettisesta että pragmaattisesta näkökulmasta. Kieliä tarkastellaan läpileikkaavien piirteiden (esim. syntaksi, semantiikka) kautta, mutta myös erilaisiin paradigmoihin jaotellen.
Kielten käsittely alkaa niiden kehityskulun tarkastelulla nykypäivään asti, minkä jälkeen tuodaan lähempään tarkasteluun eri kieliä paradigmoittain. Imperatiivisen ohjelmoinnin kautta esitellään kielille yleisiä piirteitä (mm. syntaksi, kontrollivuo ja -rakenteet, nimet, sidonta, tila). Olio-ohjelmoinnin osalta syvennetään ymmärrystä periytymisen ja geneerisyyden toiminnasta sekä oliomallin abstraktioista. Javan lisäksi tarkastellaan vaihtoehtoisia oliomalleja (esim. moniperintä, prototyypit). Funktionaalisen ohjelmoinnin osalta tuodaan esiin tausta (mm. lambda-laskento), nojautuminen tyyppeihin (Haskell) sekä perusrakenteita. Deklaratiivista ohjelmointia tarkastellaan myös logiikka- ja tietovuo-ohjelmoinnin kautta. Muista paradigmoista tutustutaan mm. reaktiiviseen, aspekti- ja metaohjelmointiin sekä sovellusaluekohtaisiin ja visuaalisiin kieliin. Paradigmojen ohella tuodaan esiin myös samanaikaisuuden ja rinnakkaisuuden käsitteitä, tekniikoita ja haasteita.

Vaadittavat opintosuoritukset

Suoritusvaihtoehto 1
Kohderyhmät:
  • Tutkinto-ohjelman omat opiskelijat
  • Muut opiskelijat
  • Tohtoriopiskelijat
  • Vaihto-opiskelijat
Kirjallinen tentti
  • suomeksi
Harjoitustyö(t)
  • suomeksi

Oletusarvoisesti kirjallinen tentti ja harjoitustyö(t), mutta yksittäisen kurssikerran suoritustapa käy ilmi puolivuosittain julkaistavasta opetusohjelmasta.

Arviointi

Numerolla 0-5.

Kirjallisuus/Oppimateriaali

Michael L. Scott: Programming Language Pragmatics. 4. painos. Morgan Kaufmann, 2015. ISBN 9780124104099.

Robert W. Sebesta: Concepts of Programming Languages,  10thed, Peason, 2012.

Kokonaisuudet, joihin opintojakso kuuluu

Tulevaisuuden teknologioiden laitos
Pakolliset aineopinnot (Tietojenkäsittelytieteet)
Tulevaisuuden teknologioiden laitos
2018–2019
Opintojakso opetusohjelmassa
Toteutustietoja ei ole taltioitu.
Tulevaisuuden teknologioiden laitos
MDP in Bioinformatics
MDP in Embedded Computing
MDP in Digital Health and Life Sciences (Tech.)
Opintokokonaisuudet