Tietojenkäsittelytieteiden 26 op:n perusopinnot 2014-2015 Opiskelijan käsikirja sisältää opintojen ja opiskelumuotojen kuvauksen, joka esitetään alla tiivistetyssä muodossa. Opinnot voi suorittaa verkkotuettuna monimuoto-opiskeluna Turussa ja Salossa (jos saavat ryhmän kasaan) tai verkko-opintoina missä tahansa. Opinnoista voi suorittaa myös 13 op:n Ohjelmointiin keskittyvät opinnot (jaksot Tietojenkäsittelytieteen perusteet I, Algoritmien ja ohjelmoinnin peruskurssi ja Olio-ohjelmoinnin perusteet), jotka ovat aikataulullisesti ja sisällöllisesti perusopintojen osa. Opiskelutapa Verkkotuettu monimuoto-opiskelu: Opiskelun pääpaino on itsenäisessä opiskelussa annettujen materiaalien avulla, jota tuetaan ryhmäkokoontumisilla (2-3 h kerralla) ja kurssikohtaisilla luentopäivillä (5 h luento lauantaina Turussa), verkossa olevilla havainnollistusohjelmilla ja lyhyillä opetusvideoilla, moodle-ympäristössä olevilla keskustelu- ja tiedotussivuilla, kurssikohtaisilla wwwsivuilla ja tehtävistä, joita tehdään mm. ViLLE-ympäristössä. Jokaiseen kurssiin kuuluu opiskeluopas, jossa kerrotaan mikä tekstiosuus materiaaleista käsitellään kullakin viikolla, annetaan lisäopastusta ja lisäesimerkkejä sekä viikoittaiset harjoitustehtävät. Opiskeluopas 'korvaa luennot' niin, että itsenäinen opiskelu on sen avulla mahdollista. Lisäksi kurssisivuilla on runsaasti avustavaa oheismateriaalia ja opinnoissa käytetään erilaisia ohjelmistoja, joiden avulla havainnollistetaan kurssien vaikeimpia asioita. Kaikki oppimateriaalit ovat verkossa, josta ne voi tulostaa itselleen. Moodlessa annetaan myös kaikkien harjoitustehtävien seikkaperäiset mallivastaukset. Opiskeluun tulee varata aikaa kaiken kaikkiaan n. 10 tuntia viikossa, joskin tarvittava aika on hyvin yksilöllistä. Ryhmäkokoontumisissa käsitellään epäselvät kohdat ja harjoitustehtävät. Näin ollen tuutori ei siis opeta perinteisessä mielessä, vaan opiskelun keskeisin osa on itsenäinen opiskelu. Turun monimuotoryhmä kokoontuu maanantaisin noin joka toinen viikko ICT-talossa ja joka toinen viikko virtuaalisessa kokoushuoneessa yleensä ilman tuutoria käyttäen Connect Pron virtuaalista luokkahuonetta. Tämä ohjelmisto ei tarvitse mitään erityisiä ohjelmistoja, vaan se toimii suoraan selaimessa. Opiskelijalla tulee olla kuitenkin ainakin kaiuttimet ja mielellään kuulokemikrofonisetti. Turun ryhmän tuutori on opintojen vastuuopettaja Jorma Boberg. Turun ryhmän aikataulu löytyy esittelysivuilta. Jokaiseen kurssiin paitsi Tietokone työvälineenä kuuluu yksi luentopäivä. Ne ovat vapaaehtoisia kertausluonteisia, mutta erittäin hyödyllisiä opetuspäiviä lauantaisin Turun yliopistossa ja silloin käydään läpi lähes kaikki kurssin tärkeimmät asiat. Jotkut luentopäivät voivat korvautua verkkoluennoilla. Paikasta riippumattomat verkko-opinnot: Opinnot voi suorittaa myös itsenäisesti osallistumatta opintoryhmän toimintaan tai osallistumalla vain ryhmän kokouksiin virtuaalisessa kokoushuoneessa. Opiskelu noudattaa yllä olevaa kuvausta, mutta tässä mallissa ei ole lähikokoontumisia. Myös tällöin tulee seurata opintojen aikataulua, koska opiskeluun kuuluvat viikoittaiset harjoitustehtävät. Tällöin voit osallistua ryhmän toimintaan verkon kautta ja on suositeltavaa että osallistut kurssien luentopäiville Turussa. Tässä mallissa opiskelijan tulee lähettää viikoittaisten harjoitustehtävien ratkaisut opettajalle. Tämä opiskelutapa vaatii oma-aloitteisuutta ja ehkä pohjatietojakin algoritmien alalta; esimerkiksi jos hallitset ohjelmoinnin alkeet, Testimateriaali (linkki Olenkohan kiinnostunut ) on sinusta helppo ja pidät itsenäisestä opiskelusta materiaaleja tutkimalla. Jokaiseen kurssiin, paitsi Tietokone työvälineenä, kuuluu tentti. Tentin voi suorittaa maksutta Turussa, mutta jos et voi tenttiä Turussa, niin sinun tulee järjestää omat tenttisi jossain muussa oppilaitoksessa ns. siirtotenttinä, josta tentin järjestävä oppilaitos perii pienen maksun. Tenttipaikan löytämisessä auttaa tarvittaessa koulutussihteeri Heli Lainio. Tenttejä lukuun ottamatta kokonaisuuden voi suorittaa 1
täysin etäopiskeluna. Jos haluat suorittaa opinnot itsenäisesti, niin ota yhteyttä vastuuopettajaan ennen kuin ilmoittaudut. Harjoitustehtävien tekeminen on erittäin tärkeätä ja niinpä kurssin tenttioikeudenkin saa vain, jos on tehnyt vähintään 30% tehtävistä. Osa tehtävistä tehdään ViLLE-ympäristössä. Opinnot järjestävä oppilaitos pitää ennen opintojen alkua infotilaisuuden, joka on viikolla 36. Seuraavassa ovat opintokokonaisuuteen kuuluvien opintojaksojen kuvaukset. Jokaiseen kurssiin kuuluu kolme tenttiä, mutta alla on mainittu vain jakson ensimmäinen tentti. Opintojen vastaavuus: Avoimen perusopinnot ovat osa Tietojenkäsittelytieteiden tutkinto-ohjelman perusopintoja (30 op), paitsi avoimen jakso Tietokone työvälineenä vastaa Informaatioteknologian laitoksen kurssia Opiskelun ja työelämän tietotekniikka, joka on sijoitettu Kieli- ja Viestintäopintoihin. Avoimen opinnot käyvät hyvin myös sivuaineeksi. Avoimen opintoja ei hyväksytä aivan täysimääräisenä Elektroniikan ja tietotekniikan koulutusohjelmassa, vaan avoimen 26 op paketti korvaa kursseja 17 op:n edestä. Opintokokonaisuuden osaamistavoitteet: Opintojen jälkeen opiskelija tuntee tietojenkäsittelyn eri osa-alueet, tieteenalan keskeiset asiat ja käsitteet, osaa käyttää hyvin mm. tekstinkäsittely- ja taulukkolaskentaohjelmia, ymmärtää algoritmisen ongelmanratkaisun ja siihen liittyvät käsitteet, hallitsee olio-ohjelmoinnin periaatteet ja osaa kirjoittaa olio-ohjelmia, osaa käyttää Javan valmiita luokkakirjastoja sekä määritellä omia tietotyyppejä Java-kieltä käyttäen, osaa mallintaa tietojärjestelmiä mm. ER- ja oliokeskeisillä (UML) mallinnustekniikoilla, ymmärtää tietokoneen toimintaperiaatteen lähtien loogisten piirien tasolta ja tuntee joitakin ns. tekoälyyn liittyviä keskeisiä strategioita. Ohjelmoinnin osuus opinnoissa on laaja. Pitkäntähtäyksen tavoitteena on antaa sellaiset perusvalmiudet, joilla uuden oppiminen onnistuu helposti nopeasti kehittyvällä tietotekniikan alalla. On hyvä huomata, että jakso Tietokone on hyvin erilainen muihin jaksoihin nähden. Se on työvälinekurssi ja kurssilla opetellaan kirjoittamista ja lopputuotteena on hyvin laadittu dokumentti käyttäen edistyksellisiäkin tekstinkäsittelyohjelmien ominaisuuksia. Tämähän on perusedellytys sekä opiskelussa ja työelämässä. Opintokokonaisuuteen kuuluvat opintojaksot: Alla kohdassa Toteutustapa mainitut luento-opetus ja ryhmäkokoontumiset ovat vapaaehtoisia joskin erittäin suositeltavia (myös verkko-opiskelijoille jos voivat osallistua). Verkko-opiskelijoilla on alla mainittujen ryhmäkokoontumisten ja luentojen tilalla itsenäistä työskentelyä. Itsenäinen työskentely pitää sisällään myös vapaaehtoista ryhmätyöskentelyä. Jakso Tietokone työvälineenä on hyvin erilainen muihin nähden sisällöltään ja suoritustavaltaan. Kuten nimikin jo sanoo, se on välinekurssi. Tavoitteena on se, että oppii kirjoittamaan ulkoasultaan siistin ja sisällöltään selkeän dokumentin. Tämä on tärkeä ominaisuus työelämässä ja opiskelussa. Infotilaisuus ja orientoivat opinnot Ajoitus: Syksy 2014: viikko 36. Turun monimuoto-ryhmän tilaisuudet ovat 1.9 (infotilaisuus) ja 4.9 (orientoivat opinnot + jakson Tietokone työvälineenä esittely) klo 18.00 ICT-talon salissa beta (β). 2
Myös verkko-opintoihin ilmoittautuneiden kannattaa osallistua näihin tilaisuuksiin, jos se on mahdollista. Verkko-opiskelijoille järjestetään lyhyt info/kyselytilaisuus 1.9 klo 19:45 ja tästä tiedotetaan erikseen alla mainituilla esittelysivuilla. Tavoitteet ja sisältö: Antaa yleiskuva tietojenkäsittelytieteiden perusopintojen sisällöstä, monimuotoisesta opiskelusta, tietojenkäsittelyn käsitteistä sekä tietokoneen rakenteesta ja toimintaperiaatteesta. Testimateriaalin perusteella jokainen voi arvioida omaa kiinnostustaan tähän opintokokonaisuuteen, joten siihen tulee tutustua ennen infotilaisuutta. Tuo siihen liittyvien kysymyksien vastauksesi infotilaisuuteen tai lähetä ne sähköpostilla vastuuopettajalle. Oppimateriaali: Tarkasteltavat asiat ja käsiteltävät materiaalit esitetään opiskelijan käsikirjan luvussa 2.1 (löytyvät esittelysivuilta http://staff.cs.utu.fi/avoinyo). Tietokone työvälineenä (3 op) Tavoitteet: Opintojakson suorittamisen jälkeen opiskelija tuntee käyttöjärjestelmän välttämättömimmät toiminnot, tekstinkäsittelyn ja taulukkolaskennan ominaisuudet ja toiminnot kattavasti sekä internetin palveluiden ja tietoturvan perusteet. Kurssin jälkeen opiskelija osaa tuottaa tekstinkäsittelyohjelman avulla ulkoasultaan tyylikkään työselostuksen (dokumentin) käyttäen ohjelman edistyksellisiäkin ominaisuuksia. Sisältö: Opintojaksolla tutustutaan mikrotietokoneen käyttöön sekä internetin palveluihin ja tietoturvaan. Opintojaksolla tarkastellaan perusteellisesti mm. Windows käyttöjärjestelmän, tekstinkäsittelyn (Word) ja taulukkolaskennan (Excel) toimintoja ja yhteiskäyttöä. Voit kuitenkin käyttää myös OpenOffice- tai LibreOffice-ympäristöä, joskin kurssin materiaaleissa käsitellään Microsoft Officen ohjelmistoja. Kurssin harjoitustyö on melko vaativa. Esitiedot: Tietokoneen peruskäytön hallinta sekä tekstinkäsittelyn perusteet. Toteutustapa: Luento-opetus 2 t, ryhmäkokoontumiset 5t, itsenäinen työskentely 74 tuntia. Ajankohta: Syksy 2014. Turun monimuotoryhmä: 4.9.2014 salissa beta sekä 8.9 ja 15.9 mikroluokassa kumpikin alkaen klo 18.00. Sen jälkeen itsenäisesti. Suoritustapa: Kurssin suoritetaan tekemällä harjoitustyö, jossa tulee hallita taulukkolaskennan ja tekstinkäsittelyn yhteiskäyttö sekä kirjoittaa tästä ulkoasultaan asiallinen työselostus. Työ tulee palauttaa viimeistään 14.10.2014. Arviointi: Hyväksytty/Hylätty. Oppimateriaali: Opiskeluopas ja muu verkkomateriaali. Tietojenkäsittelytieteen perusteet I (3 op) Tavoitteet: Kurssin jälkeen opiskelija tuntee pääpiirteissään informaatioteknologian osa-alueet ja keskeisimmät käsitteet sekä tietokonelaitteiston osat ja toimintaperiaatteen. Opiskelija ymmärtää algoritmiseen ajattelun, ohjelmointiin liittyvät peruskäsitteet sekä tietorakenteet ja osaa kirjoittaa yksinkertaisia algoritmeja käyttäen pseudokieltä. Sisältö: Kurssilla esitellään aluksi informaatioteknologian perusteita ja keskeistä käsitteistöä. Lisäksi tutustutaan pintapuolisesti tietokoneen rakenteeseen ja toimintaan. Pääpaino on algoritmien ja ohjelmoinnin peruskäsitteiden ja rakenteiden esittelyssä käyttäen pseudokieltä: kontrollirakenteet, modulaarisuus, moduulit, abstrakti tietotyyppi ja tietorakenteet (erityisesti taulukot). Esitiedot: Kurssi ei vaadi esitietoja. Toteutustapa: Luento-opetus 5 t, ryhmäkokoontumiset 5t, itsenäinen työskentely 71 tuntia. Ajankohta: Syksy 2014. Kesto 6 viikkoa: vko 36, 39-43. Luentopäivä: 11.10.2014 klo 10.15-14.30. saa tenttioikeuden. Tentti 27.10.2014. 3
Algoritmien ja ohjelmoinnin peruskurssi (5 op) Tavoitteet: Kurssin jälkeen opiskelija tuntee ohjelmoinnin peruskäsitteet ja konstruktiot sekä osaa tehdä yksinkertaisia Java-sovelluksia ja testata niitä tietokoneella. Opiskelija hallitsee myös taulukoiden käytön sekä osaa käyttää hyvin valmisluokkien String ja Random mukaisia olioita, mutta omien tietotyyppejä mallintavien luokkien muodostaminen ei kuulu kurssin piiriin. Sisältö: Kurssilla tarkastellaan mm. seuraavia rakenteellisen ohjelmoinnin peruskäsitteitä: muuttujat, arvon käsite, tyypit, lausekkeet, lauseet, kontrollirakenteet, aliohjelman käsite, modulaarisuus, rekursio, taulukot ja staattisen luokan käsite. Olioita tarkastellaan taulukoiden sekä luokkien String ja Random mukaisten olioiden avulla. Esitiedot: Tietojenkäsittelytieteen perusteet I tai algoritmien peruskäsitteiden ja rakenteiden tuntemus. Ajankohta: Syksy 2014 Tammikuu 2015. Kesto 8 viikkoa: vko 45-51, 2. Luentopäivä: 13.12.2014. saa tenttioikeuden. Harjoitustyö. Tentti 14.1.2015. Olio-ohjelmoinnin perusteet (5 op) Tavoitteet: Kurssin jälkeen opiskelija tuntee olio-ohjelmointikielten käsitteet, osaa käyttää Javan luokkakirjastoja ja tuntee kirjastoluokat mm. kokoelmien toteuttamiseen. Opiskelija osaa tehdä olioohjelmia, määritellä luokkien avulla omia tietotyyppejä sekä hyödyntää myös perintää ja tuntee poikkeusten käsittelyn perusteet. Sisältö: Kurssilla käsitellään aluksi valmiiden kirjastoluokkien käyttöä: geneeriset dynaamiset rakenteet Vector, ArrayList, LinkedList, HashMap sekä merkkijononen käsittelyyn tarkoitetut luokat String, StringBuffer, StringBuilder ja StringTokenizer. Keskeisin sisältö on kuitenkin omien tietotyyppien määrittely luokkien avulla. Kurssilla opetetaan myös perintä ja siihen liittyvät käsitteet (esim. polymorfismi) ja konstruktiot sekä poikkeukset. Lisäksi käsitellään lyhyesti abstrakteja ja rajapintaluokkia. Yksinkertaisten graafisten (GUI) sovellusten tekemisestä annetaan esimerkkejä, mutta tätä ei vaadita kurssin tentissä. Esitiedot: Algoritmien ja ohjelmoinnin peruskurssi tai vastaavat tiedot. Ajankohta: Kevät 2015. Kesto 8 viikkoa: vko 4-12. Talvilomaviikko 8 on vapaa. Luentopäivä: 28.2.2015 (alustava). saa tenttioikeuden. Harjoitustyö. Tentti 23.3.2015. Oppimateriaali: Opiskeluopas ja muu verkkomateriaali. Tietojärjestelmän mallintaminen (5 op) Tavoitteet: Kurssin tavoitteena on antaa opiskelijalle käsitys tietojärjestelmistä ja niiden kehittämisestä. Erityisesti tavoitteena on oppia tarkastelemaan organisaatioita ja niiden toimintaa sekä laatimaan näistä kuvauksia eri mallinnustekniikoilla. Kurssin jälkeen opiskelijat osaavat löytää tilannekohtaisesti parhaiten toimivat mallintamismenetelmät, osaavat laatia malleja syntaktisesti oikein ja kuvauskohteen edellyttämällä tavalla sekä soveltaa mallinnusmenetelmiä tietojärjestelmien analyysin ja suunnittelun apuna. Sisältö: Kurssilla perehdytään siihen mitä tietojärjestelmät ovat ja miten niitä kehitetään. Käytännössä tämä tarkoittaa tutustumista rakenteisiin sekä tieto- ja oliokeskeisiin kehittämismenetelmiin. Näissä sovellettavina eri mallinnustekniikoina esitellään käytännön 4
harjoittelun ja teorian kautta muun muassa tietovuokaavioita, työnkulku- ja prosessikaavioita (BPMN), ER-malleja sekä UML-kielen kaavioita. Esitiedot: Kurssi ei vaadi esitietoja, joskin algoritmien tuntemus helpottaa opiskelua. Ajankohta: Kevät 2015. Kesto 7 viikkoa: vko 14-20. Luentopäivä: 9.5.2015 (alustava). saa tenttioikeuden. Tentti 18.5.2015. Tietojenkäsittelytieteen perusteet II (5 op) Tavoitteet: Kurssin jälkeen opiskelija ymmärtää tietokoneen toimintaperiaatteen loogisten piirien tasolta lähtien. Opiskelija tietää yksityiskohtaisesti miten tietokone pystyy suorittamaan korkean tason ohjelmointikielen komentoja, mutta ymmärtää myös sen kykyjen rajat. Lisäksi opiskelija tuntee ns. tekoälyn piiriin kuuluvien hakuongelmien ja pelaamiseen liittyviä tärkeimpiä strategioita. Sisältö: Opintojaksolla paneudutaan lyhyesti algoritmisen ongelmanratkaisun voimaan ja rajoituksiin sekä tutustutaan seikkaperäisesti tietokonejärjestelmän (laitteisto ja ohjelmisto) rakenteeseen ja toimintaan. Käsiteltäviä asioita ovat mm. tehtävien laskettavuus ja algoritmien kompleksisuus; tiedon esittäminen, lukujärjestelmät, loogiset piirit ja niiden avulla rakennetut tietokoneen komponentit; mikro-ohjelmointi ja konekieli; kieliopit, kääntäjät ja korkeantason kielen kääntäminen konekielelle. Opintojakson lopuksi käsitellään lyhyesti myös ns. älykkäissä järjestelmissä käytettyjä hakuongelmia sekä niiden ratkaisua käyttäen mm. syvyys- ja leveyshakua. Esitiedot: Tietojenkäsittelytieteen perusteet I ja ohjelmoinnin perusteet tai vastaavat tiedot. Ajankohta: Syksy 2015. Kesto 7 viikkoa: vko 35-41. Luentopäivä: 26.9.2015 (alustava). saa tenttioikeuden. Tentti 14.10.2015 Lisätietoja: Opintokokonaisuuden vastuuopettaja Lehtori Jorma Boberg Turun yliopiston informaatioteknologian laitos (02) 3338675, boberg@utu.fi Opintokokonaisuuden koulutussihteeri Heli Lainio Turun yliopiston kehittämis- ja koulutuskeskus Brahea (02) 3336467, heli.lainio@utu.fi Opintokokonaisuuden esittelysivut ja kurssisivut staff.cs.utu.fi/avoinyo/ Sivuilla annetaan tarkempaa tietoa opintojen syyskuun aikataulusta ja tällöin käsiteltävä materiaali. Nämä sivut toimivat syyskuun alkupuolelle saakka, jonka jälkeen avataan varsinaiset kurssisivut. 5