http://www.hut.fi/~kmkokko/oht/dokumentit/su-vaihe3/to.html
Tik-76.115
Software Project
S98-K99
TRAKLA-EDIT Rekno: TM002
Versio: 02
Päivitetty: 16.12.1998
TOIMINNALLINEN MÄÄRITELMÄ
Laatinut: KMK, JK, JO Tarkistanut: KMK, JK, JO Vastuussa: JO

Sisällysluettelo

Yhteenveto

1. Johdanto
1.1. Määritelmiä
1.2 Dokumentin jaottelu

2. Yleiskuvaus
2.1. Järjestelmä
2.2. Käyttäjät
2.3. Modulaarisuus ja rajapinnat
2.3.1. GUI
2.3.2. Tietorakenteet
2.3.3. Esitysmuoto
2.3.4. Animaattori

3. Asiakas-palvelin-kommunikaatio
3.1. DSDL kieli
3.1.1. Kirjoitusasu
3.1.2. Tulkinta
3.2. Serialisoitavuus

4. Käyttöliittymät ja niiden toiminnot
4.1. Oppilaan käyttöliittymä
4.2. Oppilaan käyttöliittymän valikot
4.3 Oppilaan käyttöliittymä - esimerkkeihin tutustuminen
4.4 Oppilaan käyttöliittymä - tehtävien ratkaiseminen
4.5 Opettajan käyttöliittymä
4.6 Opettajan käyttöliittymän valikot
4.7 Toiminnot opettajan käyttöliittymässä
4.8 Tehtävän ja esimerkin ulkoasun muokkaukseen liittyvät toiminnot opettajan käyttöliittymässä
4.8.1 Design-view
4.8.2 Student-view
4.9 Tietorakenteiden muokkaukseen liittyvät toiminnot opettajan käyttöliittymässä.
4.9.1 Tehtävät
4.9.2 Esimerkkitehtävät
4.9.3 Esimerkkitehtävät - tehtävänanto
4.9.4 Esimerkkitehtävät - animaatiosekvenssi

Kirjallisuusviitteet


Yhteenveto

1. Johdanto

TKK:n tietojenkäsittelyopin laboratoriossa on 90-luvulla kehitetty erilaisia sähköisen opetuksen tukijärjestelmiä, joista eräs on Tietorakenteet ja algoritmit -kurssilla käytössä oleva TRAKLA-järjestelmä. Järjestelmä on tarkoitettu sekä kurssin hallinnointiin että kurssilla käytössä olevien tehtävien automaattiseen jakeluun, vastaanottoon ja tarkastamiseen. Automaattisesti tarkastettavilla tehtävillä tarkoitetaan tässä yhteydessä ei-triviaaleja algoritmien simulointitehtäviä, jotka voidaan virittää sisällöltään jokaiselle opiskelijalle erilaiseksi. Kahden viimeisen vuoden aikana järjestelmästä on kehitetty WWW-pohjaista (WWW-TRAKLA), jolloin järjestelmän opiskelijalle näkyvä käyttöliittymä on WWW:ssä. Samalla opiskelijoille on tullut mahdolliseksi ratkoa tehtäviä graafisella käyttöliittymällä. Java-pohjainen käyttöliittymä toimii WWW-selaimessa ja esittää tehtävässä käytetyt tietorakenteet graafisesti. Käyttöliittymä kommunikoi TRAKLA- järjestelmän kanssa sähköpostin välityksellä. Vanhan järjestelmän reunaehdot kuitenkin rajoittavat tällä hetkellä järjestelmän edelleenkehitystyötä.

Ohjelmatyönä toteutettava järjestelmä tulee liittymään olennaisena osana TKO-laboratoriossa käynnissä olevaan LEAD-projektiin (Learning Environment for Algorithms and Data Structures), jossa tarkoituksena on rakentaa kohtuullisen kattava WWW-pohjainen tietorakenteiden ja algoritmien oppimisympäristö, johon kuuluu harjoitustehtä vien lisäksi myös muuta opiskelumateriaalia. Järjestelmän on tarkoitus hyödyntää vahvasti hypermedian mahdollisuuksia ja ennenkaikkea etsiä hypermediasta uusia oppimista edesauttavia ominaisuuksia. Opiskelumateriaalin lisäksi järjestelmän on tarkoitus kattaa myös kurssin hallinnointiin liittyviä seikkoja aina ilmoittautumisesta palautteen keräämiseen saakka. Projektissa koko hanketta on lisäksi tarkoitus evaluoida pedagogisesta näkökulmasta ja pohtia millaista opetuksellista ja oppimisen kannalta keskeistä lisäarvoa se tuo mukanaan.

OLIO-TRAKLA on osa WWW-TRAKLA- konseptia; sitä tarkoitus käyttää lähinnä kurssin Tik-76.122 Tietorakenteet ja algoritmit harjoitustehtävien automaattiseen jakeluun, vastaanottoon ja tarkastamiseen, sekä kurssin hallinnointiin. Siihen on tarkoitus liittää myös jossain määrin opintomateriaalia mm. linkkien ja viitteiden muodossa. Enin osa opintomateriaalin tarjonnassa rajautuu kuitenkin OLIO-TRAKLA:n ulkopuolelle.

Ohjelmatyönä toteutettava järjestelmä TRAKLA-EDIT on osa OLIO-TRAKLA -järjestelmää. Kyseessä on sen WWW -pohjainen käyttöliittymä, eli asiakaspään sovellus joka kommunikoi TRAKLA-palvelimen kanssa. Kuva 1 esittelee OLIO-TRAKLA konseptia.
 
 










Kuva 1 - OLIO-TRAKLA konsepti


 





1.1 Määritelmiä

LYHENNE, TERMI SELOSTUS
DSDL Data Structure Description Language
Fasadi Fasadilla tarkoitetaan yhtenäistä rajapintaa, joka peittää alleen joitakin luokkia. Tämän korkeamman tason rajapinnan kautta on helpompi käyttää alla olevaa luokkajoukkoa.
Dynaaminen HTML HTML kielinen sivu, joka muodostetaan palvelimella annettujen parametrien perusteella.
Java Interface Rajapinta määrittely, joka määrittelee yksikäsitteisesti toteutettavilta luokilta vaaditut palvelut ja toiminnot.
LEAD Learning Environment for Algorithms and Data structures
Serializable Interface Javan tarjoama sarjallistamis rajapinta, jonka avulla voidaan ohjata olion instanssin tila tietovuohon, josta se on myöhemmin palautettavissa.

1.2 Dokumentin jaottelu


1. Johdanto - Projektin tuotteen, Trakla-Editin määrittely
2. Yleiskuvaus - Yleiskuvaus ohjelman käyttäjistä ja toiminnoista
3. Asiakas-palvelin-kommunikaatio - DSDL -kielen määrittely ja Serializable rajapinnan esittely
4. Käyttöliittymät ja niiden toiminnot - Graafisten käyttöliittymien kuvaukset

2. Yleiskuvaus

2.1. Järjestelmä

Ohjelmatyönä toteutettava järjestelmä, Trakla-Edit, tulee siis osaksi TKO-laboratoriossa käynnissä olevan LEAD-projektin yhteydessä toteutettavaa WWW-pohjaista tietorakenteiden ja algoritmien oppismisympäristöä WWW-TRAKLAA ja sen OLIO-TRAKLA järjestelmää. Trakla-Edit on OLIO-TRAKLA:n WWW-pohjainen käyttöliittymä.

Järjestelmän keskeinen tavoite on toimia opetusvälineenä ja oppimisen tukena. Työn kannalta keskeisin näkökulma on kurssin (Tik-76.122 Tietorakenteet ja algoritmit) oppilaan näkökulma, koska järjestelmä on keskeisesti tarkoitus toteuttaa juuri oppimisen tueksi. Lisäksi järjestelmää käyttävät kurssin luennoitsija ja assistentit. Trakla-Edit -järjestelmän graafisen käyttöliittymän avulla opiskelija voi suorittaa ja palauttaa harjoitustehtäviä ja tutustua esimerkkiratkaisujen avulla tietorakenteiden ja algoritmien toimintaan. Opetushenkilökunta puolestaan voi käyttää järjestelmää uusien harjoitus-  ja esimerkkitehtävien luontiin ja testaamiseen (tehtäväeditori) sekä opetusmateriaalin tuottamiseen. Vaatimusmäärittelyn mukaisesti:

Oppilaan kannalta järjestelmällä tulee voida:

Kurssin henkilökunnan näkökulmasta järjestelmällä tulee ylä mainittujen toimintojen lisäksi voida: Trakla-Edit:iin suoranaisesti kuulumattomat toiminnot on listoissa esitetty suluissa; nämä toiminnot implementoidaan pääsääntöisesti TRAKLA-palvelimen puolella. Ne edellyttävät kuitenkin huomiointia myös Trakla-Edit:in suunnittelussa ja toteutuksessa.
 

2.2. Käyttäjät

Järjestelmän käyttäjäkunta muodostuu opiskelijoista, assistenteista sekä luennoitsijasta. Profiloiduilla käyttäliittymillä on tarkoitus mahdollistaa ohjelmiston toteutus siten, että sovelluksen käynnistyessä voidaan käyttäjäidentifikaation perusteella valita käytettävä profiili. Profiilit määrittelevät toiminnot, jotka ovat istunnon aikana käytettävissä. Luennoitsijan (opettaja) profiilissa on mahdollista luoda uusia tehtäviä ja esimerkkejä, kun taas oppilaan profiili rajoittuu tehtävien ratkaisemiseen ja palauttamiseen sekä valmiiden esimerkkien selaamiseen graafisen käyttöliittymän avulla.

2.3. Modulaarisuus ja rajapinnat

Yhtenäisen dokumentaation ja oliopohjaisuuden vuoksi käytämme kirjassa Design Patterns [3] esitettyjä OMT-notaatiotioita ja merkintöjä. Javan online -dokumentaation lisäksi käytössämme on dokumentin lopussa esiteltyä kirjallisuutta.

Trakla-Editin toiminnallisuus voidaan kuvata 4:llä toiminnallisella moduulilla, joiden väliin määritellään rajapinnat kuvassa 2 esitetyllä tavalla. Tämä korkean tason oliomalli kattaa modulaarisuuden, joka on vaatimuksena asiakkaan puolelta. Toteutuksen ja ylläpidettävyyden kannalta on yksinkertaisinta jakaa esitetyt moduulit useampaan luokkaan, jolloin esimerkiksi esitysmuoto (representation) moduuli voi esittää sekä näkymää että operatiivista oliota. Kuvassa 2 esitetty oliomalli on korkeantason mallinnus ja sitä on purettu auki teknisessä määrittelyssä.
 
 





Kuva 2 - Trakla-Editin oliomalli


 



2.3.1. GUI

Käyttöliittymän (GUI) tehtävänä on tarjota profiloitu näkymä järjestelmän käyttäjälle. Käyttöliittymän  toiminnallisia elemenntejä ovat valikot, painonapit, näkymän osituksen hallinta graafisten olioden kesken sekä tietorakenteita kuvaavien esitysmuotojen alkiot. Käyttöliittymä tarjoaa kommunikointi-rajapinnan (graphical user interface, GUI), jonka toteuttamalla voidaan tarjota toiminnallisuutta muille toteutettaville moduuleille.

2.3.2. Tietorakenteet

Tietorakenne-moduulilla voidaan tallentaa tietorakenteen tila ja suorittaa sille algoritmisia operaatioita. Viitteessä /3/ esiteltyä fasadi-tekniikkaa voidaan hyödyntää modulin rajapintoja suunniteltaessa, jolloin yksittäisten tietorakenteiden toteutus voidaan peittää sitä käyttäviltä luokilta.

2.3.3. Esitysmuoto

Esitysmuoto määrittelee tietorakenteen näkymän sekä käyttöliittymässä suoritettuja operaatioita vastaavat operatiiviset toiminnot (lisäys, poisto, rotaatio) tietorakenteen muokkaamiseksi. Käyttöliittymä käyttää esitysmuotoa representation-rajapinnan kautta esittääkseen tietorakenteen käyttäjälle, sekä informoidessaan esitysmuotoa käyttäjän tekemistä muutoksista.

2.3.4. Animaattori

Animaattori tallentaa käyttäjän tietorakenteille tekemät muutokset sekvenssiksi, joka pystytään tallentamaan ja lataamaan palvelimelta kappaleessa 3 esitettyjen vaatimusten mukaan. Käyttöliittymä informoi animaattoria AnimatorControl -rajapinnan kautta tehdyistä operaatioista.
 

2.4 Vaatimukset ympäristölle

Vaatimusmäärittelyyn kirjattujen järjestelmälle asetettujen vaatimusten mukaisesti  Trakla-Edit -järjestelmän pääasiallinen käyttö tulee  tapahtumaan WWW:ssä tunnetuimmilla selainohjelmilla (Netscape Communicator, Internet Explorer); opiskelijat käyttävät järjestelmää pääasiallisesti TKK:n laskentakeskuksen ylläpitämissä työasemissa (Unix, Wiondows) niihin asennetuilla WWW- selainohjelmilla. Kurssin henkilökunta käyttää järjestelmää pääsääntöisesti työtiloissaan Macintosh-ympäristössä Netscape Communicator -selaimella.

 Toteutuksessa on päädytty käyttämään Java Development Kit versiota 1.1.7A, jolloin rajoitteeksi jää selainten yhteensopivuus ja tuki Javalle. Toteutuksessa käytettävät Java-kääntäjä ja Java-tulkki ovat vapaasti haettavissa Sun Microsystem yhtiön kotisivuilta www.sun.com. Myös yleisimmät selaimet, Microsoftin Internet Explorerin uusin versio on osoitteessa www.microsoft.com sekä Netscapen uusin versio osoitteessa www.netscape.com, ovat vapaasti haettavissa ja käytettävissä.
 

3. Asiakas-palvelin-kommunikaatio

Trakla-Edit toimii graafisena käyttöliittymänä, jolla voidaan laatia ja ratkaista tehtäviä sekä tehdä valmiita animaatiosekvenssejä havainnollistamaan tietorakenteen toimintaa visuaalisessa muodossa. Palvelin koostuu kahdesta eri kokonaisuudesta: ensimmäinen tarjoaa talletuskapasiteettia jonne voidaan tallentaa tehtäviä ja esimerkkejä; toinen palvelimen toiminnallisuus on tehtävien automaattinen tarkastus. Tarkastaminen perustuu asikaspäässä oppilaan tehtävänratkaisussa muodostaman animaatiosekvenssin vertaamiseen palvelimen samaan tehtävään muodostamaan sekvenssiin. Tämä edellyttää animaattorin toteutusta sekä asikas- että palvelinpäässä, jolloin rajapinnan huolellinen suunnittelu on ensiarvoisen tärkeää.

Palvelimen tarjoamaa tallennuskapasiteettia käytetään hyväksi tehtävien laatimisessa, esimerkkien luomisessa sekä väliratkaisujen tallennuksessa. Järjestelmä sijaitsee palvelimella, josta se on käynnistettävissä Javaa tukevilla selaimilla. Tämä arkkitehtuuri mahdollistaa sovelluksen jatkuvan kehittämisen ja laajentamisen ilman päivityksiä käyttäjälle. Tämä yhdistettynä huolelliseen rajapinta-arkkitehtuuriin mahdollistaa sovelluksen jatkuvan kehittämisen siten että palveluiden alhaallaoloaika on minimoitu.

3.1. DSDL kieli

Tehtävien, esimerkkien ja väliratkaisujen talletusmuoto on valittava siten että sovelluksen mahdolliset laajennukset eivät aiheuta muutosta niiden konsistenssiuteen. Konsistenssiudella käsitetään tässä tallennetun informaation tulkintaa sille asetetun määrittelyn mukaan siten, että mahdolliset uudet ominaisuudet eivät vaikuta vanhan informaation käsittelyyn. Trakla-Edit käyttää tallentamiseen sille erikseen määriteltävää data structure description language (DSDL) syntaksia, jonka ulkoasu on johdettu HTML kielestä. Kielellä kuvataan oliokohtaista informaatiota, jolloin tagien rajoittamat osa-alueet voidaan käsittää yhden luokan instanssin kuvaukseksi. DSDL kielellä voidaan kuvata Kuvassa 3 on esitetty DSDL-kielen kuvaustyyppien kohteet. Kaikkia kuvattavia kohteita voidaan pitää erillisinä olioina, jolloin ne eivät ole sidoksissa toisiinsa.


Kuva 3 - DSDL kielen kuvaustyyppien kohteet


 












Oppilaan tehtävänanto käyttää erillisiä tietorakenteita kuvaamaan tekstimuotoista tehtävänantoa, "alkutietorakennetta" , joka usemmiten toimii tehtävässä "alkiolistana" sekä muokattavia tietorakenteita, jotka tehtävässä on palautettava. Oppilaan tallettaessa tehtävänsä tallennetaan myös animaattorin tila DSDL muodossa, jolloin se on ladattava takaisin Trakla-Edit:iin. Opiskelijalle laadittu esimerkki sisältää tietorakenteen, esimerkin kuvaksen, tietorakenteiden alkutilat ja alkiot, sekä  animaattoriin tallennetun sekvenssin. Näin ollen opiskelija voi selata ennalta tallennettua animaattorin sekvessiä edestakaisin graafisen käyttöliittymän avulla.

Luennoitsijan sekä assistentin kannalta uuden tehtävän laatiminen on DSDL muotoisen sivun editoimista graafisella käyttöliittymällä. Luennoitsijan tallentama tehtävä tai esimerkki sisältää tehtävänannon, tietorakenteita sekä alkuarvojen määrittelyjä. Oppilaan ratkaistessa tehtävää nämä tulkitaan käyttäliittymässä ja opiskelijalle tulee näkyviin luennoitsijan luoma näkymä. Tehtävänantoon voidaan liittää useampia tietorakenteita ja niiden esitysmuotoja valikoista ja niiden paikka käyttöliittymässä on myös määriteltävissä. Osa tietorakenteista voidaan määritellä sisältämään alkuarvoja ja toimimaan näin "alkiolistana", vähintään yksi tietorakenne kuitenkin usemmiten (paitsi esim. kun tehtävään halutaan sanallisia vastauksia) on muokattava; näitä tietorakenteita voidaan esittää kutakin myös useammalla esitysmuodolla.. Esimerkkiä laadittaessa luennoitsija voi tallentaa suorittamansa animaatiosekvenssin, jonka oppilaat voivat hakea TRAKLA -palvelimelta ja käydä Trakla-Edit:in animaattorilla läpi. Lisää aiheesta on kerrottu käyttöliittymien kuvauksen yhteydessä tämän dokumantin kohdassa 5.

Valikosta valittavan talletus (Save) -toiminnon tarkoituksena on tallentaa käyttäliittymän nykyinen näkymä DSDL-kielisenä siten, että uudestaan ladattaessa tehtävä tai esimerkki on samassa tilassa, jossa se oli tallennushetkellä. Toiminto toteutetaan sekä oppilaan että opettajan käyttöliittymään. Tämä toiminto on täysin paikasta ja käytetystä laitteistosta riippumaton; tehtävän ratkaisu voidaan aloittaa WWW selaimella esim. TKK:n laskentakeskuksen UNIX koneissa, tallentaa palvelimelle, käynnistää WWW selain esim. Windows NT käyttöjärjestelmän alla, ladata tallennettu tehtävä ja jatkaa tehtävän ratkaisua. DSDL kielen käyttö on täysin näkymätöntä Trakla-Edit:in käyttäjille; sen tarkoitus on määritellä Trakla-Edit:in sisäinen talletusformaatti ja toimia "selain selaimen sisällä" periaatteella.
 

3.1.1. Kirjoitusasu

DSDL kielen kirjoitussäännöt vastaavat HTML:n ulkoista kirjoitusasua. Kuvaustyyppin (TAG) vaikutusalue alkaa <KUVAUSTYYPPI> merkinnällä ja päättyy </KUVAUSTYYPPI> merkintään. Alkiot ja arvot kuvaustyypille annetaan lainausmerkkien sisällä (esim. binääripuu tietorakenne kuvataan <DS TYPE=BTREE> kuvaustyypillä ja TYPE parametrilla).
Formaali määritelmä DSDL:lle löytyy dokumentista: DSDL Specification.
 

3.1.2 Tulkinta

DSDL:n toteutus vaatii kielen tulkintaa erillisen parserointioperaation avulla. Parserin vaatimat metodit määritellään tietorakenteiden ja muiden kuvattujen rakenteiden rajapinnoissa. Tarkoituksena on rajata kielen laajennukset koskemaan vain uusia luokkia, joilloin konsistenttisuus aiemmin tallennettujen DSDL kuvausten kanssa säilyy.

3.2. Serialisoitavuus

Tehtävien tarkastamista varten palvelimelle lähetetään oppilaan tehtävälle suorittama animaatiosekvessi. Palvelimella tulee myös olla valmiudet ottaa vastaan metainformaatio ja tulkita sitä, jotta oppilaan identifikaatio ja alkuperäinen tehtävä voidaan verifioida. Palvelin ajaa tehtävänannolle ratkaisun animaattorin kautta jolloin saadaan vertailukelpoinen sekvenssi palautetun kanssa.

Javan Serialization -rajapinta tarjoaa mahdollisuuden tallentaa ja lähettää animaattorin tilan asiakkaalta palvelimelle. Serialisoituva animaattorin instanssi tallennetaan tietovirtana, josta palvelin pystyy lataamaan sen tilan, jossa instanssi oli sen tallentamishetkellä. Seriolisoitavuuden tarjoamia etuja voidaan hyödyntää OLIO-TRAKLAn toteutuksessa; palvelimeen ei tarvitse toteuttaa erillistä parseria, vaan animaattoriolion toteuttava luokka riittää.

DSDL-kielen etuna seriolisoitavuuteen on sen konsistenttisuus sovelluksen muuttuessa. Kielen määrittely varmistaa sen, että myös vanhat tietorakenne- ja animaattorikuvaukset pystytään tulkitsemaan, vaikka olioiden sisäinen toteutus muuttuu. Tarkastuksessa konsistenttisuus ei nouse ongelmaksi, koska asiakas-palvelin päivitys animaattorin suhteen voidaan synkronisoida ja tehdä sille varattuna ajankohtana (esim. viikonloppuisin).

4. Käyttöliittymät ja niiden toiminnot

Projektissa toteutetaan käyttöliittymät sekä opettajalle että opiskelijalle. Oleellisesti toteutetaan yksi käyttöliittymä, jolloin käyttöliittymän toiminnallisuuden tason määrittää käyttäjäprofiili, jonka mukaisesti sallitaan tai kielletäään haluttuja toimintoja. Oppilaan käyttöliittymän toiminnot ovat osajoukko opettajan käyttöliitrtymän toiminnoista. Käyttöliittymä toteutetaan toimimaan erillisenä ikkunana.

Tämän dokumantin yhteenvedossa oli esitetty käyttöliittymien toiminnallisuuden jakoa niihin liittyvien tavoitteiden pohjalta. Seruraavassa on tarkemmin kuvattu sekä oppilaan että opettajan käyttöliittymät ja niiden toiminnot.

4.1 Oppilaan käyttöliittymä

Vaatimusmäärittelyn mukaisesti oppilaan kannalta järjestelmällä tulee voida: Suluissa mainittun vaatimuksen toteutuksen suhteen Trakla-Editin ei tarvitse ottaa kantaa; toteutus tapahtuu TRAKLA-palvelimen puolella. Trakla-Editin toteutuksessa tulee kuitenkin huomioida myös tämä vaatimus.

Pääsääntoisesti nämä vaatimukset konkretisoituvat kahdeksi järjestelmän mahdollistavaksi käyttöskenaarioksi. Nämä ovat tehtävien ratkaiseminen ja esimerkkeihin tutustuminen. Kuvissa 4.1 ja 4.2 on esitetty karkean tason malli siitä, mitä nämä skenaariot pitävät sisällään:


Kuva 4.1 Tehtävän ratkaiseminen
 
 
 


kuva 4.2 Esimerkkiin tutustuminen

Kohdissa 4.3 ja 4.4 on käyty läpi oppilaan käyttöliittymän toimintoja tämän jaon pohjalta.
Seuraavassa käydään läpi oppilaan käyttöliittymän valikot.

4.2 Oppilaan käyttöliittymän valikot

Seuraavassa on esitetty oppilaan käyttöliittymän valikot:

FILE


Kuva 5. Oppilaan käyttöliittymän File-valikko

EDIT


Kuva 6. Oppilaan käyttöliittymän Edit-valikko

FORMAT


Kuva 7. Oppilaan käyttöliittymän Format-valikko

ANIMATOR


Kuva 8. Oppilaan käyttöliittymän Animator-valikko

HELP


Kuva 9. Oppilaan käyttöliittymän Help-valikko

 

4.3 Oppilaan käyttöliittymä - esimerkkeihin tutustuminen

Oppilaan kirjoittaduttua järjestelmään hän voi tilata esimerkin valitsemalla valikon "File" komennon "Open" ja valitsemalla haluamansa esimerkin avautuvassa dialogissa. Oppiaan käyttöliittymässä esimerkistä esitetään sen tehtävänanto, joitain tietorakenteiden esitysmuotoja sekä animaattori painikkeineen ja siihen liittyvä selityskenttä. Kuvassa 10.1 on esitetty tyypillinen esimerkkitehtävä:
 

Kuva 10.1 Tyypillinen esimerkkitehtävä
 

Animaattorin painikkeilla opiskelija voi selata esimerkin kuvaaman algoritmin toiminnan mukaista animaatiosekvenssiä eteen- ja taaksepäin siten, että tietorakenteiden tilat ja niissä tapahtuvat muutokset ovat selvästi havaittavissa. Samalla opiskelija saa kuhunkin animaatiosekvenssin askeleeseen mahdollisesti liittyvää lisäinformaatiota animaattorin alla olevasta "selityskentästä" (inforuutu).

Animaattorin painikkeet:

Begin: kelaa animaatiosekvenssin alkuun
Back: kelaa animaatiosekvenssiä yhden askeleen taaksepäin
Forward: kelaa animaatiosekvenssiä yhden askeleen eteenpäin
End: kelaa animaatiosekvenssin loppuun

Painikkeista Begin ja Back eivät ole toiminnallisia (ne on disabloitu), kun animaatiosekvenssi on alussa. Tällöin ko. painikkeet esitetään "häivytettyinä". Vastaavasti painikkeet Forward ja End eivät ole toiminnallisia, kun animaatiosekvenssi on lopussa. Animaattoripanelin painikkeita vastaavat komennot löytyvät myös valikosta "Player".

Yllämainittujen toimintojen lisäksi opiskelija voi muuttaa kirjasintyyppiä tai piirrettävien objektien kokoa valikosta "Format" komennoilla "Set font" ja "Set size". Tälöin aukeavista dialogeissa voi valita haluamansa arvot. Kaikki esimerkissä esitetty tekstit / objektit piirtyvät uuden arvon mukaisesti. Näin oppilaan on mahdollista erilaisissa ympäristöissä muokata esimerkkisivua havainnollisemmaksi, esimerkiksi pienentää objektien kokoa, jotta esimerkki mahtuisi piirtymään pienelle näytölle.

Kohdatessaan ongelmia oppilas voi hakea niihin vastauksia valikon "Help" komennolla "Contents" aukeavan dialogin avustuksella. Valitsemalla aihepiirin opiskelija voi lukea siihen liittyvää tietoa aukeavasta ikkunasta.

Halutessaan lopettaa esimerkkiin tutustumisen opiskelija voi "sulkea" esimerkin valikon "File" komennolla "Close". Tällöin esimerkki poistuu ikkunasta, ja sen "alla" ollut toinen esimerkki tai tehtävä (mikäli se on avattuna) "tulee näkyviin". Mikäli "alla" ei ole toista tehtävää tai esimerkkiä, työtila tyhjenee. Halutessaan lopettaa järjestelmän käytön oppilas valitsee valikon "File" komennon "Exit".

Edellä on kerrottu, miten opiskelija voi käyttöliittymässä:

Tilata esimerkkitehtäviä.
Tutustua esimerkkitehtävien ratkaisuun selaten ratkaisusekvenssiä animaattoripainikkeiden avulla.
Säätää esimerkin esittämisessä käytetyn kirjasintyyppiä ja objektien kokoa.
Hakea apua kohdatessaan ongelmia.
Sulkea esimerkkitehtävän
Lopettaa järjestelmän käytön

Mainittujen toimintojen lisäksi opiskelija voi käyttöliittymässä myös tilata ja suorittaa tehtäviä.
 

4.4 Oppilaan käyttöliittymä - tehtävien ratkaiseminen

Tehtävien tilaus tapahtuu samaan tapaan, kuin esimerkkien tilaus. Valitsemalla valikosta "File" komennon "Open" jälkeen avautuvasta dialogista haluamansa tehtävän, oppilas saa tehtävästä yksilöidyn version suoritettavakseen. Yksilöimisen suorittaa jokin TRAKLA-palvelimen algoritmi käyttäjäinformaation perusteella. (opintokirjan numero tms.)
Tyypillinen tehtävä voi näyttää hyvin samanlaiselta kuin jokin esimerkkikin (esim täysin kuvan 10.1 kaltainen tehtävä). Kaikki esimerkkien yhteydessä edellä esitetty toiminnallisuus pätee myös tehtävien kohdalla. Erona on se, että oppilaan on tarkoitus itse luoda tehtävänratkaisun animaatiosekvenssi. Tämä animaatiosekvenssi voidaan myöhemmin tallettaa oppilaan vastauksena annettuun tehtävään.

Oppilas voi tilata tehtävän edellä esitettyyn tapaan ("File" - > "Open" ja valinta dialogista). Tällöin TRAKLA-palvelin lähettää opiskelijalle yksilöllisen tehtävän oppilaan valitsemasta aihepiiristä. Tällä tarkoitetaan sitä, että tehtävänanto ja esitettyjen tietorakenteiden tyypit ja koot ovat kaikille opiskelijoille "samassa" tehtävässä samat. Tietorakenteiden sisältämät alkiot (avaimet) sen sijaan muodostetaan TRAKLA-palvelimella jonkin algoritmin mukaisesti kullekin oppilalle yksilöllisesti. Oppilaan saama tehtävä voi näyttää esimerkiksi seuraavanlaiselta:
 
 

Kuva 10.2 Tehtävä

Tehtävässä oppilaan on tarkoitus siirtää taulukon "Alkiot" alkioita kekoa kuvaavan binääripuun "Puu" solmuihin siten, että syntynyt puurakenne toteuttaa kekoehdon. Oppilaan tulee tehtävä suorittaakseen muodostaa tietorakenteita muokkaamalla ratkaisun animaatiosekvenssi, joka voidaan palauttaa vastauksena annettuun tehtävään. Tämä tietorakenteiden muokkaus suoritetaan graafisesti manipuloimalla ko.tietorakenteiden esitysmuotojen alkioita. Tässä tehtävässä tarkoitus on siirtää avaimia taulukon alkioista puun solmuihin. Kaikki tietorakenteiden muokkaus tehtävää ratkaistaessa tapahtuu niiden esitysmuotojen välityksellä.  Esimerkiksi hiirellä voidaan "tarttua" tehtävässä esitetyn taulukon alkioon ja "tiputtaa" se jonkin esitetyn puun solmuun.

Käyttöliittymässä tulee siis olla joitain toimintoja, jotka voidaan kohdistaa tietorakenteiden esitysmuotojen graafisiin alkioihin. Tällöin esitysmuodot "ilmoittavat" esittämilleen tietorakenteille käyttäjän manipuloineen niitä jollain tietyllä tavalla. Tietyn käyttöliittymäoperaation merkitys riippuu tietorakenteen tyypistä. Esitysmuodoissa määritellään semantiikka (merkitys) käyttöliittymän toiminnoille; esitysmuodoissa määritellään siis se mitä jokin tietty käyttöliittymän toiminto tarkoittaa kunkin tyyppisen tietorakenteen kohdalla. Jonkin oppilaan suorittaman operaation "etenemistä" järjestelmässä voidaan karkeasti kuvata seuraavalla rakenteella ja siihen liittyvällä esimerkillä:

Oppilas haluaa muokata tietorakennetta suorittaakseen tehtävän
->
oppilas suorittaa jonkin käyttöliittymäoperaation, joka kohdistuu ko. tietorakenteen esitysmuotoon
->
esitysmuoto määrittää suoritetulle käyttöliittymäoperaatiolle merkityksen (semantiikan) ja välittää sen kuvaamalleen tietorakenteelle
->
tietorakenne muuttuu
->
esitysmuodot piirtyvät uudelleen vastaamaan muuttunutta tietorakennetta
->
oppilas saa muuttuneiden esitysmuotojen kautta palautteen operaation tuloksista
->
Oppilas haluaa jatkaa tietorakenteen muokkausta suorittaakseen tehtävän
 

Esimerkiksi:

Oppilas haluaa siirtää taulukon "Alkiot" toisen alkion (A) puun "Puu" juurisolmuun (joka on "tyhjä"):
->
Oppilas "tarttuu" hiirellä taulukon toiseen alkioon (A),  "vetää" sen "Puu":n  juuren päälle ja "tiputtaa" alkion juurisolmuun (käyttöliittymäoperaatiot)
->
Keon esitysmuoto ("Puu") kertoo tietorakenteelle, että käyttäjä haluaa siirtää avaimen A keon (jota "Puu" kuvaa) "juureksi" (semantiikka)
->
Tietorakenne keko muuttuu, taulukko -tietorakenne (jota "Alkiot" kuvaa) muuttuu
->
Tietorakenteiden esitysmuodot muuttuu kuvaamaan muuttuneita tietorakenteita
->
Oppilas saa muuttuneiden esitysmuotojen kautta palautteen operaation tuloksesta (onnistumisesta)
->
Oppilas haluaa jotain muuta...
 

Opettajan laatiessa esimerkkien tehtävänannon mukaisia animaatiosekvenssejä esimerkiksi havainnollistaakseen jonkin algoritmin toimintaa,  manipuloi hän tietorakenteita täsmälleen samalla tavalla, kuin oppilas suorittaessan tehtäviään. Opettajalla ja oppilaalla on siis käytössä täsmälleen samat toiminnot tietorakenteiden muokkaamiseksi niiden esitysmuotojen välityksellä. Tarkemmin tästä on kerrottu Liitteessä 1. Tietorakenteiden muokkaus käyttöliittymissä.
Liitteessä on kuvattu myös käyttöliittymäoperaatiot ja hahmoteltu niitä vastaavaa esitysmuotojen toteuttamaa semantiikkaa tietorakenteiden muokkauksessa.
 

4.5 Opettajan käyttöliittymä


Opettajan käyttöliitymällä luodaan uusia tai muokataan olemassa olevia tehtäviä ja esimerkkejä. Näitä voidaan tallettaa palvelimelle ja ladata sieltä. Seuraavissa kuvissa on esitetty karkealla tasolla opettajan suorittamat toimenpiteet hänen laatiessaan tehtävää tai esimerkkiä.
 


 

Kuva 11.1 Tehtävän laatiminen
 

Esimerkki opettajan tehtävän laadinnasta on annettu kohdassa Liitteessä 3. Esimerkki: Tehtävän laadinta
 


 
 

Kuva 11.2 Esimerkin laatiminen

Esimerkki opettajan esimerkin laadinnasta on annettu Liitteessä 4. Esimerkki: Esimerkkitehtävän laadinta.
 

4.6 Opettajan käyttöliittymän valikot

Seuraavassa on esitetty opettajan käyttöliittymän valikot:

FILE


Kuva 12. Opettajan käyttöliittymän File-valikko

EDIT


Kuva 13. Opettajan käyttöliittymän Edit-valikko

INSERT


Kuva 14. Opettajan käyttöliittymän Insert-valikko


FORMAT


Kuva 15. Opettajan käyttöliittymän Format-valikko

ANIMATOR


Kuva 16. Opettajan käyttöliittymän Animator-valikko

HELP


Kuva 17. Opettajan käyttöliittymän Help-valikko

4.7 Toiminnot opettajan käyttöliittymässä

Opettajan käyttöliitymällä luodaan uusia tai muokataan olemassa olevia tehtäviä ja esimerkkejä. Opettajan luoman esimerkin voidaan ajatella koostuvan tehtävästä, ja sen esimerkkivastauksesta (animaatiosekvenssi). Esimerkin tehtävä-osa vastaa ulkoasultaan täysin "tavallista" tehtävää. Sen sijaan esimerkin tehtävä-osan luonti poikkeaa jossain määrin "tavallisen" tehtävän luonnista. Opettajan luodesa tehtäviä ja toisaalta esimerkkien tehtävä-osia työnkulku ja tarvittavat / käytössäolevat käyttöliittymän toiminnot siis eroavat jossain määrin toisistaan. Nämä eroavaisuudet liittyvät lähinnä tietorakenteiden luomiseen ja niiden muokkaukseen liittyvään toimintaan ja toiminallisuuteen. Lisää tästä on kerrottu kohdassa 4.9 Tietorakenteiden muokkaukseen liittyvä toiminallisuus opettajan käyttöliittymässä.  Sen sijaan tehtävien ja esimerkkien tehtävä-osien ulkoasun muokkaamiseen tarvittava toiminnallisuus on oleellisesti samankaltaista. Esimerkin animaatiosekvenssin luonti vastaa oppilaan tehtävänratkaisua; opettaja luo "mallivastauksen" esimerkin mukaiseen tehtävään. Tämän "mallivastauksen" selventämiseksi opettaja voi liittää siihen liittyviin ratkaisuaskeliin sanallista informaatiota.

Tehtävän ja esimerkin tehtävä-osan ulkoasun muokkaamiseen tarvittava toiminnallisuus on siis oleellisesti samankaltaista.
 

4.8 Tehtävän ja esimerkin ulkoasun muokkaukseen liittyvät toiminnot opettajan käyttöliittymässä.

Opettajan luodessa uutta tehtävää tai esimerkkiä hänellä on käytössään kaksi eri näkymää; "Design view", jossa tehtävää / esimerkkiä voi muokata ja "Students view", jossa tehtävää / esimerkkiä voi testata. Esimerkin laatimisen osalta "Student view" -näkymässä myös luodaan esimerkkitehtävän animaatiosekvenssi sekä sen askeliin liittyvä sanallinen informaatio (kun on tarkoitus  kuvata esim. jonkin algoritmin toimintaa).

4.8.1 Design-view

Seuraavassa tehtävällä tarkoitetaan paitsi opettajan luomaa varsinaista tehtävää, myös esimerkin tehtävä-osaa.

Tehtävien ulkoasua ja ryhmittelyä voidaan muokata jakamalla työtila vaaka- ja pystysuunnassa useampaan työtilaan, joita jatkossa kutsutaan paneleiksi. Kussakin panelissa on mahdollista esittää joko tekstiä tai tietorakenteiden esitysmuotoja. Nämä tietorakenteiden esitysmuodot kuvaavat aina jotain luotua fyysistä tietorakennetta. Tyypillisesti tehtävässä on yhdessä työtilassa esitetty  tehtävänanto tekstinä, toisessa jokin alkiolistana toimivan tietorakenteen esitysmuodon, sekä yksi tai useampia esitysmuotoja yhdelle tai useammalle tietorakenteelle, joita on tarkoitus tehtävässä muokata. Näiden lisäksi tehtävässä on usemmiten liitettynä animaattori-paneli, jonka painikkeilla oppilas (tai opettaja) voi "keleta" tehtävää suoritettaessa syntynyttä animaatiosekvenssiä eteen- ja taaksepäin. Seuraava kuva selventänee tätä:


 

Kuva 18. Tyypillinen tehtävä (Design view)
 

Pääosin opettajan tehtävien ulkoasun muokkaamiseen liittyvät toiminnot toteutetaan valikkokomentojen kautta. Opettajan käyttöliittymän valikot on kuvattu aiemmin tässä dokumentissa kohdassa 4.6 Opettajan käyttöliittymän valikot.
Seuraavassa on esitetty  tehtävien tekemisessä tarvittavia tehtävien ulkoasun muokkaukseen liittyviä toimintoja. Toimintojen yhteydessä on kuvattu myös niiden vaikutuksia järjestelmässä.

Termejä


Panelin (työtilan) valinta:

  1. napsautetaan hiirellä valittavan panelin sisäpuolella
  2. panelin korostus kuvaa valintaa

Panelin koon muokkaaminen

  1. Hiirellä vedä-ja tiputa toiminnolla; tartutaan hiirellä panelin reunaan, ja vedetään sitä haluttuun kohtaan.
  2. panelin koko muuttuu

Tekstin liittäminen paneliin:

  1. (paneli valittu)
  2. valitaan Insert-valikosta:  Data stucture-> Text
  3. valittuun paneliin voidaan kirjoittaa ja siinä voidaan editoida tekstiä (Edit valikko)

Tietorakenteen lisääminen paneliin

  1. (paneli valittu)
  2. valitaan Insert-valikosta DataStructure ja valitaan lisättävä tietorakenne
  3. tietorakenne piirtyy ikkunaan oletus-esitysmuodossaan

     TAI

  1. valitaan Insert-valikosta DataStructure ja valitaan lisättävä tietorakenne
  2. valitaan hiirellä paikka työtilasta
  3. tietorakenne piirtyy ikkunaan oletus-esitysmuodossaan

Panelin poistaminen

  1. (paneli valittu)
  2. valitaan Edit-valikosta Delete tai painetaan näppäimistön Delete-näppäintä
  3. Paneli poistuu

Esitysmuodon muuttaminen

  1. (jokin tietorakennetta esittävän esitysmuodon sisältämä paneli valittu)
  2. valitaan Format-valikosta Change Representation
  3. valitaan alivalikkolistasta haluttu esitysmuoto
  4. paneliin piirretään uusi tietorakennetta kuvaava esitysmuoto

Esitysmuodon lisääminen

  1. (jokin tietorakennetta esittävän esitysmuodon sisältämä paneli valittu)
  2. valitaan Insert-valikosta Representation
  3. osoitetaan hiirellä paneli, johon esitysmuoto halutaan lisätä TAI (mikäli panelia ei ollut valittu)
  4. osoitetaan hiirellä työtilan paikka, johon esitysmuoto halutaan lisätä
  5. paneliin piirretään uusi tietorakennetta kuvaava esitysmuoto
Esitysmuodon poistaminen

        Poistamalla esitysmuodon sisältävä paneli (katso Panelin poisto)

Tietorakenteen poistaminen

       Poistamalla kaikki panelit, joissa esitettynä tietorakennetta kuvaava esitysmuoto (katso Panelin poisto)

Animaatorin käyttöpanelin lisääminen

  1. (paneli valittu)
  2. valitaan Player-valikosta Insert animator panel TAI (mikäli panelia ei ollut valittu)
  3. osoitetaan hiirellä työtilan paikka, johon animaattorin käyttöpaneli halutaan lisätä
  4. paneliin (työtilaan) piirretään animaattorin käyttöpaneli
Animaattorin käyttöpanelin poistaminen

     Poistamalla animaattorin käyttöpanelin sisältävä paneli (katso Panelin poisto)
 

Edellä kuvatuilla toiminnoilla opettaja muokkaa tehtävän (ja esimerkin sisältämän tehtävä-osan) ulkoasua.
Ulkoasun lisäksi hänen tulee (useimmiten)  myös alustaa tietorakenteiden alkutiloja ja muokata niitä.
Tästä on kerrottu lisää luvussa 4.9 Tietorakenteiden muokkaukseen liittyvät toiminnot opettajan käyttöliittymässä.
Ennen tätä käydään vielä läpi, miten opettaja voi testata laatimiaan tehtäviä ja tuottaa esimerkitehtävien malliratkaisujen animaatiosekvenssit.

4.8.2 Student view

Opettajan luotua uuden tehtävän hän haluaa mahdollisesti "testata" sen toimintaa. Lisäksi luodessaan esimerkkiä hän haluaa yleensä tuottaa esimerkin tehtävä-osaan mallivastauksen animaatiosekvenssin ja sen askeliin liittyvää informaatiota, joita oppilas voi omalla käyttöliittymällään myöhemmin "kelata" tutustuessaan esimerkkiin. Näitä tarkoituksia varten opettajan käyttöliittymässä on "Student view" -näkymä. Tehtäviä laadittaessa "Student view" on tavallaan kopio oppilaan käyttöliittymästä (Kuva 19) Esimerkkejä laadittaessa näkymä on myös hyvin samankaltainen kuin oppilaan käyttöliittymä; ainoana erona on animaattorin käyttöpanelin monipuolisempi toiminnallisuus, ja siihen esimerkkien laatimisen yhteydessä liittyvä "tekstipaneli", johon opettaja liittää esim. esimerkissä kuvattavan algoritmin toimintaan liittyvää lisätietoa.

 Alla oleva kuva esimerkin laatimisessa käytössä olevasta "Student view" -näkymästä selventänee asiaa:

Kuva 19 Student view -näkymä.

Ainoana erona oppilaan käyttöliittymään "Student view" -näkymässä on ylimääräinen animaattoripainikke. Opettajalla on käytössään "selaus" (begin, end, forward, back, play) -animaattoripainikkeiden lisäksi painike "Delete", joka poistaa "esilläolevan" askelen animaatiosekvenssistä.Toiminnon tarkoituksena on mahdollistaa esimerkkiratkaisuiksi tuotettavien animaatiosekvenssien editointi.

Animaatiosekvenssin luominen tässä "Student view" -näkymässä on käyty havainnollisesti läpi liitteessä 4.
Animaatiosekvenssin luomiseksi opettaja manipuloi tietorakenteita niiden esitysmuotojen välityksellä. Tästä on kerrottu kohdassa 4.9.4 Esimerkkitehtävät - animaatiosekvenssi sekä liitteessä 1.

4.9 Tietorakenteiden muokkaukseen liittyvät toiminnot opettajan käyttöliittymässä.

OLIO-TRAKLA -järjestelmän tehtävänannot ja esimerkit sisältävät erilaisia tietorakenteiden esitysmuotoja. Näiden esitysmuotojen taustalla ovat varsiaiset fyysiset tietorakenteet. Nämä tietorakenteet ja niiden erilaiset esitysmuodot opettaja luo tehdessään uutta tehtävää tai esimerkkiä.

Tehtävien osalta opettaja ei alusta tietorakenteen alkioita; ne alustuvat jonkin algoritmin mukaisesti oppilaan tilatessa tehtävän . Näin jokaiselle oppilalle kyetään "jakamaan" yksilöllisiä tehtäviä. Esimerkkitehtävien osalta tilanne on toinen. Opettaja haluaa kaikkien oppilaiden saavan  tutkittavaksi saman tietorakenteen. Tällöin on mahdollista liittää esimerkin animaatiosekvenssiin yksityiskohtaista informaatiota esim. havainnollistettavan algoritmin toiminnasta (esim. alkio A siirtyy taulukosta "Alkiot" puun "Puu" vasempaan alipuuhun B:n vasemmaksi lapseksi...).
 

4.9.1 Tehtävät

Kun opettaja luo järjestelmään uutta tehtävää, hän liittää siihen mahdollisesti yhden tai useampia tietorakenteita.
Tietorakenteen lisäämiseksi opettaja valitsee haluamansa tietorakenteen valikosta ("Insert" -> "Data structure"). Tällöin aukeaa dialogi, jossa määritellään tietorakenteen nimi, koko ja käytettävä alkiotyyppi.

Dialogin sulkemisen jälkeen valintojen mukainen tietorakennetta kuvaava esitysmuoto piirtyy aiemmin valittuun paneliin taikka hiirellä osoitettavaan paikkaan työtilaa.

Näin opettaja luo tehtävään tarvittavat tietorakenteet esitysmuotoineen. Tyypillinen tehtäväsivu sisältää jonkin alkiolistana toimivan tietorakenteen esitysmuodon sekä yhden tai useamman "tyhjän" toisia tietorakenteita kuvaavia esitysmuotoja, joihin oppilas tehtävää ratkaistessaan siirtää alkiolistan alkioita. Tehtävää laatiessaan opettaja muokkaa tietorakenteita vain mainitun dialogin kautta.  Tietorakenteiden esitysmuodot eivät tarjoa tällöin toiminnallisuutta tietorakenteiden muokkaukseen.

4.9.2 Esimerkkitehtävät

Esimerkkitehtävien voidaan ajatella koostuvan tehtävänannosta ja siihen mallivastauksen antavasta animaatiosekvenssistä. Seuraavassa on käyty läpi esimerkkitehtävän laadintaan tarvittavia toimintoja tämän jaon pohjalta.
 

4.9.3 Esimerkkitehtävät- tehtävänanto


Opettaja luo esimerkkitehtävän tehtävänannon lähes samaan tapaan, kuin tavallisen tehtävän. Hän haluaa kuitenkin alustaa alkiolistana toimivan tietorakenteen sisältämään haluamansa alkiot, jotta esimerkkitehtävä olisi jokaiselle oppilalle sama, ja siten mahdollistaa yksityiskohtaisen sanallisen lisäinformaation liittämisen luotavaan animaatiosekvenssiin. Tietorarenteet esitysmuotoineen luodaan täsmälleen samaan tapaan kuin tehtävää laadittaessa. Tietorakenteiden alustus tapahtuu näiden dialogista (kohta 4.8.1) valittujen esitysmuotojen kautta seuraavaan tapaan:

    1. Valitaan hiirellä esitysmuodon alkio, kursori ilmestyy alkion sisään /vierelle (Puun tai verkon solmu, listan alkio...).
    2. Syötetään valittuun alkioon sisältö näppäimistöltä (Yleensä kirjain tai numero).

Tietorakennetta voi alustuksen jälkeen muokata seuraavaan tapaan:

    1. Valitaan hiirellä esitysmuodon alkio, kursori ilmestyy alkion sisään /vierelle
    2. Poistetaan näppäimistön Del-painikkeella valitun alkion sisältö
    3. Syötetään valittuun alkioon uusi sisältö näppäimistöltä.
 

Muuta tietorakenteiden muokkaamiseen liittyvää toiminnallisuutta opettaja ei tarvise luodakseen esimerkkitehtävän alkutilan. Tehtävänannon lisäksi esimerkkitehtävään liittyy tämän tehtävänannon "mallivastauksen" toteuttava animaatiosekvenssi.
 

4.9.4 Esimerkkitehtävät - animaatiosekvenssi

Muodostaessaan animaatiosekvenssiä havainnollistamaan esim. jonkin algoritmin toimintaa opettaja suorittaa esimerkin tehtävänannon mukaisen tehtävän luoden  näin malliratkaisun kyseiseen tehtävään. Samalla hän voi kirjoittaa muokkauksen askeliin siirtoja koskevaa informaatiota tarkoitusta varten varattuun paneliin. Tämä paneli avautuu / tyhjenee automaattisesti aina uuden animaatioaskeleen synnyttyä; siihen voi tällöin kirjoittaa askeleeseen liittyvää informaatiota.

Malliratkaisun animaatiosekvenssin tuottamiseksi opettajan tulee pystyä mm. siirtämään alkioita tietorakenteesta toiseen, merkitsemään (läpikäynti binääripuussa) tai valitsemaan (verkon virityspuuhun) niitä. Tarvittava toiminnallisuus on oleellisesti samanlaista, mitä oppilas tarvitsee ratkaistessaan tehtäviä. Kaikki tietorakenteiden muokkaus animaatiosekvenssien luomiseksi ja tehtävien ratkaisemiseksi tapahtuu niiden esitysmuotojen kautta. Tarkemmin aiheesta on kerrottu Liitteessä 1. Tietorakenteiden muokkaus käyttöliittymissä.
Liitteessä 4 on esitetty havainnollisesti, miten esimerkkitehtävän animaatiosekvenssi luodaan.
 

Kirjallisuusviitteet

[1] Opeta itsellesi Java ohjelmointi, Petri Kiuttu - Juha Niemi, Suomen ATK kustannus, 1996
[2] Data Structures and Algorithm Analysis in C, Mark Allen Weiss, 1992
[3] Design Patterns, Elements of Reusable Object-Oriented Software, Gamma - Helm - Johnson - Vlissides, Addison-Wesley, 1997