Kurssiesite Lausekielinen ohjelmointi II Syksy 2016 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto
Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot, ohjatut mikroharjoitukset ja luentosaliharjoitukset. Sähköposti: jorma.laurikkala@uta.fi ja puhelin: 050 318 5873 Kurssia koskevien sähköpostien otsikon olisi hyvä alkaa merkkijonolla Laki 2:. Esimerkkiotsikko Laki 2: kysymys luennoista. Vastaanotto torstaisin klo 12 13 huoneessa B1025. Ovelle voi koputella muulloinkin. Aikoja voi myös sopia sähköpostilla tai puhelimitse. 2
Lausekielinen ohjelmointi II (5 op) Toinen ohjelmointikurssi sekä tutkinto-ohjelmassa että valinnaisesti tietojenkäsittelytieteitä opiskeleville. Jatketaan siitä mihin Lausekielinen ohjelmointi I loppui. Kurssin voi suorittaa, vaikka Lausekielinen ohjelmointi I -kurssin harjoitusten 40 % -raja on tässä vaiheessa saavuttamatta. Laajuus 5 op opintojen aloitusvuodesta riippumatta. Kurssin sivut http://www.uta.fi/sis/tie/laki2/ ovat tärkein tiedotuskanava seuraa kurssisivuja säännöllisesti. Harjoitusryhmiin ilmoittautuminen auki pe 28.10. klo 12.00 saakka. (Ota yhteytä kurssin vastuuopettajaan, jos et ole ilmoittautunut NettiOpsussa.) 3
Lausekielinen ohjelmointi II (5 op) Tavoitteena oppia tekemään laajempia ohjelmia. Syvennetään aiemmin opittua ensimmäisen harjoitustyön parissa. Opitaan hallitsemaan monimutkaisempia ohjelmia jakamalla lähdekoodi omiksi operaatioiksi. Tutustutaan tietojen hallintaan tietorakennetta (taulukko) käyttäen. Motto: Ohjelmoimaan oppii vain ohjelmoimalla. Kaverilta kopioimalla oppi ei mene perille. Älä siis plagioi. Työkurssi, joka koostuu luennoista, viikkoharjoituksista, kahdesta harjoitustyöstä ja palautteenannosta. Kurssilla ei ole tenttiä. Arvostelu asteikolla hyväksytty/hylätty. 4
Luennot (6 x 2 tuntia) Luennoilla pyritään avaamaan kalvoille tiivistettyjä asioita ja annetaan lisää esimerkkejä. Viikoilla 43 48 maanantaisin klo 10 12. Ensimmäinen luento salissa B1100, muut luennot salissa B1096. Eivät pakollisia, mutta suositellaan edelleen lämpimästi ohjelmointia aloitteleville. Luennoille tulemisesta ei saa hyvityspisteitä. Akateeminen vartti, molemmat tunnit peräkkäin. Aloitetaan 10.15 ja lopetetaan 11.45. Kysymyksiä saa esittää. Luentojen aktivointi on mahdollista. 5
Viikkoharjoitukset (6 kappaletta) Koostuvat harjoitustehtävistä ja harjoitusryhmistä. Mikroharjoitusryhmät tukevat tehtävien ratkaisua, luentosaliharjoituksissa esitellään ratkaisut. Harjoituksista on kerättävä vähintään tietty määrä pisteitä. Valtaosa pisteistä hyväksytysti ratkaistuista tehtä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, jotta kurssin toisen harjoitustyön kanssa ei tulisi vaikeuksia. 6
Viikkoharjoitukset Harjoitusryhmiin osallistuminen on vapaaehtoista, mutta toisaalta osallistumisesta saa pisteitä. Kunkin viikkoharjoituksen osalta saa korkeintaan yhden pisteen. Esimerkiksi jonkin viikkoharjoituskerran mikro- ja luentosaliharjoitusryhmässä käymällä ei saa kahta pistettä. Osallistumalla voi kerätä korkeintaan kuusi pistettä. Ilmoita kurssin vastuuopettajalle, jos haluat sittenkin osallistua mikro- tai luentosaliharjoituksiin tai perua ilmoittautumisesi. Ratkaisupisteiden ja mahdollisten läsnäolopisteiden summan tulee olla vähintään 60 % saatavilla olevien pisteiden kokonaismäärästä. Jos tehtäviä on esimerkiksi 51 kappaletta, niin saatavilla on 51 + 6 = 57 pistettä. Näin 60 %:n raja on 35 pistettä. 7
Viikkoharjoitukset Pyritään julkaisemaan keskiviikkoisin. Ratkaisujen palautustakaraja on tehtävien julkaisua seuraavan viikon torstaina klo 12.00. Kaikkien harjoitusten ratkaisut palautetaan sähköisessä muodossa WETO-järjestelmään. WETO tarkistaa ratkaisuja automaattisesti. Myös opettajat tarkistavat palautuksia WETOssa. Ratkaisua ei voi korjata hylätyn ratkaisun piste nollataan. Ratkaisu voidaan hylätä myös huonon ohjelmointitavan vuoksi (esimerkiksi virheellinen sisennys). Lue kurssisivuilla julkaistavat ohjeet ja muista noudattaa niitä! 8
Mikroharjoitukset Harjoitusten ratkaisua pääosin omatoimisesti. Paikalla opettaja, joka neuvoo ongelmakohdissa. Viikoilla 44 49, viisi ryhmää, ma ke. Paikat ja tarkemmat ajat verkossa. Keskiviikon klo 12 14 ryhmä on ohjattu. Kerrataan luentoja sekä tehdään yhdessä ja yksin seuraavan harjoituskerran tehtäviä. Jos tunnet tarvitsevasi apua, mene viipymättä mikroharjoituksiin, ettet tipahda kurssilta! Apua myös ohjelmointivälineiden käyttöön. 9
Luentosaliharjoitukset Kurssin vastuuopettaja käy läpi mallivastaukset ja kenties myös opiskelijoiden vastauksia. Viikoilla 44 49, torstaisin klo 14 16 (B3116). Opiskelijoita ei valita esittämään vastauksia. Opiskelijat voivat esittää kysymyksiä ratkaisuista. Osallistuminen suotavaa; ratkaisuja ei pureta muualla. Mallivastaukset pyritään julkaisemaan ennen luentosaliharjoituksia. 10
Luupin koodauspaja Ainejärjestö Luuppi pitää koodauspajaa, jossa tuetaan harjoitusten ratkaisua vertaisohjauksen avulla. Koodauspajaan voi osallistua kuka tahansa kurssilainen. Myös koodauspajaan osallistumisesta saa läsnäolopisteen. Koodauspaja on keskiviikkoisin klo 16 18. Apua ohjelmointivälineiden käyttöön. 11
Harjoitustyöt Ensimmäinen harjoitustyö on julkaistu. Lue tehtävänanto ja aloita ratkaisun hahmottelu heti, ellet ole vielä tutustunut harjoitustyöhön. Palautus WETO-järjestelmään viimeistään ke 2.11.2016 klo 16.00. Palautus avataan sekä palautusohjeet ja loput ohjausajat julkaistaan myöhemmin. Toinen harjoitustyö julkaistaan kurssin loppupuolella. Toinen työ kattaa suuriman osan kurssilla opetetuista asioista. Työn ohjelmointi on paljon helpompaa, jos harjoitustehtäviä ratkoo tasaisella tahdilla kaikilla harjoituskerroilla. Palautus ennen joulua. Varaa II-periodissa aikaa sekä periodin lopun tenteille että toisen harjoitustyön tekoon. 12
Harjoitustyöt Työt tehdään yksin ja pääosin omalla ajalla. Kopiointi on ehdottomasti kiellettyä. Massakurssi lisäaikaa ei saa helpolla. Harjoitustyön voi palauttaa ilman pakottavaa syytä opettajan arvioitavaksi korkeintaan neljä kertaa, jotta mahdollinen korjausprosessi edistyisi joutuisasti. 13
Suoritus ja arvostelu Kurssin suorittamiseksi täytyy: kerätä harjoituspisteitä vähintään 60 % saatavilla olevien ratkaisu- ja läsnäolopisteiden summasta, tehdä molemmat harjoitustyöt hyväksytysti ja antaa palaute kurssin lopuksi. Arvosteluasteikko on hyväksytty/hylätty. Kurssilla ei ole tenttiä eikä harjoitusaktiivisuudesta saa hyvityspisteitä. Katso kurssisivuilta ohjeet osasuoritusten hyödyntämisestä, jos viime lukuvuonna luennoitu Lausekielinen ohjelmointi II -kurssi jäi kesken ase- tai siviilipalveluksen, synnytyksen tai vastaavan ylivoimaisen esteen vuoksi. 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 noin puoleen tietojenkäsittelytieteiden valinnaista opintokokonaisuuksista. Lausekielinen ohjelmointi I -kurssin opeilla voi tehdä pieniä ohjelmia. Laajemmat sovellukset vaativat tällä kurssilla saatavia lisätietoja ja -taitoja. Ohjelmointi voi olla kivaa myös isommassa mittakaavassa. 16