Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät Olio-ohjelmoinnin perusteet (TIEA2.1)

Samankaltaiset tiedostot
Kurssiesite Olio-ohjelmoinnin perusteet Kevät Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto

Kurssiesite Olio-ohjelmoinnin perusteet Kevät Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät Olio-ohjelmoinnin perusteet (5 op) Tavoitteena

Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät 2018

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät Olio-ohjelmoinnin perusteet (eli Oope) Laajuus

Kurssiesite Lausekielinen ohjelmointi II Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

Vastuuopettaja. Kurssiesite Lausekielinen ohjelmointi I Syksy Lausekielinen ohjelmointi I (5 op) Lausekielinen ohjelmointi I (5 op)

Kurssiesite Lausekielinen ohjelmointi I Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

Vastuuopettaja. Kurssiesite Lausekielinen ohjelmointi I Syksy Lausekielinen ohjelmointi I (5 op) Lausekielinen ohjelmointi I (5 op)

Kurssiesite Lausekielinen ohjelmointi I Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

Kurssiesite Lausekielinen ohjelmointi I Kesä Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto

Vastuuopettaja. Kurssiesite Lausekielinen ohjelmointi I Syksy Lausekielinen ohjelmointi I (5 op) Lausekielinen ohjelmointi I (5 op)

Kurssiesite Lausekielinen ohjelmointi I Syksy Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto

Kurssiesite Lausekielinen ohjelmointi Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

Vastuuopettaja. Kurssiesite Lausekielinen ohjelmointi Syksy Tavoitteet ja keinot. Lausekielinen ohjelmointi (10 op)

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.


Harjoitus 6 (viikko 42)

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tentti kestää kolme tuntia.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tentti kestää kolme tuntia. Tehdään sähköisesti mikroluokkien Windows-koneilla.

Tietokoneverkot. T Tietokoneverkot (4 op) viimeistä kertaa CSE-C2400 Tietokoneverkot (5 op) ensimmäistä kertaa


Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.

Harjoitus 6 (viikko 42)

Hakemistojen sisällöt säilötään linkitetyille listalle.

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015

Harjoitus 5 (viikko 41)

Harjoitus 2 (viikko 45)

Harjoitus 5 (viikko 48)

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Harjoitus 5 (viikko 41)

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen.

T harjoitustehtävät, syksy 2011

Kurssijärjestelyt. ME-C2300 Verkkojulkaisemisen perusteet (5 op) Mari Hirvi Informaatioverkostot / Mediatekniikan laitos

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

TIEY1 Opintojen ohjattu suunnittelu (2 op) eli LuK-vaiheen HOPS-ohjaus eli Opettajatuutorointi

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5

T harjoitustyö, kevät 2012

YLEISINFO. TIEY4 Tietotekniikkataidot Kevät Juhani Linna

YLIOPPILASKIRJOITUKSET. Info

Kurssijärjestelyt. CS-1180 Verkkojulkaisemisen perusteet (5 op) Hanna Hämäläinen Informaatioverkostot / Mediatekniikan laitos

Ohjelmistoarkkitehtuurit. Kevät

Harjoitus 4 (viikko 47)

Harjoitus 3 (viikko 39)

Kurssin käytännön järjestelyt. Tuotantotalous 1 Joel Kauppi

Ohjelmistotekniikan menetelmät, kevät 2008

Lukujärjestyksen laatiminen, kursseille ilmoittautuminen KTK/KTM-opiskelijat TkK/DI-opiskelijat

YLIOPPILASKIRJOITUKSET. Info

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

Mallilukujärjestys Teknistieteellinen kandidaattiohjelma Tietotekniikka, 2. vuosikurssi

SYVENTÄVÄT OPINNOT KEVÄÄLLÄ 2018 Kaikille yhteiset pakolliset opintojaksot

Tietojenkäsittelytieteet Tutkinto-ohjelman info. Henrik Hedberg Heli Alatalo

Tuloslaskenta (22C00400, 6 op)

KASVATUSTIETEEN PERUSOPINNOT SYKSYLLÄ 2017

TUTKINTO-OHJELMAINFO Sivuainemahdollisuudet Kesäopinnot KV-vaihtomahdollisuus

Tietokone työvälineenä

Aikuisopetuksen tehtäviin suuntautuvat opettajan pedagogiset opinnot 60 op

Toinen harjoitustyö. ASCII-grafiikkaa

Mallilukujärjestys 1. vuosi 2013

C-ohjelmointikielen perusteet, osa 1

Myös opettajaksi aikova voi suorittaa LuK-tutkinnon, mutta sillä ei saa opettajan kelpoisuutta.

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

Ohjelmistojen mallintaminen, kesä 2010

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Tietojenkäsittelytieteet Tutkinto-ohjelman info. Henrik Hedberg (Heli Alatalo)

Matematiikka ja tilastotiede. Orientoivat opinnot /

CHEM-A1000 Korkeakouluopiskelijan ABC

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

Ohjelmistoarkkitehtuurit. Syksy 2008

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Pitkä matematiikka, laaja fysiikka ja kemia

Tervetuloa! Matematiikka tutuksi

A&O:n käyttöohje. 1. Rekisteröityminen ja kurssille ilmoittautuminen. 2. Sisäänkirjautuminen. (Lisää löydät osoitteesta:

HISTORIAN OPPIAINE KEVÄTLUKUKAUSI Historian perusopinnot

TERVETULOA OPISKELEMAAN! Informaatiotutkimuksen ja interaktiivisen median tutkinto-ohjelman infotilaisuus

T Ohjelmistojen määrittely- ja suunnittelumenetelmät

Digitalisoitu harjoitustehtävien ratkaisujen palautus sekä arviointi matematiikan ja tilastotieteen yliopisto-opinnoissa

Ohjelmistoarkkitehtuurit. Syksy 2010

Matematiikka ja tilastotiede. Orientoivat opinnot /

Kurssin käytännön järjestelyt. Tuotantotalous 1 Tuomo Tanila

OHJ-7400 Graafisen käyttöliittymän ohjelmointi 4/6op

ESPOON AIKUISLUKIO OPINTO-OPAS MATEMAATTIS-LUONNONTIETEET

Harjoitus 1 (viikko 44)

Kasvatustieteiden (yleinen ja aikuiskasvatustiede) aineopinnot 35 op

Matematiikan ja systeemitieteiden pääaineen tupsut Mallilukujärjestys I periodi / viikot /

Korkealämpötilakemia

Tuloslaskenta (22C00400, 6 op)

KVANTITATIIVISET TUTKIMUSMENETELMÄT MAANTIETEESSÄ

Tietoturva. 0. Tietoa kurssista P 5 op. Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi / 2015

T3 Kevät Tietotekniikkataidot OP Pakollinen kurssi lähes kaikissa yksiköissä

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

Tieto- ja viestintätekniikan opinnot Jyväskylän yliopistossa

Kurssin käytännön järjestelyt. Tuotantotalous 1 Tuomo Tanila

Korkealämpötilakemia

Transkriptio:

Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2017 Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot, ohjatut mikroharjoitukset ja luentosaliharjoitukset. Sähköposti: jorma.laurikkala@uta.fi Kurssia koskevien sähköpostien otsikon olisi hyvä alkaa merkkijonolla Oope:. Esimerkkiotsikko: Oope: kysymys luennoista. Puhelin: 050 318 5873. Vastaanotto torstaisin klo 12 13 huoneessa B1025. Ovelle voi koputella muulloinkin. Aikoja voi sopia myös sähköpostilla tai puhelimitse. 2 Olio-ohjelmoinnin perusteet (TIEA2.1) Aloitetaan ohjelmoinnin opiskelu olionäkökulmasta. Lähtötiedoiksi oletetaan Lausekielinen ohjelmointi I ja II -kurssit tai vastaavat tiedot Java-ohjelmoinnista. Aineopintoina Laki-kursseja vaativampi, mutta asiat yritetään pitää edelleen yksinkertaisina. 5 op ilman harjoitustyötä ja 10 op harjoitustyön kanssa. Harjoitustyön palautus IV-periodissa. Tietojenkäsittelijä: varaa aikaa sekä Oope-harjoitustyölle että Käyttöliittymien perusteet (TIEA1) -kurssille. Kurssisivut osoitteessa http://www.uta.fi/sis/tie/oope/ ovat tärkein tiedotuskanava seuraa kurssisivuja säännöllisesti. Ilmoittautuminen auki perjantaihin 13.1. klo 12.00 saakka. Olio-ohjelmoinnin perusteet (TIEA2.1) Kurssi on 10 op laajuinen, jos opiskelet tietojenkäsittelytieteiden tutkinto-ohjelmassa (poikkeuksena jotkin siltaopinnot), valinnaista tietojenkäsittelytieteiden opintokokonaisuutta, kuten Tietotekniikka opetettavana aineena (60 op), jossa kurssi on suoritettava laajassa muodossa tai valinnaista tietojenkäsittelytieteiden opintokokonaisuutta, jossa voit valita 5 tai 10 op:n version ja valitset jälkimmäisen. CBDA:n valitseville matematiikan ja tilastotieteen kandidaattiohjelman opiskelijoille suositellaan 10 op:n versiota. Vastuullasi on, että suoritat kurssin oikeassa laajuudessa. Kysy tarvittaessa neuvoa vastuuopettajalta tai opintokoordinaattoriltasi. 3 4

Olio-ohjelmoinnin perusteet (TIEA2.1) Uudenmuotoisen kurssin 5 op:n laajuisena suorittaneet opiskelijat voivat laajentaa kurssin 10 op:n laajuiseksi harjoitustyön tekemällä. Vanhanmuotoisen kurssin suorittaneet opiskelijat eivät voi laajentaa 5 op:n (TIEA2) tai 6 op:n (TKOPA14) laajuista suoritustaan 10 op:n laajuiseksi. Viime keväänä luennoidun kurssin osia hyväksytysti suorittaneet voivat halutessaan hyödyntää osasuorituksensa. Lähetä sähköpostia kurssin opettajalle, jos haluat korvata nyt luennoitavan kurssin osia. Toissakeväänä tai aikaisemmin luennoidulla kurssilla tehdyt osasuoritukset eivät käy korvaaviksi suorituksiksi. Tavoitteena Perehdyttää opiskelija olio-ohjelmoinnin perusteisiin, joita ovat muun muassa: Oliot, luokat, metodit, attribuutit, olioiden luominen, viitteiden käsittely, periytyminen, näkyvyys, abstrakti luokka ja rajapinta. Johdatella abstraktien tietotyyppien (pino ja jono) ja dynaamisten tietorakenteiden (lista) pariin. Antaa joitakin valmiuksia olioperustaiseen ohjelmistojen analyysiin ja suunnitteluun Unified Modeling Language (UML). 5 6 Luennot (7 x 2 tuntia) Kahdesti viikossa: tiistaisin klo 10 12 (B1096) ja keskiviikkoisin klo 12 14 (B1097) viikoilla 2 8. Eivät pakollisia, mutta suositellaan edelleen lämpimästi, koska aivan kaikki asia ei ole kalvoilla. Kysymyksiä saa kysyä. Akateeminen vartti, molemmat tunnit peräkkäin. Viikkoharjoitukset Harjoituskertoja on seitsemän kappaletta. Koostuvat mikro- ja luentosaliharjoituksista, joista on kerättävä pisteitä vähintään tietty määrä. Harjoitusryhmiin osallistuminen on vapaaehtoista, mutta toisaalta osallistumisesta saa pisteitä. Kunkin viikkoharjoituksen osalta saa korkeintaan yhden pisteen. Esimerkiksi jonkin viikkoharjoituskerran mikro- ja luentoharjoitusryhmässä käymällä ei saa kahta pistettä. Osallistumalla voi siten kerätä korkeintaan seitsemän pistettä. Ilmoita kurssin vastuuopettajalle, jos haluat sittenkin osallistua mikro- tai luentosaliharjoituksiin tai perua ilmoittautumisesi. 7 8

Viikkoharjoitukset Valtaosa pisteistä kertyy viikkoharjoitusten ratkaisuista. Mikroharjoituksissa on tarjolla tukea, mutta tehtävät ratkaistaan kuitenkin pääosin omalla ajalla. Ratkaisut palautetaan WETO-järjestelmään, joka tarkistaa ratkaisuja automaattisesti. Opettajat tarkistavat palautuksia myös rakenteen ja tyylin osalta. Hylättyä ratkaisua ei voi korjata. Ratkaisupisteiden ja mahdollisten läsnäolopisteiden summan tulee olla vähintään 40 % saatavilla olevien pisteiden kokonaismäärästä. Jos tehtäviä on esimerkiksi 57 kappaletta, niin saatavilla on 57 + 7 = 64 pistettä. Näin 40 %:n raja on 26 pistettä, koska prosenttilukuja ei pyöristetä rajoja laskettaessa ylöspäin. Viikkoharjoitukset (7 pointtia) 1. Ratkaise tehtäviä mahdollisimman paljon olio-ohjelmointia oppii vain olioita ohjelmoimalla. 2. Ratkaise tehtäviä säännöllisesti koko kurssin ajan, jotta kurssin loppupään vaikeampi aines tulee tutuksi. 3. Älä plagioi kopioimalla opit vain kopioimaan. Logiikan voi muotoilla kaverin kanssa, mutta ratkaisu on ohjelmoitava itse. Saat apua mikroharjoituksissa. Plagioinnista rangaistaan. 4. Varaa aikaa kunkin harjoituskerran tehtävien ratkaisuun 4 5 tuntia. 5. Ole huolellinen: tee kaikki tehtävänannossa vaadittu ja testaa, että ratkaisusi toimii tehtävänannossa määritellyllä tavalla. 6. Lue kurssisivuilla julkaistavat palautusohjeet. 7. Perehdy mallivastauksiin. 9 10 Viikkoharjoitukset (aikataulu) Mikroharjoitukset Pyritään julkaisemaan keskiviikkoiltana. Pääset tekemään tehtäviä käytännössä vasta torstaina. Ratkaisujen palautustakaraja on seuraavan viikon torstaina klo 12.00. Mallivastaukset julkaistaan samana päivänä tai perjantaina. Oheisessa taulukossa on annettu esimerkkinä kurssin kahden ensimmäisen viikon harjoitusaikataulu. Viikko 2, ke Viikko 2, pe Viikko 3, ti Viikko 3, ke Viikko 3, to Viikko 3, pe 1. harjoitukset julki. 1. harjoituksen 1. mikroharjoitusryhmä. 1. harjoituksen 2. mikroharjoitusryhmä. - 1. harjoituksen 3. mikroharjoitusryhmä ja Luupin koodauspaja. - 2. harjoitukset julki. - 1. harjoituksen palautus sulkeutuu. - 1. harjoituksen luentosaliharjoitukset. - 1. harjoituksen mallivastaukset julki. 2. harjoituksen 1. mikroharjoitusryhmä. Viikoilla 2 9, kolme ryhmää: klo pe 8.30 10 (B1084), ti klo 12 14 (B1084) ja ke 14 16 (B1084). Harjoitusten ratkaisua pääosin omatoimisesti. Paikalla opettaja, joka neuvoo ongelmakohdissa. Perjantain ryhmässä hieman enemmän apua. Kerrataan luentoja sekä tehdään yhdessä ja yksin seuraavan harjoituskerran tehtäviä. 11 12

Luupin koodauspaja Ainejärjestö Luuppi pitää koodauspajaa (ke klo 16 18), jossa tuetaan harjoitusten ratkaisua mikroharjoitusten tapaan. Koodauspajaan voi osallistua kuka tahansa kurssilainen. Myös koodauspajaan osallistumisesta saa läsnäolopisteen. Apua ohjelmointivälineiden käyttöön. Luentosaliharjoitukset Viikoilla 3 9, torstaisin klo 10 12 14 16 (B1083). Kurssin vastuuopettaja käy läpi mallivastaukset ja kenties myös opiskelijoiden vastauksia. Opiskelijoita ei valita esittämään vastauksia. Opiskelijat voivat esittää kysymyksiä ratkaisuista. Osallistuminen suotavaa; ratkaisuja ei pureta muualla. 13 14 Harjoitustyö Kurssin 10 op laajuisena suorittavat tekevät harjoitustyön. Ota yhteyttä kurssin vastuuopettajaan tai tutkinto-ohjelmasi opintokoordinaattoriin, jos et tiedä minkä laajuisena kurssi tulee suorittaa. Tehdään yksin ja pääosin omalla ajalla. Ratkaisu: toimiva Java-ohjelma ja dokumentointi. Kopiointi on ehdottomasti kiellettyä. Oman harjoitusryhmän vetäjä auttaa: sähköpostitse, harjoitusten yhteydessä sekä henkilökohtaisesti myöhemmin sovittavina aikoina. Harjoitustyö Tehtävänanto julkaistaan kurssin loppupuolella. Aikaa työn tekemiseen on noin kuukausi. Takaraja on IV-periodissa huomioi tämä lukujärjestyksessä. Uutuutena välipalautuspiste, jonka tavoitteena on herätellä aloittamaan työnteko ajoissa. Välipalautuspisteessä on todennäköisesti oltava valmiina osa ohjelmasta sekä suunnitelma koko ohjelman rakenteeksi. Valmiin työn palautus WETOon kurssisivujen ohjeiden mukaan. Arvostelu: hylätty tai hyväksytty (0, 1, 2, 3 tai 4 pistettä). 15 16

Tentti Keskiviikkona 15.3. klo 12 15 (A1). Kaksi uusintatenttiä ja vähintään yksi ylimääräinen uusinta. Ilmoittautuminen viimeistään seitsemän päivää ennen tenttiä. Yliopiston opiskelijat: NettiOpsu tai WENTTI. Avoimen yliopiston opiskelijat: NettiRekan kautta. Monivalintatehtävä sekä kolme ohjelmointitehtävää, jotka tehdään paperilla ja kynällä. Lisätietoja kurssin viimeisellä luennolla. On etäinen mahdollisuus, että tentti on sähköinen. Tällöin tentin muoto muuttuu jonkin verran ja tentti tehdään mikroluokassa. Suoritus ja arvostelu Kurssin 5 op version suorittamiseksi täytyy: kerätä harjoituspisteitä vähintään 40 % saatavilla olevien ratkaisu- ja läsnäolopisteiden summasta, saada tentistä vähintään puolet pisteistä (12 p) ja antaa palaute kurssin lopuksi. Kurssin 10 op version suorittamiseksi täytyy: tehdä 5 op version osasuoritukset ja suorittaa harjoitustyö hyväksytysti. Harjoitusaktiivisuudesta saa hyvityspisteitä seuraavasti: 60 % 1 kpl, 70 % 2 kpl, 80 % 3 kpl, 85 % 4 kpl. Harjoitustyöstä saa hyvityspisteitä 0, 1, 2, 3 tai 4 kpl. Hyvityspisteet huomioidaan vain, jos tenttipisteitä on vähintään puolet. 17 18 Kirjallisuus Luentokalvot pääasiallinen materiaali. Kalvot pyritään julkaisemaan kurssin verkkosivuilla viimeistään luentoa edeltävänä päivänä. Tulostettava itse, jos kalvoista haluaa paperikopion luennoille. Oheislukemista: Wikla: Ohjelmoinnin perusteet Java-kielellä. Deitel & Deitel: Java, How to Program. Koskimies: Oliokirja. Haikala & Mikkonen: Ohjelmistotuotannon käytännöt. Verkossa muun muassa: Oracle: The Java Tutorial. Eck: Introduction to Programming Using Java. 19 Miksi suorittaa kurssi? Kurssi on pakollinen kaikille tietojenkäsittelytieteiden tutkinto-ohjelman opiskelijoille maisteriohjelmasta riippumatta ja pakollinen myös monessa tietojenkäsittelytieteiden valinnaisessa opinto-kokonaisuudessa, koska ohjelmointiin liittyvissä töissä joutuu melko varmasti tekemisiin olioiden kanssa ja olio-ohjelmointitaitoja tarvitaan useilla myöhemmillä kursseilla. Olio-ohjelmointikin voi olla kivaa. 20