Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuSinikka Auvinen Muutettu yli 7 vuotta sitten
1
Aloitusluento TIES341 Funktio-ohjelmointi 2 Kevät 2006
2
Aikataulu ● 15-18 luentoa ti klo 14, to klo 10 – varaa perua tarvittaessa luentoja ● 8 demokertaa 17.1. alkaen ti klo 16 – demotehtävät julki viimeistään edellisenä perjantaina ● Lähiopetusta yhteensä n. 50 tuntia ● “Kotitöitä” n. 30 tuntia (n. 4 h / demokerta) – keskimääräisen opiskelijan keskimääräinen työpanos ● Tenttejä 10.3., 21.4., 12.5. ● Suoritus: tentti tai harjoitustyö – demoista hyvityspisteitä
3
Sisällöstä ● Peruskurssilla perusasioita – selkeä ajatus siitä, mitkä ovat perusasioita – toisaalta perusasiat ovat keskenään niin naimisissa, ettei niistä saa kunnollista lineaarista esitystä – tarkoituksella jätetty pois peruskäsitteitä, jotka sotkisivat liikaa ekalla kurssilla ● Jatkokurssilla jatketaan – täydennetään perusasiat – tarkastellaan idiomeja – katsastetaan teoriaa, ja ehkä vähän lisää pellin alle – aihevalinta vähemmän ohjelmallista kuin peruskurssilla
4
Kirjallisuudesta ● Osa asiasta löytyy myös 1-kurssilla mainostetuista kirjoista, osa ei ● Osa on tutkimustietoa, josta ei ole vielä oppikirjoja – koetan muistaa mainita lähteeni, kun niitä käytän ● Tällä kurssilla toivottavasti päästään käsiksi tutkimuksen kärkeen, joten kaikkiin kurssilla esiin tuleviin kysymyksiin ei kukaan vielä tiedä vastausta! ● Osa kurssilla esiin tulevasta tiedosta on “hiljaista tietoa”, jota ei ole kirjallisuudessa käsitelty lainkaan
5
Parikeskustelu 1 f :: [String] -> String f xs = “[“ ++ g xs ++ “]” where g [] = “” g [x] = x g (x:xs) = g xs ++ “, ” ++ x Ylläoleva on tehoton, O(n²). a) Miksi? b) Keksikää useampi tapa tehostaa ylläolevaa O(n):ksi
6
Parikeskustelu 2 ● Miksi Haskellissa tarvitaan erottelu “puhtaisiin” arvoihin ja komentoihin? – on olemassa ainakin periaatteellinen syy ja käytännöllinen syy ● Eli siis: miksi getLine :: IO String eikä getLine :: String ? ● Löydättekö mitään (muuta) tapaa ratkaista nämä ongelmat kuin komentotyyppi IO?
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.