Odota...
Wait...
Korppi-järjestelmän toimintoja Korppi

11.20.0

Kirjaudu sisään järjestelmään!
23.8.2017 18:42

TIES343 Funktio-ohjelmointi, 6 op, Johdatus funktio-ohjelmointiin [kotisivu]

Tietotekniikan laitos

Tiedotus:
Kurssille ei voida ilmoittautua, koska se on jo vanhennettu.
Kurssin ilmoittautumisaika päättyi 21.10.11 klo 23:59.

Yleisiä tietoja

Kotisivu: http://users.jyu.fi/~aleator/TIES343/
Alkaa - päättyy: 1.9.11 - 21.10.11
Ilmoittautumisaika: 1.8.11 klo 0:00 - 21.10.11 klo 23:59
Ilmoittautuminen voidaan perua 21.10.2011 klo 00:00 mennessä.
Opettaja(t): Yliopistonlehtori, tutkijatohtori Ville Tirronen (ville.e.t.tirronen@jyu.fi)
Tuntiopettaja(t): Antoine Kalmbach (antoine.h.kalmbach@student.jyu.fi)
Heikki Salo (heikki.a.o.salo@student.jyu.fi)
Laajuus: 6.0 op
Kielet: opetuskielet: suomi; suorituskielet: English, suomi
Ilmoittautuneita: 48
Organisaatiot:Tietotekniikan laitos (TTL)
Sisältö:

Funktio-ohjelmointi on tänä päivänä nopeimmin kehittyvä ohjelmoinnin ala ja se on jo paikoin syrjäyttänyt olio-ohjelmoinnin perusopetuksen paremman modulaarisuutensa ja tehokkaampien abstraktioidensa takia (Ks. Carnegie-Mellon).

Tällä kurssilla opiskellaan funktio-ohjelmointia käyttäen Haskell-kieltä. Pyrimme oppimaan ja soveltamaan funktioiden käyttöä arvoina, staattista tyypitystä, kevyttä tyyppiteoriaa, laiskaa laskentaa, ohjelmoinnin algebrallisia käsitteitä, rekursiota ja induktiota, persistenttejä tietorakenteita, ohjelman verifioimista sekä rinnakkaislaskentaa SMP ympäristöissä.   Näiden asioiden opiskelua voi suositella lämpimästi kaikille, sillä kehittyvänä alana funktio-ohjelmointi tuottaa jatkuvasti uusia piirteitä, jotka hiljalleen löytävät tiensä myös mainstream-kieliin.

Osaamistavoitteet:
  • Funktiot & Funktionaalit        
  • Perustyypitys                   
  • Tyyppiluokat                    
  • Rekursio & Induktio             
  • Haskell - syntaksi              
  • Laiska laskenta                 
  • Monadit                         
  • Säilyväiset tietorakenteet     
  • Rinnakkaislaskenta              
  • Funktorit & applikatiiviset-    
Osaamistavoitetaulukko:
Osaamistavoitteet?1
muistaa
2
ymmärtää
3
osaa soveltaa
4
osaa analysoida
5
osaa arvioida
6
osaa luoda
Funktiot & Funktionaalit osaa luoda
Perustyypitysosaa luoda
Tyyppiluokatosaa luoda
Rekursio ja Induktiotodistuksetosaa analysoida
Laiska laskentaosaa soveltaa
Monaditosaa soveltaa
Säilyvät tietorakenteetosaa soveltaa
Funktionaalinen rinnakkaislaskentaymmärtää
Funktorit &- applikatiivisetosaa analysoida
Esitiedot:

Kurssilla ei ole esitietovaatimuksia, mutta seuraavat kurssit saattavat muuttua tämän myötä mielekkäämmiksi: MATA220 Algebra, TIEA241 Automaatit ja kieliopit, TIES448 Kääntäjätekniikka, TIES542 Ohjelmointikielten periaatteet.

Opetusmuodot:

Ohjaukset, harjoitukset ja omatoiminen opiskelu. 

Suoritustavat:

Aktiivinen harjoituksiin osallistuminen ja harjoitustehtävien ratkaisu ryhmissä. Kurssilla ei ole tenttiä, eikä pakollista harjoitustyötä.

Etä- ja omatoimista suorittamista suositellaan vain niille, jotka entuudestaan tuntevat funktio-ohjelmoinnin hyvin.

Kurssin työmäärä:

 

<div>
  t/vko viikkoja yht.
Ohjaukset <div> <div> 2</div> </div> 12 24
Demot 2 12 24

Omatoiminen harjoittelu & ryhmätyö

10 12 120
Yhteensä 14 12 168
</div> <meta charset="utf-8" />
Kirjallisuus:

 

<meta charset="utf-8" />

Kurssilla käytettävä kirjallisuus

  • Miran Lipovaca   - Learn You A Haskell For Great Good (web)
  • Bryan O''Sullivan &al. - Real World Haskell (web)

Suositeltu lukemisto:

  • Graham Hutton - Programming in Haskell
  • Simon Thompson: Haskell: The Craft of Functional Programming
  • Paul Hudak: The Haskell School of Expression
  • Richard Bird: Introduction to Functional Programming using Haskell
  • Chris Okasaki: Purely Functional Data Structures              
Avainsanat:

 

<meta charset="utf-8" /> <div style="font-family: Arial, Verdana, sans-serif; font-size: 12px; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); ">

Funktio-ohjelmointi, Haskell, säilyvät tietorakenteet, rekursio, induktio, tyypit

</div>

[Tiivistä opetusryhmien aika- ja paikkatiedot]

Luento [ryhmien tarkat tiedot ja ilmoittautuminen]

Aloitusluento [ryhmätiedot ja ilmoittautuminen]; ilmoittautuneita 48, maksimi 200
ilm.aika: 1.8.2011 00:00 - 21.10.2011 23:59
 PaikkaViikkoPäiväPvmKloOhjaajaLisätietojaURITapahtuman tiedot
1Ag Delta35to1.9.201116:15-18:00TirronenTapahtuman tiedot
Luento 1 [ryhmätiedot ja ilmoittautuminen]; ilmoittautuneita 48, maksimi 200
ilm.aika: 1.8.2011 00:00 - 21.10.2011 23:59
 PaikkaViikkoPäiväPvmKloOhjaajaLisätietojaURITapahtuman tiedot
1Ag B212.1 (Finland)36ti6.9.201116:15-18:00KalmbachAg B211.1 (Sovjet)Tapahtuman tiedot
2Ag B212.1 (Finland)37ti13.9.201116:15-18:00KalmbachAg B211.1 (Sovjet)Tapahtuman tiedot
3Ag B212.1 (Finland)38ti20.9.201116:15-18:00KalmbachAg B211.1 (Sovjet)Tapahtuman tiedot
4Ag B212.1 (Finland)39ti27.9.201116:15-18:00KalmbachAg B211.1 (Sovjet)Tapahtuman tiedot
5Ag B212.1 (Finland)40ti4.10.201116:15-18:00KalmbachAg B211.1 (Sovjet)Tapahtuman tiedot
6Ag B212.1 (Finland)41ti11.10.201116:15-18:00KalmbachAg B211.1 (Sovjet)Tapahtuman tiedot
7Ag B212.1 (Finland)42ti18.10.201116:15-18:00KalmbachAg B211.1 (Sovjet)Tapahtuman tiedot
8Ag B212.1 (Finland)43ti25.10.201116:15-18:00KalmbachAg B211.1 (Sovjet)Tapahtuman tiedot
9Ag B212.1 (Finland)44ti1.11.201116:15-18:00KalmbachAg B211.1 (Sovjet)Tapahtuman tiedot
10Ag B212.1 (Finland)45ti8.11.201116:15-18:00Kalmbach, TirronenAg B211.1 (Sovjet)Tapahtuman tiedot
11Ag B212.1 (Finland)46ti15.11.201116:15-18:00Kalmbach, TirronenAg B211.1 (Sovjet)Tapahtuman tiedot
12Ag B212.1 (Finland)47ti22.11.201116:15-18:00Kalmbach, TirronenAg B211.1 (Sovjet)Tapahtuman tiedot
Luento 2 [ryhmätiedot ja ilmoittautuminen]; ilmoittautuneita 47, maksimi 200
ilm.aika: 1.8.2011 00:00 - 21.10.2011 23:59
 PaikkaViikkoPäiväPvmKloOhjaajaLisätietojaURITapahtuman tiedot
1Ag B212.2 (Mountains)36ke7.9.201116:15-18:00KalmbachAg B213.1 (Lakes)Tapahtuman tiedot
2Ag B212.2 (Mountains)37ke14.9.201116:15-18:00KalmbachAg B213.1 (Lakes)Tapahtuman tiedot
3Ag B212.2 (Mountains)38ke21.9.201116:15-18:00KalmbachAg B213.1 (Lakes)Tapahtuman tiedot
4Ag B212.2 (Mountains)39ke28.9.201116:15-18:00KalmbachAg B213.1 (Lakes)Tapahtuman tiedot
5Ag B212.2 (Mountains)40ke5.10.201116:15-18:00KalmbachAg B213.1 (Lakes)Tapahtuman tiedot
6Ag B212.2 (Mountains)41ke12.10.201116:15-18:00KalmbachAg B213.1 (Lakes)Tapahtuman tiedot
7Ag B212.2 (Mountains)42ke19.10.201116:15-18:00KalmbachAg B213.1 (Lakes)Tapahtuman tiedot
8Ag B212.2 (Mountains)43ke26.10.201116:15-18:00KalmbachAg B213.1 (Lakes)Tapahtuman tiedot
9Ag B212.2 (Mountains)44ke2.11.201116:15-18:00KalmbachAg B213.1 (Lakes)Tapahtuman tiedot
10Ag B212.2 (Mountains)45ke9.11.201116:15-18:00Kalmbach, TirronenAg B213.1 (Lakes)Tapahtuman tiedot
11Ag B212.2 (Mountains)46ke16.11.201116:15-18:00Kalmbach, TirronenAg B213.1 (Lakes)Tapahtuman tiedot
12Ag B212.2 (Mountains)47ke23.11.201116:15-18:00Kalmbach, TirronenAg B213.1 (Lakes)Tapahtuman tiedot
Vierailuluento [ryhmätiedot ja ilmoittautuminen]; maksimi 200
ilm.aika: 1.8.2011 00:00 - 21.10.2011 23:59
 PaikkaViikkoPäiväPvmKloOhjaajaLisätietojaURITapahtuman tiedot
1Ag Delta42ti18.10.201116:15-17:15TirronenTapahtuman tiedot

Demo [ryhmien tarkat tiedot ja ilmoittautuminen]

Demo 1 [ryhmätiedot ja ilmoittautuminen]; ilmoittautuneita 41, maksimi 200
ilm.aika: 1.8.2011 00:00 - 21.10.2011 23:59
 PaikkaViikkoPäiväPvmKloOhjaajaLisätietojaURITapahtuman tiedot
1Ag Delta36to8.9.201116:15-18:00TirronenTapahtuman tiedot
2Ag Auditorio 337to15.9.201116:15-18:00TirronenTapahtuman tiedot
3Ag Auditorio 338to22.9.201116:15-18:00TirronenTapahtuman tiedot
4Ag C23139to29.9.201116:15-18:00TirronenTapahtuman tiedot
5Ag Delta40to6.10.201116:15-18:00TirronenTapahtuman tiedot
6Ag Auditorio 341to13.10.201116:15-18:00TirronenTapahtuman tiedot
7Ag Auditorio 342to20.10.201116:15-18:00TirronenTapahtuman tiedot
8Ag B212.1 (Finland)43to27.10.201116:15-18:00TirronenAg B211.1 (Sovjet)Tapahtuman tiedot
9Ag Auditorio 344to3.11.201116:15-18:00TirronenTapahtuman tiedot
10Ag Auditorio 345to10.11.201116:15-18:00TirronenTapahtuman tiedot
11Ag Auditorio 346to17.11.201116:15-18:00TirronenTapahtuman tiedot
12Ag Auditorio 347to24.11.201116:15-18:00TirronenTapahtuman tiedot

Ohjaus [ryhmien tarkat tiedot ja ilmoittautuminen]

Lisäohjaus [ryhmätiedot ja ilmoittautuminen]; ilmoittautuneita 1, maksimi 200
ilm.aika: 1.8.2011 00:00 - 21.10.2011 23:59
 PaikkaViikkoPäiväPvmKloOhjaajaLisätietojaURITapahtuman tiedot
1Ag B212.1 (Finland)38ke21.9.201110:00-12:00TirronenTapahtuman tiedot

Seminaari [ryhmien tarkat tiedot ja ilmoittautuminen]

Pikkuseminaari [ryhmätiedot ja ilmoittautuminen]; maksimi 200
ilm.aika: 1.8.2011 00:00 - 21.10.2011 23:59
 PaikkaViikkoPäiväPvmKloOhjaajaLisätietojaURITapahtuman tiedot
1Ag Delta47ti22.11.201116:00-18:00TirronenTapahtuman tiedot