Studio 1 syksy 2006. Janne Käki 11.9.2006

Samankaltaiset tiedostot
Ohjelmoinnin perusteet Y Python

Viikko

19/20: Ikkuna olio-ohjelmoinnin maailmaan

Kotimaisten kielten ja kirjallisuuksien kandiohjelma (180 op) Suomen kielen ja kulttuurin opintosuunta lukuvuosi

T harjoitustehtävät, syksy 2011

PERUSAINEIDEN LAAJA OPPIMÄÄRÄ

Ohjelmoinnin perusteet Y Python

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

AS Automaation käyttöliittymät L Opetussuunnitelma

Visualisointi informaatio- verkostojen opinto-oppaasta Informaatioverkostojen kilta Athene ry Opintovastaava Janne Käki 19.9.

Mallilukujärjestys 1. vuosi 2013

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

Tietorakenteet ja algoritmit CSE- A1140 (5 op)

Kurssin käytännön järjestelyt. Tuotantotalous 1 Jukka Kurki

Graafisen käyttöliittymän ohjelmointi Syksy 2013

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

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

Javan perusteita. Janne Käki

Antitammirobotti. Antti Meriläinen Martin Pärtel 29. toukokuuta 2009

Ohjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia

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

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

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Visualisointi informaatioverkostojen Opintoneuvoja Teemu Meronen (päivitys Janne Käen visualisoinnin pohjalta)

Visualisointi informaatioverkostojen Opintoneuvoja Janne Käki

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

AS Automaation käyttöliittymät L Opetussuunnitelma

Visualisointi informaatio- verkostojen opinto-oppaasta Opintoneuvoja Teemu Meronen (päivitys Janne Käen visualisoinnin pohjalta)

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

213a. MS-A0503 Todennäköisyyslaskenna n ja tilastotieteen per; M (vkot 3-7)

Tietorakenteet ja algoritmit Y CSE- A1141 (5 op)

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

C-ohjelmointikielen perusteet, osa 1

TIE Ohjelmistojen suunnittelu


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

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

Ahlmanin ammattiopisto, Tampere :24 33/2015 (1. jakso) Viikkotuntimäärä: 23

Tervetuloa! CS-C2110 Ohjelmointistudio 1: mediaohjelmointi. Koittakaa löytää istumapaikka!

Ohjelmoinnin peruskurssi Y1

Mallilukujärjestys Teknistieteellinen kandidaattiohjelma Tietotekniikka, 2. vuosikurssi

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

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

Fysiikan opinnot Avoimen yliopiston opiskelijoille

KOULULAISTEN UINTI KEVÄT

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä

Tietoyhteiskunnan perustaidot. Kesäkuu 2014

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kurssin opettajat, tavoitteet ja käytänteet (kevät 2016) MS-C2107 Sovelletun matematiikan tietokonetyöt 1

Ainedidaktiikan yhteinen INFO Edu PEDAp4: Oman aineryhmän INFO PEDAp4: Vuorovaikutuksesta (luento), Edu244

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op

PHYS-A0120 Termodynamiikka (TFM) Maanantai

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


TIE Ohjelmistojen suunnittelu

T harjoitustyö, kevät 2012

PERUSTIETEIDEN LAAJA OPPIMÄÄRÄ Syksyn 2010 informaatiotilaisuudet: to 2.9. klo L-salissa / pe 3.9. klo F-salissa TERVETULOA!

Ohjelmistojen mallintaminen, kesä 2009

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

4. Lausekielinen ohjelmointi 4.1

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

JAVA-OHJELMOINTI 3 op A274615

Ohjelmistotekniikan menetelmät, kevät 2008

Sovelmat. Janne Käki

Kurssin esittely. Kurssin esittely. MS-C2107 Sovelletun matematiikan tietokonetyöt 1

2. luento. CS-C2110 Ohjelmointistudio 1: mediaohjelmointi Syksy 2016 [Studio 1] Antti Tolppanen, Sanna Suoranta, Lauri Savioja

T Harjoitustyöluento

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

Matematiikka ja teknologia, kevät 2011

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

Java kahdessa tunnissa. Jyry Suvilehto

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

Viikko 35 ( )

Kurssin sisältö. Kurssilla vähemmän. Johdatus ohjelmistotekniikkaan. Mitä on ohjelmistotekniikka? Miten ohjelmistoja suunnitellaan ja toteutetaan?

17/20: Keittokirja IV

Ahlmanin ammattiopisto, Tampere :11 33/2015 (1. jakso) Viikkotuntimäärä: 25

Kurssin esittely. Kurssin esittely. MS-C2107 Sovelletun matematiikan tietokonetyöt 1

Tietueet. Tietueiden määrittely

Opettajan pedagogiset opinnot 2017 Ainedidaktiikan opetusjakso syyskuun viikolla 36 (15.8./JS)

15. Ohjelmoinnin tekniikkaa 15.1

Graafinen käyttöliittymä, osa 2

Sopimuspohjainen olio-ohjelmointi

Ohjelmoinnin peruskurssi Y1

P e d a c o d e ohjelmointikoulutus verkossa

ERITYISOPETUKSEN TEHTÄVIIN AMMATILLISIA VALMIUKSIA ANTAVAT OPINNOT, SYKSY 2015 PÄIVITETTY

CHEM-A1620 Näkökulmia ympäristöasioihin (3 op) Kevät 2018

HISTORIAN OPPIAINE KEVÄTLUKUKAUSI Historian perusopinnot

Ohjelmoinnin perusteet Y Python

Visualisointi informaatioverkostojen Opintoneuvoja Pekka Siika-aho (päivitys mm. Janne Käen visualisoinnin pohjalta)

P e d a c o d e ohjelmointikoulutus verkossa

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

Ohjelmistotekniikan menetelmät, kesä 2008

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

Tähtitieteen käytännön menetelmiä Kevät 2009

Fysiikan opinnot Avoimen yliopiston opiskelijoille

PLA Mobiiliohjelmointi. Mika Saari

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

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

Ohjelmoinnin perusteet, syksy 2006

Transkriptio:

Studio 1 syksy 2006 Janne Käki 11.9.2006

Mikä ihmeen Studio 1? Phuksisyksy Phuksikevät Mat-1.1110 Matematiikan peruskurssi C1 10 op Mat-1.1120 Matematiikan peruskurssi C2 10 op T-106.1250 Informaatioverkostojen ohjelmointikurssi 10 op T-106.1223 Tietorakenteet ja algoritmit Y 5 op Inf-0.1220 Sosiologia 5 op T-106.2001 Informaatioverkostot: Studio 1 4 op T-106.1001 Tietokone työvälineenä 2 op TU-22.1101 Tuotantotalouden peruskurssi 4 op Kie-98.500x Toisen kotimaisen kielen koe 2 op AS-75.1102 Julkaisutekniikan perusteet 3 op AS-75.2300 Informaatioverkostot: Studio 2 2 op TU-53.1100 Työpsykologian ja johtamisen perusteet 4 op

Kurssin suorittaminen OLO-sessiot ei arvostella, läsnäolo pakollista Ohjelmointitehtävät 40 % arvosanasta Kurssiportfolio 25 % arvosanasta (sisältää mm. 5 esseetä / käsitekarttaa) Tentti 10 % arvosanasta (6 kierrosta à 25 tuntia) Ohjelmointiprojekti 25 % arvosanasta (80-100 tuntia)

Mallilukujärjestys MAANANTAI TIISTAI KESKIVIIKKO TORSTAI PERJANTAI 8-10 Matematiikan peruskurssi C1, luento C-sali Matematiikan peruskurssi C1, luento C-sali Matematiikan peruskurssi C1, luento C-sali 10-12 Matematiikan peruskurssi C1, viikon 1. laskarit Y313 Studio 1, luento T5 * Studio 1, - luento (vko 40 ja 41) - harjoitukset (vko 42 ja 47) 12-14 14-16 Studio 1, OLO-sessio, ryhmät 1, 2 & 3 A232 B122 B219 Tuotantotalouden peruskurssi, luento A-Sali Studio 1, harjoitukset A117 ** Studio 1, OLO-sessio, ryhmä 4 B219 Tuotantotalouden peruskurssi, luento A-sali Matematiikan peruskurssi C1, viikon 2. laskarit U345 Studio 1, harjoitukset A117 16-18 Studio 1:n palautusten DL lauantaisin klo 18:00 * ** Viikoilla 40 ja 41 C1-mikrolaskarit (Maari-A) ke klo 10-12, tällöin Studio 1 -luento vasta to klo 10-12. Viikoilla 42 ja 47 C1-välikoe ti klo 16-19, tällöin viikon ensimmäiset Studio 1 -harjoitukset vasta to klo 10-12.

Kahden viikon sykli Uuden Java-tehtävän julkaisu. Java-tehtävän palautus. OLO-sessio. Tapauksen n purku, tapauksen n+1 avaus. Palaute edellisestä essee- / käsitekarttatehtävästä. Neuvontasessio 1. Neuvontasessio 4. Luento, tyypillisesti uuden Java-tehtävän aihepiiristä. Luento, tyypillisesti kurssin työskentelymenetelmistä, välineistä, tms. Neuvontasessio 2. Neuvontasessio 3. OLO-sessio. Tapauksen n+1 purku, tapauksen n+2 avaus. Palaute edellisestä Java-tehtävästä. Essee- / käsitekarttatehtävän palautus. Uuden essee- / käsitekarttatehtävän julkaisu.

Viikoittaiset aktiviteetit Luennot Keskiviikkoisin klo 10-12 salissa T5. Keskeisin tehtävä tukea Javatehtävien tekemistä selventää vaikeimpia uusia asiakokonaisuuksia spoilaamatta kuitenkaan liikaa. Demoja, esimerkkejä, metaforia, ajatusmalleja, yleissivistävää ja opitun laajempaan kontekstiin sijoittavaa sisältöä. Lisäksi esitellään kurssin työtapoja: OLO, käsitekartat, porfoliotyöskentely, ohjelmointiprojekti. Harjoitukset Tiistaisin klo 14-16 ja perjantaisin klo 12-14 luokassa A117. Paikalla noin neljä assaria vastaamassa Java-tehtäviin liittyviin kysymyksiin. Ohjelmointiongelmiin kannattaa ensisijaisesti hakea apua käymällä harjoituksissa. Muita hyviä foorumeja: luennot uutisryhmä opinnot.iv.studio1 IRC-kanava!studio1 oppikirjat Java-tutoriaalit

OLO-tapausten aiheet ja aikataulu OLO 1 viikko 37-38 OLO 2 38-39 OLO 3 39-40 OLO 4 40-41 OLO 5 41-42 Arska ja Pena Javan syntaksi Avainsanat Rakenteet Platonin ideaoppi Ideaoppi Luokat ja oliot Verkkokirjakauppa Kokoelmat (listat, setit, mapit) Robotti labyrintissa Reitinhakualgoritmi Robottiturnaus Ohjelmavirheet ja testaaminen Virheilmoitukset OLO 6 OLO 7 OLO 8 OLO 9 OLO 10 viikko 42-(43)-44 44-45 45-46 46-47 47-48 Valokuva-albumi Pelin tallennus Laivanupotuspeli Piirto-ohjelma Rekursio Graafinen käyttöliittymä Tiedostosta luku Tiedostoon kirjoittaminen Kokonaisen ohjelman suunnittelu Tapahtumat Piirtäminen 2D-grafiikka

OLO-ryhmät OLO 1 OLO 2 OLO 3 OLO 4 Petri Klemelä Mikko Porkola Jesse Kivialho Jarno Marin Emmi Suhonen Sampo Toiva Anna Berg Ville Sundberg Zeerim Cheung Ville Ilmonen Ossi Hanhinen Hannu Isopahkala Mikko Koski Pyry Kröger Jussi Juvonen Tia Jysmä Lauri Närhi Riikka Mäenpää Antti Kumpusalo Ville Karvonen Marko Oksanen Philip Ramberg Marika Mänttäri Laura Liukkonen Anu Saarinen Tommi Ruopuro Tiina Metsäpelto Heikki Moilanen Otto Teinonen Juho Vehviläinen Petteri Noponen Vihtori Mäntylä Sofia Ziessler Maria Viitanen Julia Wiikeri Teemu Meronen Lars Oehlandt Jetta Pursiainen

Java-tehtävien aikataulu ja sisältö Java 1 Java 2 Java 3 Java 4 Java 5 Java 6 viikko 37, 38 39, 40 41, 42, (43) 44, 45 46, 47 48, 49 Luokat ja oliot Metodit ja muuttujat Ehto- ja toistorakenteet Perintä Taulukot Rajapinnat Olentojen toimintaalgoritmit Karttaelementtien kytkennät Olentojen sijainnit Poikkeukset Abstraktit luokat Tiedostonkäsittely Näppäimistösyöte Toimiva pelilogiikka Swing (graafinen käyttöliittymä) Päiväykset ja kellonajat (ja lisää Swingiä)

Mitä Java-tehtävien lopputuloksena on tarkoitus syntyä? Java 1 Esineitä kuvaavia luokkia, jotka muodostavat perintähierarkian, sekä olentoluokka. Luokilla on attribuutteja ja näiden käsittelyyn liittyviä metodeja. Pääohjelmametodi, jossa luokkien ilmentymät ovat yksinkertaisessa vuorovaikutuksessa. Java 4 Näppäimistösyötettä lukeva ja tulkitseva sekä käyttäjän antamiin käskyihin reagoiva pelaajaluokka. Pelimoottori, joka saa pelin olennot vuorollaan tekemään siirtoja pelimaailmassa ja joka tarkkailee pelin päättymiseen johtavien kriteerien täyttymistä. Java 2 Pelimaailman rakennuspalikoina toimivia karttaelementtejä, joita voidaan asettaa dynaamisesti toistensa naapureiksi. Olento voi sijaita karttaelementissä ja liikkua pelimaailmassa paikasta toiseen. Sillä on myös alkeellinen reitinhakualgoritmi. Java 5 Swing-käyttöliittymän varaan rakentuva miinaharavapeli, joka on oikeasti pelattavissa (voitettavissa tai hävittävissä). Käytetään ainakin luokkia JFrame, JPanel, JLabel, JButton, BorderLayout, GridBagLayout, ActionListener, MouseListener. Java 3 Kolme erilaista olentoluokkaa, jotka osaavat tehdä pelimaailmassa erilaisia asioita ja valita älykkäästi näistä tilanteeseen sopivimman. Poikkeusten heittämistä ja käsittelyä tilanteissa, joissa se on tarkoituksenmukaisin ratkaisu. Rajapintaluokka sekä esineitä, jotka toteuttavat rajapinnan ja joita käytetään sen kautta. Java 6 Miinaharava mittaa pelin voittamiseen käytetyn ajan ja kirjoittaa parhaat tulokset tekstitiedostoon sekä lukee ne sieltä käynnistyessään. Tulosten päiväyksiä ja kellonaikoja käsitellään sopivien valmiiden luokkien avulla. Tutustutaan kiinnostuksen mukaan Swingin edistyneempiin komponentteihin ja ominaisuuksiin. tekstiseikkailupeli miinaharava

OLO-työskentelystä Muistiinpanot ja sanasto Tavoite: yhteenveto ryhmän tärkeimmistä löydöksistä ja havainnoista, auttaa myöhemmin palaamaan asiaan esimerkiksi käytännön ohjelmoinnin yhteydessä Kokoaminen on tapauksen sihteerin vastuulla, mutta koko ryhmän on osallistuttava materiaalin tuottamiseen kohderyhmänä opiskelijat itse, ei assarit lopputuloksena esimerkiksi pieni käsitekartta, kaavio tai tapauksen kannalta olennaisten uusien käsitteiden selitys Palautus tapahtuu OLO-ryhmän omalle sähköpostilistalle (studio1-olox@cs.hut.fi) Pohdintatehtävät Tavoite: helposti lähestyttäviä, tapauksen aiheeseen liittyviä (tai edes sitä sivuavia) välipalatehtäviä, jotka auttavat kiinnostumaan aiheesta ja oppimaan siitä lisää mitä tämä koodi tekee? etsi virhe tästä koodista. pitävätkö nämä väitteet paikkansa? Osa tehtävistä saattaa ratketa yhdessä jo avaussessiossa tukevat keskustelun syntymistä Osa saattaa vaatia lisäopiskelua tukevat oppimistavoitteiden asettamista, itseopiskelua ja keskustelun syntymistä purkuvaiheessa

Viestintäkanavat Sähköposti: studio1-olo at cspistehutpistefi tiedotteet kaikista uusista tai muuten ajankohtaisista asioista Kurssin www-sivut: http://www2.cs.hut.fi/~studio1/ aikataulut, tehtävänannot, ohjeet, arvosteluperusteet, ja paljon muuta OLO-sessiot palaute tehdyistä tehtävistä Viikkoharjoitukset, IRC-kanava!studio1, uutisryhmä opinnot.iv.studio1 apua Java-tehtäviin liittyvissä ongelmissa Luennot uusien työmenetelmien esittelyä, vaikeimpien uusien asioiden käsittelyä yhdessä