I det här kapitlet diskuteras resultatet av examensarbetet. Saker som tas upp är val av lösningsmetod, om andra metoder kunde ha tillämpats och slutsats med avseende på problemformulering.
6.1 Slutsatser med avseende på problemformulering
”Kan man tillverka en produkt som fångar studenternas intresse och som på ett pedagogiskt sätt utvecklar deras kunskap i linjär algebra direkt via en hemsida på internet?”
En fungerande lösning till denna problemformulering har tillämpats genom att ett antal applikationer har utvecklats. Med hjälp av datorgrafik kan applikationerna visualisera och animera moment i linjär algebra. Användaren kan på ett interaktivt sätt genom att använda mus och tangentbord svara på frågor, lösa uppgifter och titta på teoriexempel. Applikationerna startas direkt via hemsidan för webbhjälp i linjär algebra parallellt med att studenter löser uppgifterna där.
Applikationerna är kompatibla med alla ledande operativsystem och webbläsare vilket gör att de är lättåtkomliga för studenter. Mycket arbete har lagts på att göra programmen lättanvända och pedagogiska. Det går att konstatera att de grundläggande mål som sattes upp för examensarbetet är uppfyllda.
6.2 Varför JOGL?
För att utveckla applikationerna användes Java och OpenGL. Ett annat väldigt smidigt sätt att visualisera något grafiskt på webben är med hjälp av Macromedia Flash. Flash fungerar också på alla operativsystem och är väldigt populärt för implementering av grafik på webben. Anledningen till varför Flash inte användes till detta projekt är att det är ett helt annat sätt att utveckla på. För att skapa de två önskevärda versionerna av programmet (den nuvarande versionen och en java applet version) skulle projektets längd fördubblas. En java applet version kan nu relativt snabbt utvecklas då den största delen av koden är densamma som redan har skrivits i den färdiga versionen. Vidare är det onödigt att ha en Flash version av applikationerna då dess funktionalitet och fördelar inte skiljer sig från en java applet version.
Java valdes som programmeringsspråk av flera anledningar. Program som programmeras i Java blir plattformsoberoende och det var ett av grundkraven för detta projekt. Dessutom har javaprogram bra webbstöd i form av Java Web Start och java applets vilket är till stor fördel vid publicering av arbetet. Vidare var det väldigt smidigt att använda de API som finns inbyggda i Java, Swing och AWT, till att skapa gränssnittet för applikationerna och försäkra sig om att de kommer att se likadana ut på alla operativsystem.
För att skapa själva visualiseringen användes OpenGL. Genom att använda datorgrafik uppnåddes resultat som inte hade varit möjliga på något annat sätt. Dessutom så läser många av studenterna som ingår i målgruppen datorgrafik vilket
av applikationerna. När man programmerar med OpenGL och datorgrafik i allmänhet, finns linjär algebra konstant i bakhuvudet. Linjär algebra och just projektion används för att beräkna position och koordinater för olika objekt i en given scen. Matrismultiplikation är grunden för alla förflyttningar och rotationer och programmeraren befinner sig konstant i en två eller tre dimensionell värld och dess koordinatsystem.
På grund av alla dessa egenskaper kändes JOGL som ett självklart val för utveckling av detta projekt.
6.3 Diskussion av designvalet
Istället för att skapa ett stort program som täcker alla de önskade moment i linjär algebra, valdes det att utveckla nio mindre applikationer. Anledningen till detta är att applikationerna produkten på så sätt kan vara mycket mer specialiserat på valda delar av kursen. En mindre applikation kan till exempel höra ihop med en viss uppgift eller exempel i kurslitteraturen och specialisera sig på att förbättra förståelsen för just det lilla momentet. Detta är väldigt svårt att uppnå med ett större mer generellt program. Dessutom är en större applikation mer omständlig att starta och komma igång med vilket inte är en fördel då varje gång behövs anpassas efter användarens behov.
6.4 Prototyparbete
Eftersom projektet var något nytt för alla inblandade var prototyper grunden för idéframställning av allt som utvecklades. Prototyparbetet var den stora skillnaden mellan vår utvecklingsmetod och den typiska vattenfallsmodellen.
För varje applikation skapades först en prototyp. Innan den slutgiltiga versionen utvecklades var det viktigt att prototypen testades, inte enbart av den utvalda testpanelen utan alla inblandade. En prototyp gav möjligheter att tidigt upptäcka fel i programmet och även chansen att korrigera eventuella missnöjen. Det var inte ovanligt att en helt annan väg valdes med en applikation efter en redovisning av dess prototyp. Om en prototyp bidrar till att det uppstår mycket ändringar kan man konstatera att prototypen har varit lyckad.
6.5 Idéer och förslag på vidareutveckling av programmet
Nu när projektet är färdigt och grunden för programmet som ska underlätta inlärning av linjär algebra är skapad, finns det mycket som ska förbättras och vidareutvecklas.
Som det tidigare nämndes är en java applet version av programmen väldigt eftertraktad och blir troligtvis en av det första som tillämpas i framtiden. Mycket av feedbacken som kom från testarna handlade om en java applet version. Apple har släppt deras motsvarande javauppdatering som möjliggör tillverkning av java applets där JOGL används.
Det finns också intresse att implementera tal i applikationerna. Genom att spela upp en förklarande röst som spelas in av till exempel en föreläsare, förstärks pedagogiken ytterligare. Användaren skulle kunna välja att ha ljudet på eller av
beroende på behov och mycket paralleller skulle kunna dras med exempelvis föreläsningar. Ljud är dessutom relativt enkelt att implementera i en javaapplikation. Programmets knappar och menyer är skrivna på engelska vilket gör det väldigt lätt att utveckla en mer internationell version. Många som studerar i Sverige idag kommer från andra länder och pratar inte svenska så det är inte helt omöjligt att kursen en dag kan komma att ges på engelska. Dessutom kan det vara intressant att kanske någon gång i framtiden utöka samarbetet som finns mellan Linköpings Universitet och Kungliga Tekniska Högskolan med andra universitet exempelvis i Europa och då blir en engelsk version av produkten nödvändig.
En av studenterna som ingick i testpanelen för applikationerna föreslog att liknande program skulle kunna utvecklas även för andra matematikkurser som exempelvis Envariabelsanalys och Flervariabelsanalys. Detta var ett väldigt bra förslag som skulle kunna förverkligas genom att använda skalet till programmen som skapades i detta projekt.