Kurssiesite Lausekielinen ohjelmointi I Kesä 2018 Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto
Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Kurssin materiaali ja taustajärjestelmät Sähköposti: jorma.laurikkala@uta.fi Kurssia koskevien sähköpostien otsikon olisi hyvä alkaa merkkijonolla Laki 1:. Esimerkkiotsikko Laki 1: kysymys luennoista. 2
Opettajat Luennot ja harjoitukset: Kari Kuukka Sähköposti kuukka.kari.j@student.uta.fi Kimmo Ronkainen Sähköposti kimmo.ronkainen@uta.fi Kurssia koskevien sähköpostien otsikon olisi hyvä alkaa merkkijonolla Laki 1:. Esimerkkiotsikko Laki 1: kysymys luennoista. 3
Lausekielinen ohjelmointi I (5 op) Tampereen yliopiston ensimmäinen ohjelmointikurssi sekä tutkinto-ohjelmassa että valinnaisesti opiskeleville. Laajuus on 5 op opintojen aloitusvuodesta riippumatta. Oletetaan, että opiskelija ei ole ohjelmoinut aiemmin. Tavoitteena oppia ohjelmoinnin alkeet. Kurssin suorittaneet osaavat toteuttaa itsenäisesti pienehköjä ja helposti ymmärrettäviä tietokoneohjelmia Java-kielellä. Lausekielinen ohjelmointi II -kurssilla syvennetään opittua ja perehdytään laajempiin ohjelmiin. Olio-ohjelmointiin siirrytään Olio-ohjelmoinnin perusteet -kurssilla. Uusi Practical Programming in Python -kurssi on valinnainen aineopintotasoinen kurssi, jolla opiskelijoiden on jo osattava ohjelmoida. 4
Lausekielinen ohjelmointi I (5 op) Motto: Ohjelmoimaan oppii vain ohjelmoimalla. Ohjelmointia aloittelevien tulisi käyttää kurssin alkupuolella omatoimiseen opiskeluun, erityisesti harjoitusten tekoon, ainakin kuusi tuntia viikossa. Kaverilta kopioimalla oppi ei mene perille. Älä siis plagioi. Kurssin sivut (https://coursepages.uta.fi/tiep1/) ovat tärkein tiedotuskanava seuraa kurssisivuja säännöllisesti. 5
Luennot (6 x 2 x 2 tuntia) Pyritään avaamaan kalvoille tiivistettyjä asioita ja annetaan lisää esimerkkejä. Keskiviikkona klo 14 16 ja torstaina klo 14 16 Vapaaehtoisia, mutta suositellaan lämpimästi ohjelmointia aloitteleville. Luennoille tulemisesta ei saa hyvityspisteitä. Kysymyksiä saa esittää. Akateeminen vartti, molemmat tunnit peräkkäin. Esimerkiksi aloitetaan 14.15 ja lopetetaan 15.45. 6
Luentojen aktivointi Perinteinen luennointi on opetusta, jossa opettaja puhuu ja opiskelijat kuuntelevat. Taloudellinen opetusmuoto sekä turvallista opettajalle ja opiskelijalle. Ei kehitä kovin hyvin ongelmanratkaisun taitoa, jota ohjelmointi pitkälti on. Luentojen lomassa on muutama aktivoiva tehtävä, joiden tarkoitus on herätellä pohtimaan, analysoimaan ja soveltamaan luennoilla opittua. Perinteistä kaavaa rikkomalla oppiminen voi tehostua. 7
Luentojen aktivointi Pääasiallinen työmuoto on porinaryhmä: Salissa lähekkäin istuvien opiskelijoiden ryhmiä (2 5 henkeä), joissa pohditaan aktivoivaa tehtävää. Porinan pelisäännöt: Opettaja kertoo milloin keskustelu alkaa ja milloin keskusteluun varattu aika loppuu. Keskusteluun varattuna aikana puhutaan paljon annetusta aiheesta. Ryhmän on tuotettava keskustelun pohjalta vastaus. Yksinkin voi työskennellä, mikäli ryhmätyöhön osallistuminen on vaikeaa. Kenenkään ei tarvitse esiintyä luennoilla. 8
Viikkoharjoitukset (6 kappaletta) Koostuvat harjoitustehtävistä ja harjoitusryhmistä. Tänä vuonna vain mikroharjoitusryhmiä, jotka tukevat tehtävien ratkaisua. Vastausten purkuun keskittyviä luentosaliharjoituksia ei järjestetä. Harjoituksista on kerättävä vähintään tietty määrä pisteitä. Valtaosa pisteistä tulee harjoitustehtävistä. Tehtävät tehdään pääosin omalla ajalla. Ratkaisun saa ideoita kaverin kanssa, mutta ohjelma on kirjoitettava aina itse. Plagioinnista seuraa rangaistus (lisää työtä). Harjoituksia tulisi ratkoa tasaiseen tahtiin koko kurssin ajan. Älä lopeta, kun minimivaatimus on saavutettu, koska et tutustu tällöin kunnolla kurssin lopun ainekseen, josta kysytään tentissä. 9
Viikkoharjoitukset Harjoitusryhmiin osallistuminen on vapaaehtoista, mutta toisaalta osallistumisesta saa pisteitä. Kunkin viikkoharjoituksen osalta saa korkeintaan yhden pisteen. Osallistumalla voi kerätä korkeintaan kuusi pistettä. Ratkaisupisteiden ja mahdollisten läsnäolopisteiden summan tulee olla vähintään 40 % saatavilla olevien pisteiden kokonaismäärästä. Jos tehtäviä on esimerkiksi 45 kappaletta, niin saatavilla on 45 + 6 = 51 pistettä. Näin 40 %:n raja on 21 pistettä. 10
Viikkoharjoitukset Pyritään julkaisemaan keskiviikkoisin. Ratkaisujen palautus viimeistään keskiviikkona klo 20.00 Kaikkien harjoitusten ratkaisut palautetaan sähköisessä muodossa WETO-järjestelmään, joka tarkistaa tehtäviä automaattisesti. Lue kurssisivuilla julkaistavat ohjeet. Myös opettajat tarkistavat palautuksia WETOssa. Ratkaisua ei voi korjata hylätyn ratkaisun piste nollataan. Tehtävien ei tarvitse olla kurssin alussa täysin oikein ratkaistu, mutta kunnollista yritystä pitää olla havaittavissa. 11
Mikroharjoitukset Torstaina klo 16-18 Harjoitusten ratkaisua pääosin omatoimisesti. Paikalla opettaja, joka neuvoo ongelmakohdissa. Jos tunnet tarvitsevasi apua, mene viipymättä mikroharjoituksiin, ettet tipahda kurssilta! Apua myös ohjelmointivälineiden käyttöön. 12
Tentti Tänä vuonna kokeillaan sähköistä tenttiä. Tentti tehdään valvotusti mikroluokissa. Tentissä ei ole käytettävissä materiaalia. Omia muistiinpanoja, harjoitusvastauksia, tehtävien ratkaisuja, kirjoja, verkkolähteitä jne. ei saa käyttää. Luentorunkoa saa käyttää Harjoitustehtävien ahkera ratkaiseminen on paras keino valmistautua tenttiin. Lisätietoja kurssin viimeisellä luennolla. 13
Suoritus ja arvostelu Kurssin suorittamiseksi täytyy: kerätä harjoituspisteitä vähintään 40 % saatavilla olevien ratkaisuja läsnäolopisteiden summasta, saada tentistä vähintään puolet pisteistä (12 / 24 p) ja antaa palaute kurssin lopuksi. Harjoitusaktiivisuudesta saa hyvityspisteitä seuraavasti: 60 % +1 p, 70 % +2 p ja 80 % +3 p. Hyvityspisteet huomioidaan vasta, kun tenttipisteitä on vähintään puolet. 14
Kirjallisuus Pääasiallinen kirjallinen materiaali on kurssin verkkosivuilla osa kerrallaan julkaistava luentorunko. Aktivoivat tehtävät eivät tule verkkoon. Luennon materiaali pyritään julkaisemaan verkossa viimeistään luentoa edeltävän päivän iltana. Tulostettava itse, jos kalvoista haluaa paperikopion luennoille. Kirjoja suositellaan lähinnä oheislukemistoksi. 15
Miksi suorittaa kurssi? Pakollinen tietojenkäsittelytieteiden tutkinto-ohjelman opiskelijoille. Kuuluu useimpiin tietojenkäsittelytieteiden valinnaisiin opintokokonaisuuksiin. Ohjelmointi on tietojenkäsittelijän perustaito. Ohjelmointitaidoton tietojenkäsittelijä: ei selviä seuraavista kursseista (Laki 2, OoPe, OTeC/C++, TiRa...). ei työllisty kovin hyvin. Ainoa aivan ohjelmoinnin alkeista aloittava Tampereen yliopiston kurssi. 16
Miksi suorittaa kurssi? Tietotekniikan hyödyntäminen (ohjelmoimalla) on yhä yleisempää esimerkiksi matematiikan, tilastotieteen, informaatiotutkimuksen ja biologian aloilla. On hyvä olla jonkinlainen käsitys ohjelmistojen kehittämisestä, jos siihen joutuu osallistumaan. Tietojenkäsittely voi olla työllistymisen kannalta hyödyllinen vapaavalintainen aine. Ohjelmointia opiskellaan nykyisin peruskoulussa. Ohjelmointi voi olla kivaa! 17