Opintojakson tarkoituksena on ohjelmointityöskentelyn harjoittelu: ohjelman suunnittelu, dokumentointi ja toteuttaminen. Tärkeässä asemassa ovat myös projektista neuvotteleminen ja tehtyjen ratkaisujen esitteleminen.
Sisältö:
Opiskelija suunnittelee, dokumentoi ja toteuttaa vuorovaikutteisen ohjelman. Neuvottelu "asiakkaan" (so. ohjaajan) kanssa ja ohjelman esittelyt, demonstraatiot, ovat myös tärkeä osa kurssia.
Opiskelija pitää myös pieniä esitelmiä kurssin kuluessa.
Mastermind logiikkapeli:
Ohjelman tarkoituksena on toteuttaa Mastermind logiikkapeli. Pelin ideana on arvailla koneen arpomaa riviä erivärisiä nappeja ja niiden paikkaa.
Vaikeustasoja on kolme. Helpoimmassa vaikeustasossa on neljä paikkaa, joihin kone arpoo neljästä eri värinapeista koostuvan rivin. Normaalissa vaikeustasossa paikkoja on kuusi ja vaikeimmassa vaikeustasossa myös värien määrä on nostettu kuuteen.
Pelaajalla on 10 arvausta. Jokaiselle arvaukselle ohjelma vastaa antamalla valkoisen tarkastusmerkin jokaista sellaista nappulaa kohden, joka on oikean värinen, mutta väärällä paikalla kertomatta tarkalleen mikä väreistä oli oikea ja mikä väärä. Jokaista oikealla paikalla olevaa ja oikean väristä nappulaa kohden kone antaa vihjeenä mustan tarkastusmerin.
Ohjelma näyttää vanhat arvaukset ruudulla, että niiden perusteella käyttäjä voi tehdä uuden arvauksen.
Kaikkien aikojen parhaista tuloksista pidetään kirjaa, tulokset on koko pelin ajan näkyvissä.
Ohjelmassa on graafinen käyttöliittymä, kommunikointiin käytetään näppäimistöä.
Työ tehdään kuuden viikon aikana viikottaisen ohjauksen alaisena. Työ tehdään useimmiten Java-, C- tai Pascal-kielellä. Erityistä huomiota kiinnitetään tietorakenteiden ohjelmointiin.
Olutravintolasimulaattori:
Olutravintolassa on n tarjoilijaa ja tilaa m asiakkaalle. Olutta saa sekä hanasta (iso ja pieni tuoppi) että pullossa (0,33 ja 0,5 litraa). Lisäksi ravintolasta saa pieniä ruoka-annoksia.
Tarjoilijalta menee aikaa tilauksen vastaanottamiseen, tarjoiluun sekä rahastamiseen seuraavasti:
Iso tuoppi / pullo 4 aikayksikköä, pieni tuoppi / pullo 2 aikayksikköä. Lisäksi pullon hakemiseen ja avaamiseen kuluu 1 aikayksikkö. Ruoka-annoksen valmistaminen kestää 20 aikayksikköä.
Asiakkaita saapuu ravintolaan tasaisesti aikavälillä (1,k). Jos ravintola on täynnä, asiakas jää jonottamaan ovelle joksikin ajaksi (odotusaika tasaisesti jakautunut välille (1,w)), jonka jälkeen hän kyllästyy ja lähtee pois. Asiakkaat pääsevät sisään jonoonsaapumisjärjestyksessä.
Asiakkaan ravintolassa ollessaan tekemien tilausten määrä on tasaisesti jakautunut välille (1,p). Tilaukset jakautuvat seuraavasti: iso tuoppi 40%, pieni tuoppi 30%, iso pullo 20%, pieni pullo 8% ja ruoka-annos 2%. Tilausten välillä kuluu asiakkaalta aikaa (1,t) yksikköä.
Ohjelma simuloi olutravintolan toimintaa annetuilla parametreillä m, n, k, w, p ja t.
Ohjelma kerää simuloinnin aloitushetkestä lähtien sisäänpäässeitten asiakkaitten, myytyjen tuotteiden, kyllästyneiden asiakkaiden ja poistuneiden asiakkaiden määriä.
Ravintolan täyttöastetta, tarjoilijoiden työllisyysprosenttia ja jonotusaikoja tarkkaillaan simuloinnin aloitushetkestä lähtien, mutta omalla tarkkailulla tarkkailuhetken aloituskohdan pystyy määrittelemään itse.
Kurssin tavoitteena on antaa yleiskuva kuvien tuottamisesta tietokoneen avulla. Käsitellään graafisten systeemien suunnittelun ja toteutuksen, käytön ja ymmärtämisen peruspiirteet yleissivistävällä tasolla: Sovellusalueet; laitteistot; näytön alkiot ja niiden attribuutit; kaksiulotteiset muunnokset; ikkunointi ja leikkaus; segmentointi; käyttäjän ja koneen vuorovaikutus; kolmiulotteisia käsitteitä, esitysmuotoja, muunnoksia ja kolmiulotteisen kohteen näyttö; piiloviivojen ja -pintojen poisto; varjostus ja värimalleja; mallinnusmenetelmiä; käyttöliittymistä; harjoitustyö.
OpenGL demo:
Ohjelmassa on hyödynnettävä kurssilla opittua OpenGL rajapinnan käyttöä ja se saisi mielellään sisältää vuorovaikutusta käyttäjän kanssa.
Työ tehdän 2 - 3 hengen ryhmissä.
Työ (C++ ja OpenGL)
Ohjelmasta ei ole saatavilla dokumenttia.
Keskeneräisen version lähdekoodi asennustiedostojen mukana.
Suunnittele käyttöliittymä ohjelmaan, jolla voit jokaisen lukukauden alussa laatia itsellesi lukujärjestyksen. Kurssien lukujärjestystiedot saat jostain tietokannasta (esimerkiksi TKTL-ilmosta).
Miten esität päällekäin menevät ajat? Periodikurssit? Luennot ja laskarit? Kertaluonteiset mikrolaskarit tai vastaavat ohjausajat?
Valitset luultavasti jokaiselta kurssilta itsellesi sopivimman laskariryhmän. Ehkäpä lisäksi kuitenkin kannattaisi jotenkin esittää myös ne muut ryhmät: Jollain viikolla ehkä et pysty käymään "omassa ryhmässäsi" vaan vierailet jossain toisessa sopivassa ryhmässä. Koska näitä ryhmiä olikaan ja missä saleissa?
Harjoitustyö tehdään parityönä.
Työ (Visual Basic)
Ohjelmasta ei ole saatavilla dokumenttia.
Lähdekoodi ei ole vapaassa jakelussa.
Ohjelmasta on olemassa vain versio, jolla loppudemomme sekvenssit onnistuu.
Informaatiojärjestelmien harjoitustyö: Internet huutokauppa
Tavoitteet:
Opintojakson tarkoituksena on ohjelmointityöskentelyn harjoittelu: ohjelman suunnittelu, dokumentointi ja toteuttaminen. Tärkeässä asemassa ovat myös projektista neuvotteleminen ja tehtyjen ratkaisujen esitteleminen.
Sisältö:
Opiskelija suunnittelee, dokumentoi ja toteuttaa vuorovaikutteisen ohjelman. Neuvottelu "asiakkaan" (so. ohjaajan) kanssa ja ohjelman esittelyt, demonstraatiot, ovat myös tärkeä osa kurssia. Opiskelija pitää myös pieniä esitelmiä kurssin kuluessa.
Internet huutokauppa:
Huutokauppakamari Verkkodiili haluaa rakentaa huutokauppajärjestelmän, jonka avulla se voi kaupata tuotteita verkossa. Huutokauppakamari luokittelee myyntiin saamansa tuotteet ja laatii niistä myyntiesitteen. Esitteessä on mm. tuotten kuvaus ja vähimmäishinta. Siihen voi sisältyä tuotteen kuva. Esitteessä kerrotaan myös milloin kauppa alkaa ja päättyy. Kun huutokauppa on avattu asiakas saa näkyviinsä myös tämänhetkisen korkeimman tarjouksen.
Rakennettavassa järjestelmässä asiakkaat voivat tehdä tarjouksia tuotteista. Tarjouksen yhteydessä asiakas antaa henkilötietonsa. Meklarit valvovat kauppaa ottamalla aika ajoin seurantalistoja, joissa pitäisi käydä esiin tuotteista tehtyjen tarjousten määrä, nykyinen korkein tarjous ja erityisesti huomattavat poikkeamat tarjoushinnassa. Tällaisissa tapauksissa meklari varmistaa tarjouksen aitouden. Näin tehdään myös aina ennen kaupan sulkemista. Varmistus voidaan hoitaa sähköpostitse. Jos huutokaupan päättyessä viimeisin tarjous ei ollut aito myydään tavara edelliselle tarjoajalle, jne.
Toteutettavat osat (valitaan):
Tuotetietojen syöttö
Tuotetietojen katselu ja tarjouksen teko
Meklarin seurantalista
Lasku asiakkaalle
Kaupan sulkeminen
Työ (PL/SQL)
Ohjelmasta ei ole saatavilla html pohjaista dokumenttia.
Ohjelmistotuotantoprojekti: Matematiikan WWW oppifoorumi
Työn aihepiiri:
Tietokoneavusteisessa opetuksessa matematiikka on alusta lähtien ollut eräs yleisimmistä oppiaineista, jonka opetustarpeisiin on pyritty vastaamaan. Suurin osa ohjelmistoista on kuitenkin kehitetty kouluikäisten opetukseen ja vain harvat ovat suunnattuja korkeakouluopiskelijoille. Lisäksi vain harvoissa järjestelmissä on pyritty palautteen avulla kehittyvään materiaaliin. Nykyisin Internet tarjoaa lukuisia esimerkkejä aktiivisista, tietyn asian ympärille keskittyvistä keskustelufoorumeista, joiden kautta kuka tahansa voi yrittää etsiä vastausta ongelmaansa tai vastata muiden kysymyksiin.Samaa perusideaa voidaan käyttää etäopetuksessa. Toinen Internetissä laajassa käytössä oleva (etä)opetusmuoto on erilaisten valmiiden oppimateriaalien toimittaminen WWW-selaimilla katseltavassa muodossa (HTML & Java). Yrityksiä näiden kahden lähestymistavan yhdistämiseksi ei ole tätä ennen juurikaan tehty.
Työn kuvaus:
Työn tavoitteena on suunnitella ja toteuttaa mahdollisimman helppokäyttöisiä työvälineitä matematiikan "WWW-oppifoorumin" luomiseksi ja ylläpitämiseksi. Kohderyhmänä ovat korkeakouluopiskelijat ja -opettajat, viiteryhmänä tietojenkäsittelytieteen laitos. Työ on jatkoa syksyn 1999 ryhmälle ja tavoitteena on saada ensimmäinen koekäyttöön valmis versio nyt valmiiksi.
Toteutusympäristö:
HTML, MathML ja Java Linux ja Windows -ympäristöihin yhteensopivana. Ohjelmistoon liittyvä tietokanta on toteutettu käyttäen hyväksi Java Server Page (JSP) ja Java DataBase Connect (JDBC) -tekniikoita.