Sborník soutěžních prací České a Slovenské národní finále Imagine Cup 2007, kategorie Software Design 4. 7. 2007
Budova Ministerstva školství, mládeže a tělovýchovy České republiky, Karmelitská 8, 118 12 Praha 1 Organizováno pod záštitou ministryně školství, mládeže a tělovýchovy České republiky, paní Dany Kuchtové.
Sponzoři
IMAGINE CUP 2007 |
IMAGINE CUP 2007 |
Jsem ráda, že můžu na půdě Ministerstva školství, mládeže a tělovýchovy přivítat studenty, kteří se rozhodli aktivně přistoupit ke svému vzdělání a svému osobnímu rozvoji a zapojili se do soutěže Imagine Cup. Velmi oceňuji podobné soutěže a projekty, které vedou studenty k samostatnosti, k přemýšlení nad praktickou aplikací toho, co se během svého studia naučí, které pomáhají studentům rozvíjet jejich potenciál. Takoví studenti jsou mnohem lépe připraveni pro praxi a jsou zárukou toho, že Česká republika směřuje ke společnosti založené na znalostech. Doufám, že svým příkladem motivují do budoucna více svých spolužáků a že jejich budoucí úspěch motivuje i další firmy působící v České republice, aby se aktivně zapojili do spolupráce se vzdělávacím sektorem a pomohly nám vychovat více talentovaných odborníků, kteří pomůžou rozvoji celé České republiky.
Mgr. Dana Kuchtová Ministryně školství, mládeže a tělovýchovy České republiky
IMAGINE CUP 2007 |
Microsoft Imagine Cup hledá způsob, jak zpřístupnit kvalitní vzdělání všem Microsoft pomáhá studentům po celém světě uskutečnit sny z oblasti využití moderních informačních technologií ve skutečném životě Tento rok již po čtvrté byl v České republice a na Slovensku vyhlášen nový ročníku studentské soutěže Imagine Cup, která podněcuje studenty k hledání netradičních postupů a technologií s cílem zlepšit kvalitu lidského života. Ročník 2007 nese téma: „Představte si svět, v němž technologie zpřístupňují vzdělávání všem.“ Registrovaní účastníci se s mezinárodní konkurencí utkají prostřednictvím internetu. Soutěžní projekty bude v několika stupních hodnotit odborná komise. Její členové nejprve vyberou nejlepší projekty podle jednotlivých regionů. Tyto návrhy potom bude porota porovnávat na mezinárodní úrovni a vybere z nich finalisty, kteří se osobně zúčastní celosvětového finále v jihokorejském Soulu. Výjimku tvoří kategorie Softwarový návrh, která probíhá za osobní účasti řešitelů a vítězové lokálních kol postoupí přímo do Soulu. Nejlepší softwarový návrh bude také oceněn vyšší částkou než ostatní disciplíny, vítěze čeká odměna 25 000 dolarů. Vítězové ostatních kategorií obdrží finanční ocenění ve výši 8 000 amerických dolarů. Odměnou všem účastníkům jsou cenné zkušenosti z vývoje nových řešení a zvýšení jejich hodnoty a možnosti uplatnění na trhu práce, které s sebou úspěšná účast v soutěží Imagine Cup nese. Soutěž Imagine Cup Microsoft poprvé vyhlásil před čtyřmi lety. Počet doposud registrovaných účastníků, kteří pocházejí z více než 100 zemí světa, přesahuje hranici 100 000. Loňský ročník byl úspěšný i pro české studenty, kteří zaujali svým navigačním systémem pro nevidomé a zrakově postižené. Jejich řešení využívalo technologii RFID a kapesního počítače s operačním systémem Windows Mobile pro usnadnění orientace nevidomých v neznámém prostředí. Soutěž Imagine Cup probíhá v následujících kategoriích, z nichž některé probíhají až do finále on-line způsobem: Technologické řešení • Softwarový návrh – vyžaduje od studentů technické znalosti a kreativitu při návrhu softwarového řešení aktuálního problému. Studenti musejí přijít s nápadem, na jeho základě vytvořit projekt a realizovat celý vývojový proces. Soutěžní návrhy hodnotí odborná porota podle stupně inovace, dopadu na cílovou skupinu a celkové efektivity. Této kategorie se soutěžící účastní osobně a z regionálního kola postupují přímo do celosvětového finále v Soulu. • Embedded vývoj – účastníci v této kategorii mají vyvinout funkční prototyp integrovaného zařízení s operačním systémem Windows CE, které bude možné využít k naplnění tématu letošního ročníku soutěže Imagine Cup. • Webový vývoj – úkolem pro studenty je vytvořit pomocí technologie ASP.NET inovativní vzdělávací web, který umožní přístup ke vzdělávání každému zájemci s připojením k internetu. Znalostní soutěže • Projekt Hoshimi – programátorský souboj, ve kterém se soutěžící snaží co nejrychleji naprogramovat chování a strategii předem specifikovaných postav v počítačové hře. • Informační technologie – kategorie, která ověřuje znalosti studentů v oblasti síťových, serverových a databázových technologií a schopnosti reálné analýzy a strategického rozhodování v IT prostředí. • Algoritmy – v této kategorii studenti soutěží v řešení logických problémů, algoritmických hlavolamů a programování.
IMAGINE CUP 2007 |
Digitální umění • Fotografie – Prostřednictvím digitální fotografie jako jediného komunikačního prostředku mají účastníci soutěže vyprávět příběh z oblast školství a vzdělávání s cílem vyprovokovat dialog s publikem. • Krátký film – účastníci soutěže mají za úkol napsat scénář, natočit jej a sestříhat natočený materiál do podoby krátkometrážního filmu věnovaného aktuálnímu tématu soutěže Imagine Cup. • Interface dizajnér – úkolem této kategorie je motivovat studenty k vytvoření novátorského uživatelského rozhraní, které bude splňovat ergonomické požadavky a zároveň bude efektivní a vizuálně atraktivní. Dalibor Kačmář Academic Developer Evangelist, Microsoft Česká republika
IMAGINE CUP 2007 |
České a Slovenské národní finále Imagine Cup 2007, kategorie Software Design Soutěžní práce VUT Brno (Silent Books)
10
CommuniVision (CommuniVision)
14
Caffeine2Code (S.M.I.L.E)
19
IGraCzech (IGraCzech)
26
Tabule (COMBO)
31
Planetary team (Program o sluneční soustavě)
35
Resharpers (Omega)
39
QuestionOf42 (Universal Learning Studio)
45
IMAGINE CUP 2007 |
Odborná komise soutěže Prof. Ing. Stojan Russev Ph.D., Ekonomická universita Bratislava Doc. RNDr. Petr Šaloun Ph.D., Ostravská univerzita Roman Russev, Microsoft Slovakia Pavel Matocha, Týdeník Euro Filip Gottwald, ATLAS.CZ, a.s. Tomáš Bobek, CÍGLER SOFTWARE, a.s. Monika Gáliková, Deník SME
IMAGINE CUP 2007 |
IMAGINE CUP 2007 | 10
KATEGORIE: SOFTWARE DESIGN | Silent Books |
Silent Books Tým Škola Mentor Řešitelé
VUT Brno Vysoké učení technické v Brně, Fakulta informačních technologií Smrž Pavel, doc. RNDr., Ph.D. Aleš Šturala
Projekt Silent Books má za cíl neslyšícím osobám poskytnout informace ve znakové řeči.
Proč? Znaková řeč je nativím jazykem takto postižených lidí. První jazyk, který se naučí je právě znaková řeč. Námi používaný jazyk jako například čeština je pro ně jazyk umělý, tito lidé nemůžou kvůli svému postižení tímto jazykem komunikovat, slova jsou pro ně pouze posloupnost znaků, jejichž zvukovou podobu narozdíl od zdravých lidí neznají což to je dosti podstatný problém, pokud se neslyšící lidé učí český nebo jiný mluvený jazyk. Projekt Silent Books si klade za cíl poskytnout neslyšícím lidem informace v pro ně nativním formátu což je velice důležité. Ve školách, kde neslyšící děti nedokážou přijímat informace ve formátu jiném než je právě znaková řeč, může tento projekt velice pomoci žákům při výuce. Problém je, že pokud tito lidé můžou komunikovat pouze v podobě gest, nemůžou si dané informace zaznamenat, odnést a studovat například doma.
Řešení všech výše nastíněných problémů si klade za cíl projekt Silent Books. Silent Books využívá moderní počítačové technologie, pomocí kterých se snaží poskytnout informace ve znakové řeči – graficky, v podobě gest. Výsledkem celého projektu je postava, renderovaný 3D model, který za použití skeletální animace ovládá znakovou řeč. Jak to funguje? Silent Books je projekt skládající se ze 3 propojených aplikací. • Silent Book Player (PPC) • Silent Book Creator • Sign Creator
IMAGINE CUP 2007 | 11
KATEGORIE: SOFTWARE DESIGN | Silent Books |
Silent Book Player (PPC) Cílem celého projektu je aplikace přehrávající informace ve znakové řeči na Pocket PC s Windows Mobile 5. Sluchově postižená osoba dostane Pocket PC s nainstalovanou aplikací Silent Book Player. Tuto aplikaci můžeme přirovnat k elektronické knize, kam si uživatel nejdříve nahraje data „knihy“ (prakticky se jedná o data popisující jednotlivé animace), kterou si může následně „přečíst“ ve znakové řeči. Jako v každé knize jsou i zde „informace“ rozděleny do kapitol, takže uživatel si může nechat přehrát jen vybranou část, animaci může volně posunovat, pouštět nebo naopak zastavit. K dispozici má také znakovaný text. Jak se vytvářejí knihy?
Silent Book Creator Pro vytváření „knih“ ve znakové řeči slouží aplikace Silent Book Creator. Jedná se o jednoduchou aplikaci, kde se skládají jednotlivé znaky (znak = animace reprezentující slovo) za sebe tvořící ucelenou animaci – znakovou řeč. Znak je pohyb rukou, který reprezentuje slovo nebo slovní spojení, jedná se o jednu animaci modelu a v tomto programu Silent Book Creator tyto animace skládáme za sebe... kde ale animace reprezentující jednotlivá slova získáme?
Sign Creator V této aplikaci můžeme animovat model a ukládat tyto animace do XML formátu nebo exportovat do databáze. V této aplikaci se tedy vytváří animace jednotlivých znaků, se kterými se pracuje ve výše uvedených aplikacích. Celá aplikace je přizpůsobená pro vytváření slov ve znakové řeči aby doba vytvoření znaku byla co nejkratší. Použité technologie Renderování celé postavy zajišťuje Direct3D, jedná se o profesionální pokročilou technologii používanou zejména ve hrách. Pohyb modelu je řešen skeletální animací, která zajišťuje hladký a bezproblémový pohyb. Windows aplikace jsou napsané ve Windows Presentation Foundation a pro práci s databází byla použita technologie Linq. Znaky vytvořené v aplikaci Sign Creator exportuje data do databáze SQL Server 2005 nebo do XML formátu. K této databázi je připojena také aplikace Silent Book Creator, která z této databáze jednotlivé znaky načítá a zpracovává do jedné velké animace.
IMAGINE CUP 2007 | 12
KATEGORIE: SOFTWARE DESIGN | Silent Books |
Silent Book Creator, Sign Creator • • • • •
.NET Framework 3.0 (Windows Presentation Foundation, C#) Managed DirectX 9.0 Web service SQL Server 2005 Linq
Silent Book (Pocket PC) • •
.NET Compact Framework Managed Direct3D Mobile
IMAGINE CUP 2007 | 13
KATEGORIE: SOFTWARE DESIGN | Communivision |
Communivision Tým Škola Mentor Řešitelé
Communivision Hradec Králové Mgr. Čeněk Kodejška Tomáš Slavíček, Csaba Botoš
Shrnutí: Na světě je mnoho vyspělých zemí s rozvinutou společností a dobrým sociálním zázemím. Přesto se odhaduje, že téměř miliarda lidí žije na pokraji chudoby, hodně dětí má špatný přístup ke vzdělání. Rozmach internetu v posledních letech umožnil mnoha zemím připojení do celosvětové sítě. Není ale pravidlem, že by jeho možností využívala každá škola pro efektivní výuku všech dětí. Náš projekt si klade za cíl být globálním systémem umožňujícím moderní vyučování dětí za pomoci počítačů. Styl práce s programem připomíná spíše hru. Přehledně navržená aplikace, příjemné barvy prostředí a jednoznačné ovládací prvky. Každé dítě má svoji virtuální osobnost, s vlastní fotografií, zálibami. Cílem je zahrnutí systému do školní výuky. Zaměřuje se na výuku na základní škole, hlavně na prvním stupni. Snaha je, aby každé dítě mělo několikrát týdně přístup k vlastnímu počítači v počítačové učebně. Aplikace využívá možnosti vzájemné komunikace, spolupráce při řešení problému. Děti mohou být rozděleny do dvou týmů, čehož lze využít k motivaci při řešení úloh a hraní logických her. Programy na klientských počítačích přehledně zobrazují všechny kamarády a jejich pozice na malých Zeměkoulích. Umožňují textovou komunikaci nebo zvukový konferenční hovor. Hlavní síla spočívá v dodatečných modulech stahovaných z učitelského serveru. Rozdělené do několika kategorií umožňují spustit týmové deskové hry, logické hry nebo speciální miniaplikace jako například kreslící tabuli, sdílený poznámkový blok nebo mapový software. Díky dokumentovanému rozhraní není problém přidat další moduly, například pro výuku konkrétních předmětů. S využitím navržené sítě serverových počítačů lze komunikovat nejen s přáteli z dané třídy, ale s lidmi z celého světa. Vyhledávat lze zadáním klíčových slov nebo procházením stromové struktury zemí, škol a tříd. Studentské aplikace jsou vždy lokalizované do jazyka dané země, je také umožněna textová komunikace s automatickým překladem. Systém dokumentovaných protokolů umožňuje vytvoření vlastní nadstavby. Popis klientské aplikace: S klientskou aplikací přicházejí do styku žáci, proto bylo jejímu návrhu věnováno hodně času. Grafika byla nakreslena a rozřezána v grafickém softwaru Adobe Photoshop. V programu se využívá průhlednosti formátu png24 při vykreslování pomocí GDI+. S využitím double bufferingu je obnovování svižné i na starších počítačích. Technologie byla takto zvolena právě s přihlédnutím na výkonnost aplikace na pomalejších strojích. Naprogramována je, stejně jako zbytek systému, v jazyce C# s využitím.NET Frameworku 2.0. Vytvořili jsme několik nových ovládacích prvků, specifických pro tento projekt. Po startu nás uvítá obrazovka s možností nastavení profilu. Umožňuje grafickou úpravu kartičky uživatele, jako nastavení fotografie, barvy okraje atd. Vyplníme si naše jméno, zobrazovanou přezdívku, věk, pohlaví a případně záliby. Napíšeme světové jazyky, které ovládáme. Z nabízených možností si vybereme zemi, kde právě jsme, v ukázaném okně upřesníme naši pozici GPS. Do stejného dialogu se také můžeme dostat kliknutím na souřadnice naší polohy. Jako poslední si zvolíme, ve kterém chceme být týmu, vidíme, jak se dole změnila barva celého panelu. Při příštím spuštění už nebudeme muset nic vybírat, nastavení se ukládá do XML souboru a na server. Můžeme také tlačítkem „Já jsem někdo jiný“ zvolit načtení profilu jiného uživatele. Rozdělení žáků do týmů může udělat i učitel na dálku. IMAGINE CUP 2007 | 14
KATEGORIE: SOFTWARE DESIGN | Communivision | Přepnutím horní záložky se dostaneme k nastavení aplikace. Několika zaškrtávacími tlačítky si můžeme zapnout nebo vypnout zvuky aplikace, efekty stmívání oken nebo nastavit, co všechno se bude zobrazovat po startu (úvodní dialog, panel komunikace a informace od učitele). Program můžeme zobrazit na celou obrazovku, stejně jako pod heslem zakázat přepnutí se do Windows či nechtěné vypnutí aplikace. Jako hlavní ovládací prvek pro zobrazování dialogů slouží levý panel s několika ikonami. Od spodu první dvě slouží právě k editaci profilu a nastavení počítače. Kliknutí na třetí vyvolá okno pro hledání a přidání dalších uživatelů. Jeho dominantou je textové pole pro vyhledání lidí podle klíčových slov a velká plocha zobrazující stromovou strukturu dostupných škol a tříd v jednotlivých zemích. Tyto informace načítá aplikace z učitelského serveru, který si udržuje seznam ostatních dostupných škol. Malými ikonami je znázorněn typ uzlu, v závorce je u každého zobrazen počet žáků v dané zemi, městě, škole, třídě. Vybráním konkrétní skupiny vidíme seznam žáků, o každém si můžeme kliknutím zobrazit jeho informace. Několika tlačítky lze přidávat jednotlivé lidi do týmů, nebo si načíst celou skupinu. Druhá ikona od shora nabídne přidání další funkční komponenty do programu. V levém sloupci zobrazeného okna lze vybrat z několika kategorií – her, kvízů a ostatních miniaplikací. Přesné rozdělení, stejně jako podrobný rozbor jejich funkce, bude ještě popsán. Po kliknutí na skupinu se v pravé části okna zobrazí nabídka dostupných modulů, vybráním je můžeme načíst do aplikace a ihned používat. Poslední ikona zobrazí okno s několika záložkami, s aktuálními informacemi od učitele, hlavní nápovědou k ovládání programu a údajem o autorech. Texty jsou ve formátu „rich text file“, takže obsahují barevně odlišené nadpisy atd. Nápověda je obdobou souboru readme.rtf pro klientskou aplikaci. Klientská aplikace krátce po spuštění, zobrazen dialog editace profilu:
Pevně zahrnuté komponenty: Každá aplikace se skládá z několika nezávislých funkčních částí. Některé moduly jsou napevno zahrnuty v programu a nelze je odstranit. Při práci se potom využívá jejich možností. Nejvýraznějším prvkem jsou dva modely zeměkoulí. Aktivně zobrazují umístění kamarádů z týmu, s kolečkem jejich barvy na pozici jejich země, nebo jiného jimi nastaveného místa. Uživatel si může se Zemí libovolně otáčet, po najetí myši na bod se zobrazí informace o člověku. Po přidání nové osoby se Země automaticky natočí na její pozici, případně vycentruje, aby zobrazila všechny dosavadní body. Zahnutými linkami po povrchu koule zobrazí animaci aktuální komunikace mezi lidmi. Další podstatnou součástí je panel komunikace na pravé straně obrazovky. Dole si můžeme přepínat mezi několika druhy dorozumívání. Základní textové umožňuje odeslat až 500znakové zprávy konkrétním lidem, učiteli, zvolenému týmu, nebo úplně všem. Ukazatel zobrazí, kolik zbývá znaků. Po odeslání kliknutím na tlačítko nebo klávesovou zkratkou se zpráva zobrazí ve sloupečku spolu se jménem, časem IMAGINE CUP 2007 | 15
KATEGORIE: SOFTWARE DESIGN | Communivision | a fotografií. Najetím myší získáme další informace o člověku, který ji odeslal. Pravým tlačítkem můžeme zkopírovat text příspěvku. V případě více záznamů se zobrazí šipky umožňující posuv zpráv. Po změně velikosti okna se pořadí efektivně přeuspořádá. Celý panel můžeme skrýt kliknutím na malou šipku na straně. Druhá spodní záložka umožní textovou komunikaci s automatickým překladem. Využívá podobnosti psaných slov a frází s přiloženým překladovým souborem. V základu je implementován jednoduchý česko-anglický převod a přiložen návod, jak můžou další státy přidat svůj jazyk. Samotný náš text se odesílá stejně, překládají se příchozí zprávy přijaté z jiných jazyků. Jako posouzení se bere lokalizace programu. Poslední volba nabídne zvukovou komunikaci formou konferenčního hovoru. Několika tlačítky si můžeme přidávat a odebírat jednotlivce, se kterými chceme hovořit, nebo jen ztlumit zvuk u konkrétních lidí. Program přehledně zobrazuje časy všech hovorů. Lze nastavit hodnotu maximální hlasitosti, aby se zabránilo poškození sluchu. Pro spojení se využívá již hotových knihoven pro přenos zvuku, optimalizuje se datový tok. Zbývajícími prvky charakterizujícími aplikaci jsou samotné karty uživatelů s fotografií a přezdívkou. Po najetí myší se zvětší a zobrazí „bublinu“ s podrobnými informacemi, jeho zálibami atd. Vidíme zde například, ze které je země – spolu s vlajkou a základním popisem (rozloha, počet obyvatel atd.). Karty jsou seřazené na dvou panelech podle týmu, můžeme je navzájem přetahovat. Pokud je lidí více, zobrazí se šipka umožňující jejich posuv pro možnost postupného zobrazení všech. Na horním panelu je ještě několik tlačítek ovládajících aplikaci – pro zobrazení nápovědy, roztažení okna na celou obrazovku a uzavření aplikace. Dodatečné moduly: Do aplikace můžeme přidávat další komponenty poskytující nové funkce a využívající týmové spolupráce. Po zobrazení dialogu vidíme, že mohou být rozdělené do několika kategorií: Týmové deskové hry umožní hraní her s předem danými pravidly dvou týmů proti sobě, například šachy, dámu, piškvorky a další. Logické interaktivní hry rozvíjejí spolupráci, každý z týmu má jen některé dílky, na společné ploše se snaží vyřešit úkol dříve než druhá skupina. Počítá se čas a mohou vidět náhled řešení druhého týmu. Úkolem může být stavba věže, logický hlavolam nebo například skládanka puzzle. Další kategorií jsou logické kvízy připravené učitelem. Předposlední dvě jsou obecné – získávání a sdílení informací. Pod získávání patří například naučný modul o zemích světa nebo miniaplikace zobrazující mapu. Sdílené informace vidí všichni, proto se sem řadí kreslící tabule, společný poznámkový blok nebo náladoměr. Poslední složka je nejobecnější – zahrnuje ostatní komponenty. Je jen na tvůrci každého pluginu, do které kategorie ho zahrne. Hlavním pilířem systému je komunikace, nejen mezi studenty, ale i mezi jednotlivými komponentami. Proto bylo nutné navrhnout dorozumívání vesměs univerzální a maximálně flexibilní. Především po větším rozšíření aplikace bude mít libovolný vývojář možnost vylepšit ji o vlastní moduly napsané v .NET. Výsledkem je knihovna Communivision.NetLib, která obsahuje kompletní třídy a metody pro práci se síťovým spojením. Je v ní mimo jiné obsažená také abstraktní třída protocol, od které jsou odvozené všechny protokoly komponent. V případě vývoje pluginu, který bude používat síťovou komunikaci, se vyžaduje při použití vlastního protokolu podědit ho od této bázové třídy. Pro vývojáře bude uvolněna programátorská dokumentace, ve které bude popsané rozhraní pro vytvoření vlastního pluginu, jednoduchý příklad hotového rozšíření a návod jak implementovat vlastní protokol. Síťová koncepce – Centrální server: Celá síťová architektura komunikace by se dala rozdělit na 3 skupiny – klienti (studentské počítače), učitelské servery a hlavní server, který udržuje Communivision v centralizované podobě. Zastává hned IMAGINE CUP 2007 | 16
KATEGORIE: SOFTWARE DESIGN | Communivision | několik funkcí, které většinou obstarává pomocí webových služeb – jmenovitě skladiště ověřených pluginů aplikace, jazykové lokalizace, seznam nových aktualizací a SQL databázi dostupných klientů. V neposlední řadě také poskytuje možnost propojení mezi klienty, kteří se vzájemně nevidí (tzn. pokud ani jeden z nich nemá veřejnou IP adresu). Může běžet několik záložních serverů. Běžné školy jejich instalaci nedostávají. Učitelský server: Kantorská aplikace – neboli vlastně serverová část, na kterou se připojují studenti, obsahuje vlastní grafické rozhraní, které je podobné jako mají žáci. Má rovněž podporu pro přidávání pluginů. Vyučující zde zastává roli správce, má možnost vzdáleně nainstalovat studentům rozšíření, které si za pomoci webové služby vyhledá a popřípadě automaticky stáhne z centrálního serveru. Zrovna tak má právo některé moduly zakázat (například při zkoušení textovou komunikaci). Z technického hlediska na pozadí běží síťový server, který přijímá a řídí komunikaci klientů. Informuje hlavní server o změně stavu třídy resp. jednotlivých žáků. Dále pokud si ověří, že sám má veřejnou IP adresu, tak mu ji také sdělí pro případné usnadnění komunikace i mezi geograficky vzdálenými třídami. Dalo by se říci, že zastává funkci routeru na aplikační vrstvě, protože předává spojení jak mezi svými klienty v rámci lokální sítě, tak i v případě komunikace s kamarády například z jiného města. Aktivně zjišťuje dostupnost připojení. Samotné určování je poměrně jednoduchý proces, zahájí komunikaci s centrálním serverem, pomocí webové služby zjistí která ze 2 stran má v jeho hlavní SQL databázi uloženou dostupnou veřejnou IP adresu. Pokud ji má alespoň jeden, zahájí se přímá komunikace mezi těmito dvěma servery. Ty už si zajistí doručení paketu k cílové stanici (na schématu červená cesta). Jinak se zahájí prakticky identický proces, ale veškerá data budou hierarchicky doručena přes hlavní server. (klient1 učitelský server1 hlavní server učitelský server2 klient2) – na schématu delší modrá cesta. Studentská aplikace: Posledním, ale nejrozšířenějším členem celé architektury jsou studenti. Jejich aplikace umožňuje dva způsoby jak si nastavit připojení k serveru. Jednak klasicky ručně zadat IP adresu v nastavení nebo dalším tlačítkem automaticky najít učitele na síti pomocí broadcastu. O to se při prvním spuštění pokusí automaticky. Po navázání spojení se klient přihlásí pomocí uživatelského jména a hesla, pokud přihlašovací údaje nemá, tak je získá u vyučujícího. Ten ve své aplikaci provede přidání žáka do své virtuální třídy a vygeneruje jednorázové heslo, které si student při prvním přihlášení změní. Proces přihlašování nebo změna hesla je zabezpečený šifrovanou komunikací pomocí SSL zabraňující možnost odposlechnutí. Jelikož klient komunikuje pouze s učitelským serverem, tak veškerá nastavení nebo změny profilu posílá právě jemu a ten se stará o další zpracování jako uložení na hlavní server, či zajištění spojení s jiným spolužákem.
IMAGINE CUP 2007 | 17
KATEGORIE: SOFTWARE DESIGN | Communivision | Napojení do systému: Kompletně dokumentované jsou i síťové protokoly mezi klienty a učitelským serverem. Je možné si naprogramovat vlastní aplikaci zapojenou do systému, která bude využívat všech možností standardního klientského programu nebo přidávat nové funkce. Jako jeden z možných návrhů je využití mobilních telefonů například ke kontrole nových úkolů. Prezentována bude aplikace pro kapesní počítače, přes bezdrátovou sít WiFi umožní kontrolu zpráv od učitele, zobrazení dostupných kamarádů, odesílání textových zpráv. Technologie: Aplikace byla napsána celá v jazyce C# 2005, využívá běhového prostředí .NET Framework 2.0. Je rozdělená na spouštěcí soubor a několik samostatných komponent .dll. Jednotlivé moduly byly napsány v angličtině, s popisem a komentáři. Všechny rozhraní jsou dokumentovaná. Grafické, zvukové a lokalizační soubory jsou striktně oddělené od programu, ten si je načítá z několika složek. Jednotlivé ikony a programové zvuky jsou z největší části vlastní tvorba, nebo bylo využito volně dostupných knihoven na internetu. Výsledná distribuce pro školy zahrnuje dva adresáře (klient a učitelský server) spolu se soubory readme a nápovědou k nastavení a ovládání programu. Nemusí se instalovat, stačí nakopírovat složku (obsahující i nastavení) na klientské počítače a vytvořit zástupce.
Klientská aplikace zobrazená na celou obrazovku s ukázkou hlavních dialogů:
IMAGINE CUP 2007 | 18
KATEGORIE: SOFTWARE DESIGN | S.M.I.L.E.: Smart Multipurpose Interactive Learning Environment |
S.M.I.L.E.: Smart Multipurpose Interactive Learning Environment Tým Škola Mentor Řešitelé
Caffeine 2 Code Slovenská technická univerzita prof. Mária Bieliková Marko Divéky, Peter Jurnečka, Rudolf Kajan, Ľuboš Omelina
Úvod Vzdelávanie nás sprevádza celý život. Avšak schopnosti jednotlivcov sú rôzne. Zároveň sú rôzne aj potreby a z toho vyplývajúce prístupy pre jednotlivé vekové skupiny. Našou cieľovou skupinou je snáď najproblémovejšia skupina študujúcich – žiaci, študenti vo veku približne 10–16 rokov. Problémová preto, že v tomto veku býva často náročné zapojiť deti do vzdelávania. Na druhej strane je to obdobie, kedy sa z detí stávajú dospelí a každá pomoc práve v tomto období je veľmi dôležitá. O to viac, že sa zameriavame na všetky deti, zdravé a aj tie so zdravotným postihnutím. Všetci potrebujú prístup k vzdelávaniu. Sme presvedčení, že umožnením spolupráce, aj zdravých so zdravotne postihnutými, dodávame vzdelaniu ďalšiu dimenziu – tú ľudskú, ktorá má vplyv na ďalšie pôsobenie jednotlivcov a aj kolektívov. Mať vedomosti je dôležité, ale vedieť ich aj správne použiť, chápať a vnímať rozdielnosti ľudí okolo nás je nemenej dôležité ako samotné „formálne“ vzdelávanie. V dnešnej dobe sú žiaci obklopení veľkým množstvom rôznych vzdelávacích materiálov, napr. multimediálnymi encyklopédiami alebo interaktívnymi návodmi. Väčšina z nich sa vo voľnom čase hrá počítačové hry. Na druhej strane veľa detí práve vo veku 10-16 rokov sa nerady učí. Napriek tomu, že existujú výnimky, motivácia je v tomto veku veľmi dôležitá. Práve počítačové hry sú výborným motivačným prostriedkom. Avšak dnešné najpopulárnejšie počítačové hry majú ďaleko od toho, aby vzdelávali. Hrám priamo určeným na vzdelávanie chýba nielen vzrušenie z populárnych hier, ale aj neumožňujú učiteľom bez znalosti programovania meniť ich scenár. Navyše takéto hry nie sú prístupné – vo väčšom rozsahu – postihnutým žiakom. Navrhli sme systém S.M.I.L.E. (Smart Multipurpose Interactive Learning Environment), ktorý predstavuje unikátne riešenie pre vyššie uvedené problémy. Tento systém spája výhody interaktívnych vzdelávacích materiálov a populárnych počítačových hier tak, že umožňuje učiteľom jednoducho a efektívne transformovať študijné materiály do napínavých trojrozmerných vzdelávacích hier, ktoré môžu hrať všetci – zdravé deti a aj tie so zdravotným postihnutím.
Základná funkcionalita systému S.M.I.L.E. umožňuje učiteľom vytvoriť alebo importovať rôzne študijné materiály do zdieľanej bázy vedomostí (pozri obr. 1), ktorú zdieľajú viaceré školy. Systém umožňuje učiteľom samým vytvoriť BBC News: Computer games ‘motivate pupils’. BBC, (2006). http://news.bbc.co.uk/1/hi/education/4608942.stm Feller, B.: Video games can reshape education. Associated Press, (2006). http://www.msnbc.msn.com/id/15309615
IMAGINE CUP 2007 | 19
KATEGORIE: SOFTWARE DESIGN | S.M.I.L.E.: Smart Multipurpose Interactive Learning Environment | vzdelávacie hry, ktorými sa precvičujú či skúšajú vytvorené študijné materiály. Rozhrania sú navrhnuté tak, že poskytuje vzdelanie pre všetkých – aj pre zdravotne postihnutých žiakov (napr. pre zrakovo alebo sluchovo postihnutých). Editor vedomostí. Vzdelávacie materiály sa vytvárajú alebo importujú pomocou editora vedomostí. Je to plnohodnotný WYSIWYG editor, ktorý sme špeciálne navrhli pre zjednodušenie a zefektívnenie tvorby multimediálnych materiálov pre vzdelávacie hry vytvorené systémom S.M.I.L.E.. Jednou z veľmi užitočných funkcií editora, ktorú ocenili v našom prieskume na základnej a strednej škole pre zdravotne postihnutých, kde sme konzultovali požiadavky, je možnosť automatického vyhľadávania multimediálnych materiálov (obrázkov, videí a zvukov) na Internete, ktoré súvisia s témou práve editovaného študijného materiálu. Zvolené elementy môžu byť jednoducho vložené (rešpektujúc autorské práva) do aktuálneho učiva metódou drag’n’drop. Editor hier. Učitelia môžu kolaboratívne editovať a zdieľať uložené študijné materiály pre vzdelávanie svojich žiakov. Čo je dôležitejšie, učitelia môžu sami vytvoriť vlastné vzdelávacie hry založené na týchto materiáloch pomocou editora hier. Vytvorené hry sú trojrozmerné, podporujú súčasné hranie viacerých hráčov, sú plne interaktívne a založené na dnes najpopulárnejšom žánri počítačových hier – Role-playing Games. S.M.I.L.E. umožňuje učiteľom vytvárať vzdelávacie hry dvoma spôsobmi – vizuálne, kedy učiteľ zadefinuje celý koncept hry a automaticky, kedy systém sám vytvorí hru na základe parametrov zadaných učiteľom. Herný server. Všetky hry vytvorené v S.M.I.L.E. Napriek tomu, že vizuálny prístup k tvorbe prebiehajú na hernom serveri. Tento komponent hier robí náš projekt inovatívnym, je to práve zabezpečuje synchronizáciu a riadenie činnosti automatické generovanie hier na základe jednotlivých hráčov (t.j. synchronizáciu ich parametrov daných učiteľmi čo robí zo pohybu po mape – keďže jednu hru môžu hrať S.M.I.L.E. jedinečné a revolučné. aj viacerí hráči súčasne, dodržiavanie logiky hier podľa ich scenára uloženého v lokálnej báze dát, zhromažďovanie štatistických údajov z hrania hier a ich priebežné posielanie webovej službe so štatistikami, atď.). Herný server taktiež v sebe zahŕňa aj rozhranie, ktoré umožňuje navzájom rovnocenné spoločné hranie sa zdravých žiakov so zdravotne postihnutými.
Obr. 1. Prehľad systému S.M.I.L.E.
Roleplay.org: Role-playing Game Introduction. http://www.roleplay.org/articles/rpg-intro/
IMAGINE CUP 2007 | 20
KATEGORIE: SOFTWARE DESIGN | S.M.I.L.E.: Smart Multipurpose Interactive Learning Environment | Uloženie údajov. Vytvorené hry sú spolu s potrebnými mapami, textúrami, modelmi a zvukmi uložené na hernom serveri, pričom študijné materiály, úlohy a herné objekty sú, spolu s ich vzájomnými vzťahmi, sú uložené v lokálnej báze dát, kam sa skopírujú zo zdieľanej bázy vedomostí pomocou editora vedomostí. Tento mechanizmus nielen redukuje požiadavky na zdieľanú bázu vedomostí – čo by sa eventuálne mohlo stať úzkym hrdlom systému pri zapojení veľkého počtu škôl a učiteľov, ale aj zaručuje, že potrebné študijné materiálny sú vždy dostupné aj v prípade straty alebo nedostupnosti spojenia so zdieľanou bázou vedomostí. Prehliadač vedomostí. Na podporu procesu učenia je k dispozícií prehliadač vedomostí, pomocou ktorého môžu prezerať všetok študijný materiál vo formáte, ktorý sa prispôsobuje individuálne každému žiakovi (čo je dôležité najmä pre použitie systému zdravotne postihnutými žiakmi, ale aj pre rozlíšenie rôznych preferencií jednotlivých používateľov). Prehliadač umožňuje žiakom vyhľadávať v študijných materiáloch pomocou kľúčových slov, fulltextovo, i prezeraním vzdelávacích materiálov určených pre kurzy, ktoré žiaci navštevujú. Prehliadač vedomostí je taktiež dostupný aj počas hry, čo znamená, že v prípade problémov so splnením úlohy má žiak možnosť prezrieť si relevantný študijný materiál bez nutnosti prerušenia hry. Štatistiky. Webová služba zhromažďujúca štatistické údaje nepretržite zbiera informácie o priebehu hrania hier pre každého žiaka (napr. ktoré úlohy žiak úspešne vyriešil a ktoré nie – spolu s počtom chybných pokusov a množstvom času, za koľko danú úlohu dotyčný žiak vyriešil). Vďaka tomu, že S.M.I.L.E. eviduje väzby medzi študijnými materiálmi a úlohami, ktoré žiaci riešia a faktu, že jednotlivé vzdelávacie materiály sú zaradené do predmetov, umožňuje odhadnúť mieru zvládnutia jednotlivých predmetov pre každého žiaka. Štatistiky možno prezerať s využitím prehliadača štatistík (alebo ľubovoľného Internetového prehliadača). Sú prospešné nielen pre učiteľov, ale aj pre žiakov a ich rodičov. Čo je viac, systém S.M.I.L.E. pomáha zlepšovať úroveň vzdelania žiakov okrem iného aj takým spôsobom, že ich automaticky usmerňuje plniť úlohy založené na predmetoch, ktoré dotyčný žiak ovláda najmenej.
Kľúčové koncepty Systém S.M.I.L.E. vychádza z viacerých konceptov, ktoré určujú poskytované funkcie. Najdôležitejšie a najzaujímavejšie z nich sú bližšie opísané nižšie. Uloženie, reprezentácia a formátovanie študijných materiálov Materiály určené na vzdelávanie – vedomosti – sa kopírujú zo zdieľanej bázy vedomostí a sú uložené v lokálnej báze dát. Obsahujú čokoľvek od formátovaného textu a odrážok po obrázky, videá, zvukové nahrávky a iné typy multimediálnych materiálov, napríklad Macromedia Flash elementy. Každý materiál je reprezentovaný v XML formáte, ktorý sme navrhli špeciálne pre tento účel. Ako dôsledok toho, že navrhnutý formát oddeľuje obsah materiálov od ich formátovania, umožňujeme každému používateľovi systému si individuálne nastaviť ako má vyzerať prezentácia vzdelávacích materiálov v prehliadači vedomostí (napr. žiaci s postihnutým zrakom si môžu zvoliť veľkosť písma v materiáloch a mať všetky multimediálne elementy zobrazené väčšie, nepočujúcim žiakom sa ukazujú titulky pri každom videu či audio nahrávke). Každý používateľ má svoj vlastný profil, ktorý obsahuje aj jeho preferencie, na základe ktorých formátuje prehliadané vzdelávacie materiály komponent prehliadač vedomostí, a tiež aj jeho upravená verzia fungujúca v rámci hier – a to individuálne pre každého používateľa. Tieto preferencie obsahujú rôznorodé formátovacie parametre, ako napríklad typ písma použitého na zobrazovanie textu spolu s jeho veľkosťou i farbou, farba pozadia dokumentu a veľkosť zväčšenia zobrazovaných multimediálnych prvkov. Používatelia systému si môžu vybrať z už preddefinovaných profilov formátovacích parametrov, prípadne tieto profily ďalej upravovať. Mechanizmus formátovania študijných materiálov podľa preferencií používateľov je znázornený na obr.2. Nastavenia slúžia ako vstupné parametre pre príslušné XSL transformácie, t.j. pre transformáciu do formátu HTML (ktorý používa komponent prehliadač vedomostí) a pre transformáciu do formátu IMAGINE CUP 2007 | 21
KATEGORIE: SOFTWARE DESIGN | S.M.I.L.E.: Smart Multipurpose Interactive Learning Environment | používaného v hernej verzií prehliadača vedomostí. Vďaka tomu, že aj študijné materiály aj formátovacie nastavenia prehliadačov vedomostí sú uložené vo formáte XML, možno ich nahradiť (s oboma XSL transformáciami) aj inou XML reprezentáciou v prípade, že požiadavky na systém rapídne vzrastú alebo skrz integráciu s inými už existujúcimi bázami vedomostí, vrátane štandardov pre e-vzdelávanie, ako sú LOM, SCORM a ďalšie.
Obr. 2. Mechanizmus formátovania študijných materiálov.
Model vzdelávacích hier V systéme S.M.I.L.E. sme ako model vzdelávacích hier použili žáner RPG (angl. Role-playing Games), ktorý v dnešnej dobre predstavuje najpopulárnejší žáner počítačových hier. RPG hry sú pútavé, blízke reálnemu svetu, jednoducho sa ovládajú (nevyhnutné pre zdravotne postihnutých žiakov) a umožňujú efektívnym a praktickým spôsobom vzdelávať. Rozhodli sme sa dať prednosť trojrozmernej forme hier, nakoľko dvojrozmerné hry už v súčasnosti boli vo všetkých smeroch prekonané a nahradené trojrozmernými hrami. Tie naviac podporujú rozvíjanie a trénovanie priestorovej pamäte, čo je dôležité pre všetkých, no najmä pre ľudí s postihnutím zraku. Návrh a vývoj trojrozmernej hry síce výrazne zvýšil nároky na vývoj systému a vyžaduje aj znalosti z oblasti počítačovej grafiky, ktoré bolo treba zvládnuť, ale na druhej strane umožnil naplnenie cieľov vo vzdelávaní, čo ocenili aj žiaci, ktorým sme hru predvádzali, a ktorí nám pomáhali s vyhodnotením koncepcie systému. Žiaci majú možnosť vzdelávať sa nielen hraním hier vytvorených ich učiteľmi (ktoré sa skladajú z úloh buď priamo zvolených učiteľmi, alebo z úloh vybraných systémom S.M.I.L.E. na základe parametrov určených učiteľmi), ale aj hraním sa a plnením úloh vo virtuálnom svete, ktorý pozostáva zo všetkých úloh uchovaných v systéme a ich autormi označených ako verejné. Jediný rozdiel medzi hrami vytvorenými učiteľmi a spomenutým virtuálnym svetom je ten, že hry môžu obsahovať úlohy označené ako privátne. Vychádzame z toho, že je dobré najskôr povzbudiť žiakov k trénovaniu a vzdelávaniu sa prostredníctvom Fallon, C., Brown, S.: E-Learning Standards: A Guide to Purchasing, Developing, and Deploying StandardsConformant E-Learning. CRC Press, (2002). Kim, J.: Educational Uses of Role-Playing Games. http://www.darkshire.net/~jhkim/rpg/whatis/education.html NewScientist.com: Video game may help detect depression. http://www.newscientisttech.com/article/dn11351-video-game-may-help-detect-depression.html
IMAGINE CUP 2007 | 22
KATEGORIE: SOFTWARE DESIGN | S.M.I.L.E.: Smart Multipurpose Interactive Learning Environment | plnenia úloh vo virtuálnom svete, a následne otestovať nadobudnuté vedomosti v hrách vytvorených učiteľmi. Tie preverujú porozumenie a pochopenie vybraných študijných materiálov. Vďaka faktu, že takéto hry môžu obsahovať aj privátne úlohy (nedostupné v spoločnom virtuálnom svete), predstavujú priateľskú a zábavnú metódu ako preveriť vedomosti. Automatické generovanie vzdelávacích hier Kľúčom k automatickému generovaniu vzdelávacích hier je fakt, že každý študijný materiál (naviazaný na vedomosť) má definovaný zoznam prislúchajúcich herných objektov. Každý takýto objekt môže taktiež mať definované vzťahy s inými hernými objektmi (pozri obr. 3). Napríklad študijné materiály zamerané na vodu, oxid sírový a kyselinu sírovú (pomenované Voda, Oxid sírový a Kyselina sírová) môžu mať k nim prislúchajúce herné objekty postupne H2O, SO3 a H2SO4.
Obr. 3. Automatické generovanie vzdelávacích hier.
Proces inteligentného generovania vzdelávacích hier sa skladá z dvoch fáz, ktoré využívajú algoritmy používané pri riešení úloh v rámci umelej inteligencie – fázy generovania úloh a fázy generovania hier. Fáza generovania úloh sa skladá z týchto akcií: 1. analýza všetkých herných objektov súvisiacich so zvoleným študijným materiálom, 2. formulácia postupnosti interakcií v rámci hry na základe výsledkov vykonanej analýzy, 3. tvorba generických postáv v hre, ktoré žiakom slovne zadajú generovanú úlohu vo forme príbehu, 4. generovanie obsahu textových dialógov pre vytvorené generické postavy. Fáza generovania hier pozostáva z týchto akcií: 1. obsahová analýza úloh uvedených ako vstup, 2. tvorba terénu na základe vlastností analyzovaných herných objektov, 3. zoskupovanie generických postáv (z úloh) do reálnych postáv v rámci generovanej hry, 4. rozloženie všetkých úloh a reálnych postáv na vygenerovaný terén, 5. generovanie a umiestňovanie orientačných bodov pre pohyb žiakov so zrakovým postihnutím po hernom teréne. Podpora pre zdravotne postihnutých žiakov Systém S.M.I.L.E. možno plnohodnotne ovládať pomocou počítačového rozpoznávania hlasu, a taktiež s použitím periférnych zariadení určených pre zdravotne postihnutých, ako je napríklad Braillova klávesnica. IMAGINE CUP 2007 | 23
KATEGORIE: SOFTWARE DESIGN | S.M.I.L.E.: Smart Multipurpose Interactive Learning Environment | Žiaci so zrakovým postihnutím ovládajú systém pomocou hlasových povelov s tým, že obsah študijných materiálov im S.M.I.L.E. číta počítačom syntetizovaným hlasom. Naviac takýmto žiakom sa všetok text vo vzdelávacích materiáloch ukazuje taký veľký, ako je to vhodné vzhľadom na ich zrakové postihnutie. Podobne, žiakom so sluchovým postihnutím sa poskytujú titulky pri každom videu či audio nahrávke. Všetky hry určené na vzdelávanie a vytvorené systémom S.M.I.L.E. možno hrať pomocou hlasovo ovládaných pokynov s použitím špeciálnej verzie herného klienta, ktorá je prispôsobená pre žiakov s čiastočným i úplným postihnutím zraku (to ale nebráni, aby S.M.I.L.E. aj ostatní žiaci ovládali svojim hlasom). Tento komponent číta všetky možné akcie, ktoré má používateľ k dispozícií na vykonanie v hre pomocou počítačom syntetizovaného zvuku a umožňuje používateľovi hlasom prikázať systému, aby zvolené akcie vykonal. Pre ostatných hráčov vyzerá nevidiaci žiak Špecializované rozhrania umožňujú žiakom (alebo žiak so zrakovým postihnutím) rovnako, ako so zdravotným postihnutím participovať vo každý iný s tým rozdielom, že sa pohybuje podľa vzdelávacom procese hraním sa náučných značiek automaticky umiestnených editorom hier pri hier spolu so svojimi spolužiakmi, a tým sa vytváraní hry. Žiaci s poruchou sluchu sú informovaní lepšie začleniť do spoločnosti. o všetkých udalostiach vizuálne.
Zhrnutie Cieľom nášho projektu je zatraktívniť vzdelávanie žiakov, najmä vo veku od 10 do 16 rokov. Navrhli a implementovali sme systém, ktorý zahŕňa a navzájom kombinuje výhody dvoch rozdielnych oblastí – interaktívnych študijných materiálov a populárnych počítačových hier. Systém S.M.I.L.E. podporuje aj žiakov so zdravotným postihnutím a umožňuje im vzdelávať sa spolu s ich zdravými spolužiakmi. Takýto koncept nebol doposiaľ v nijakej nám známej softvérovej aplikácií zrealizovaný. Medzi najdôležitejšie výhody nášho projekt patria: – zapojenie učiteľov do vytvárania hier bez nutnosti akýchkoľvek znalostí o programovaní prostredníctvom dynamického generovania trojrozmerných vzdelávacích hier a herného sveta, ktoré vychádzajú z pravidiel definovaných učiteľmi, – interaktívna práca v tímoch zdravých aj zdravotne postihnutých žiakov, v rámci ktorých súťažia kombinovaním ich silných i slabých stránok, čo ústi do lepšieho výsledku vo vzdelávaní pre všetkých, – prispôsobovanie rozhraní vzhľadom na prípadné zdravotné postihnutie a prezentovaného obsahu i hier vzhľadom na úroveň vedomostí a napredovania každého žiaka, – podpora a rozvíjanie kolaboratívnej práce medzi učiteľmi pomocou zdieľanej bázy vedomostí. Z technického pohľadu je systém S.M.I.L.E. postavený na inovatívnom softvérovom návrhu, ktorý je modulárny aj vďaka použitiu najmodernejších a najnovších softvérových technológií (pozri tab. 1), kde
Tab. 1. Použité technológie a vývojové prostredia
IMAGINE CUP 2007 | 24
KATEGORIE: SOFTWARE DESIGN | S.M.I.L.E.: Smart Multipurpose Interactive Learning Environment | treba vyzdvihnúť oddelenie reprezentácie hier od ich obsahu a realizácie, čo umožňuje napr. realizáciu viacerých verzií prehliadača vedomostí či už priamo v hre alebo pri učení sa s doplnkovými ďalšími funkciami; modulárny návrh s využitím webových služieb a podporu zameniteľných rozhraní. S.M.I.L.E. sme od začiatku navrhovali v spolupráci s učiteľmi, zahŕňajúc aj takých, ktorí pôsobia na školách so zdravotne postihnutými žiakmi. Tiež dbáme na potreby používateľov nášho systému, a preto sme úzko spolupracovali aj so žiakmi, či už s postihnutím alebo bez. Poďakovanie. Ďakujeme študentom i učiteľom zo Základnej školy pre slabozrakých a nevidiacich a Špeciálnej základnej školy pre slabozrakých na Svrčej ul. 6 v Bratislave, a tiež učiteľom i žiakom zo Základnej školy a gymnázia pre telesne postihnutých na Mokrohájskej ul. 3 v Bratislave za konzultácie, podnetné návrhy i nápady a pomoc pri overovaní koncepcie systému. Obzvlášť chceme poďakovať riaditeľom týchto zariadení, konkrétne PaedDr. Jozefovi Šimkovi a PhDr. Štefanovi Tvarožkovi za ich ochotu a aktívny prístup.
IMAGINE CUP 2007 | 25
KATEGORIE: SOFTWARE DESIGN | Interactive Graphs From Czech Republic |
iGraCzech Tým Škola Mentor Řešitelé
VŠB-TUO Team Vysoká škola báňská Jan Martinovič Tomáš Kocyan, Marek Mokrosz, Petr Heinz,
Rekapitulace anotace iGraCzech bude systém, který dokáže odpovědět na jakoukoli vaši otázku, což je základem kvalitního vzdělání. Pokud pro vás nedokáže vyhledat odpověď sám, nalezne uživatele nebo skupinu uživatelů, kteří buď odpověď znají, nebo budou vědět o někom, kdo by dané problematice mohl rozumět. Jak tedy bude probíhat vyhledávání? Uživatel, který bude hledat odpověď na svou otázku, zadá daný text do vstupního pole. Následně bude
vyzván, aby ohodnotil jednotlivá slova podle jejich váhy tak, jak je přibližně zobrazeno na obrázku: Po ohodnocení termů (které bude z počátku zadávat uživatel, nicméně bychom tento úkon chtěli později zautomatizovat), se vyhledají příslušné možné odpovědi z našich zdrojů informací. Pokud by uživatel nebyl s výsledkem spokojen, může si nechat vyhledat uživatele, kteří by mu mohli odpovědět, případně zaslat otázku do iGraComu – našeho interního komunikační systému. Architektura systému je blokově (a hlavně velmi zjednodušeně) zachycena na obrázku níže. K hlavním částem patří: • • • •
iGraCore – logika zpracování a tvorba sociální sítě Resource manager – správa zdrojů informací iGraCom – komunikační systém FullText – obsah zdrojů
IMAGINE CUP 2007 | 26
KATEGORIE: SOFTWARE DESIGN | Interactive Graphs From Czech Republic |
Architektura systému
iGraCore Základem systému bude jádro iGraCore, která bude udržovat sociální síť registrovaných uživatelů a řídit zdroje informací. Co je to sociální síť? To je síť, která nám říká, kdo koho zná a jak dobře. Je nezbytná pro monitorování uživatelů a jejich vztahů. Pokud vyhledáme dotaz, nenalezneme odpověď a budeme chtít najít uživatele, který by nám odpověděl, vracel by nám systém stále stejného oborového Guru. Ten by byl stále zahlcen otázkami a radši by přestal našeho systému využívat – to my ale přece nechceme, takovýchto lidí si přece musíme vážit. My na to půjdeme ale trochu jinak – daleko chytřeji. Uživatel vyhledá skutečně uživatele, kteří tomu rozumí, ale nyní zapracuje sociální síť a vybere pouze uživatele, kteří jsou naši známí, nebo jsou na stejné vědomostní úrovni jako my. Pokud bychom se ani zde nedobrali odpovědi, posuneme se o úroveň výše. Takto bychom mohli postupovat až k expertovi daného oboru.
IMAGINE CUP 2007 | 27
KATEGORIE: SOFTWARE DESIGN | Interactive Graphs From Czech Republic |
Ilustrativní příklad
Náš projektový frontman iGraCzech iGi (dále jen iGi) si chce koupit nový počítač. Protože ale není z oboru a dané problematice nerozumí, potřebuje někoho, kdo mu s tím poradí.
Každého logicky napadne poradit iGimu, ať se zeptá kamarádů z IT, pro které je tato oblast denním chlebem. Problém nastává ve chvíli, kdy že zamyslíme nad rozdělením dovednosti naší populace. Skupiny se totiž navzájem prolínají:
Náš systém iGraCzech bude umět vyřešit tento problém na systémové úrovni. Řekne totiž iGimu, koho se zeptat:
IMAGINE CUP 2007 | 28
KATEGORIE: SOFTWARE DESIGN | Interactive Graphs From Czech Republic | iGraCore prohledá podle zadaných slov Fulltext server a následně zobrazí zadané výskyty. V případě nezodpovězení dotazu, nebo pokud uživatel ze zobrazenými odpověďmi nebude spokojen, bude mít možnost vyhledat osoby komunity iGraCzech.
iGraCom iGraCom bude komunikační systém mezi uživateli, který rovněž bude zdrojem informací pro fulltext. Do iGraComu zahrneme jak diskusní fórum, tak i jakýsi Instant Messaging systém. Důraz bude kladen na to, aby právě tato část byla dostupná odkudkoli a z jakéhokoli zařízení, ať jde o klasický stolní počítač, přes kapesní počítač, nebo dokonce o display mobilního telefonu. Vytvoříme tedy rozhraní a pravidla, která umožní přístup k této části. Rovněž bude implementována RSS brána pro okamžité upozornění na událost, tj. příchozí zpráva, odpověď na otázku, nebo požadavek na radu.
Fulltext Fulltextový server bude z počátku realizován Microsoft SQL Serverem obohaceným o námi potřebné funkce. Bude ale připojen přes rozhraní tak, aby v budou zaměnitelný za jiný, nebo aby bylo možno přidat další.
Zdroje dat Našimi zdroji dat budou webové stránky, které budou určitý informační přínos. Nejčastěji tedy encyklopedie typu Wikipedia.org apod. Informace z jednotlivých zdrojů budou v době nejnižšího vytížení zpracovávána Resource Managerem a ukládána do fulltexu.
IMAGINE CUP 2007 | 29
KATEGORIE: SOFTWARE DESIGN | Interactive graphs from Czech Republic |
Logický náhled na systém
Schematický můžeme náš systém znázornit následovně
Uživatelé se budou dělit na administrátory, registrované a neregistrované uživatele. • Administrátor bude mít na starost správu zdrojů (tj. vyhledávání, připojování apod.) a taky „udržování pořádku“ iGraComu. • Neregistrovaný uživatel bude moci pouze vyhledávat ve fulltextu, ale nebude moci zasílat zprávy a požadavky na jiné uživatele (otázka by neměla odesílatele). • Nedostatek registrovaného uživatele vyřeší až registrovaný uživatel, který již bude moci naplno využívat tohoto systému.
IMAGINE CUP 2007 | 30
KATEGORIE: SOFTWARE DESIGN | COMBO – SDÍLENÁ TABULE |
COMBO – Sdílená tabule Grafický komunikační program Communication Board Tým Škola Řešitelé
Caffeine 2 Code Univerzita Karlova v Praze – Matematicko-fyzikální fakulta Martin Nepivoda, Jan Bilak, Miloš Doubek, Pavol Muller
FUNKCE APLIKACE Cílem projektu je vytvořit skupinový grafický komunikační program, kde se lidé dorozumívají obrazy, diagramy, náčrtky a textem podobně jako ve škole pomocí školní tabule. Právě školní tabule, známá nám všem jako zdroj informací pro větší skupinu lidí, byla největší inspirací při návrhu tohoto programu. Programy na okamžitou komunikaci textovými zprávami jsou už dnes běžnou věcí. Mnohdy se však hodí z edukativních důvodů možnost společně debatovat nad kresbami či výkresy pomocí náčrtů, symbolů a diagramů. Je to například debata o struktuře nějakého systému nebo programu, řešení geometrických a konstrukčních problémů a různých jiných školních úloh známých ze školních hodin. Program by měl umožnit společně sdílet kreslicí plochu (tabuli), kterou mohou jednotliví účastníci upravovat a měnit, a jejíž změny ostatní ihned vidí. Komunikace bude zaměřená na obecně větší skupinu účastníků – třídy, studijní skupiny apod. Do diskuse se bude možné připojit i po jejím zahájení, kdy účastník automaticky získá aktuální stav tabule. Využito bude vlastní rozšíření standardizovaného protokolu. Tak bude získána velká skupina potenciálních uživatelů a nepůjde tedy o uzavřený projekt bez reálné šance na větší rozšíření a využití. Protože různé oblasti používají specifické symboly, obrazce a grafické prvky, bude program umožňovat vytvořit tyto přesně podle potřeby komunikujících účastníků – prvky pro tvorbu částí vývojových diagramů u softwarových návrhářů, geometrické obrazce v geometrii nebo značky v elektrických schématech. Při jejich tvorbě bude možné kombinovat úpravy grafické (myší přímo v nákresu objektu) i ruční (v jeho textovém předpisu), aby byla pro uživatele co nejjednodušší a nejpříjemnější.
MOŽNOSTI GRAFICKÉHO EDITORU Samotný editor je vektorový a obsahuje grafická primitiva jako kružnice, čára, Bezierova křivka, výplně a texty, ale také bitmapy z externích souborů. Tento editor by měl umožňovat pohodlnou a rychlou komunikaci jednotlivých účastníků. Účastnící by měli mít možnost se předem připravit (třeba výběrem a tvorbou požadovaných symbolů nebo částí výkresu), aby pak samotná práce s ostatními byla co nejpohodlnější a nejrychlejší. Jednotlivé objekty lze sdružovat do vrstev, které je možné jednotlivě vypínat nebo zamykat proti úpravám. Objekty také mohou sloužit jako odkazy na libovolné dokumenty určené pomocí URL. Je tedy možné doplnit různé díly výkresu pomocí dokumentace na webu. IMAGINE CUP 2007 | 31
KATEGORIE: SOFTWARE DESIGN | COMBO – SDÍLENÁ TABULE | Objekty jsou definovány svým předpisem. Samotný předpis objektu bude textový – ve vlastním navrženém jazyce, který bude poskytovat prostředky pro zápis grafických objektů a jejich chování. S objekty je možné provádět několik různých operací – posuny jednotlivých bodů nebo celých objektů, slučování do skupin, navazování, různé způsoby změny velikosti objektů (například v závislosti na typu vazby mezi nimi), otáčení apod. Důležitou funkcí je uživatelova vlastní knihovna předpřipravených objektů, rozdělená do různých kategorií (třeba podle oboru, ke kterému se vztahují). Je také možné vzít z tabule objekt vytvořený jiným uživatelem a zařadit ho do své sbírky. Zde bude také pro uživatele připravena webová služba, pomocí které uživatel vyhledá a stáhne objekty jiných uživatelů. Případně dá k dispozici objekty svoje. Program bude samozřejmě také obsahovat sadu předpřipravených, často používaných objektů a symbolů, aby ho uživatel mohl začít okamžitě používat a nemusel nejprve trávit čas vymýšlením a tvorbou běžných obrazců. Tyto objekty navíc mohou sloužit jako praktická ukázka a podklad pro uživatelovu další tvorbu vlastních pokročilých objektů. Program umožňuje ukládat historii změn výkresu, aby ji bylo možné potom postupně zopakovat. To je výhodné hlavně v případě, kdy je důležitý samotný postup, jakým byl obrázek vytvořen, třeba při řešení konstrukční úlohy. Historie bude ukládána u všech účastníků a bude reprezentovat aktuální stav výkresu až do okamžiku odpojení uživatele. Samozřejmě je možné uložit vytvořený výkres pro další prohlížení, úpravy nebo tisk. Program bude umožňovat také jednoduchou textovou komunikaci s ostatními účastníky, která bude synchronizovaná s tvorbou výkresu a půjde tedy přehrávat jako součást jeho historie.
STRUČNÝ PŘEHLED MODULŮ Aplikace se člení na následující hlavní moduly: Modul
Funkce
Evaluator
Vyhodnocování předzpracovaných skriptů.
Graphics
Správa vykreslovacích primitiv, jejich vykreslování.
GUI
Zajištění komunikace s uživatelem pomocí grafického uživatelského rozhranní.
History
Správa historie, provádění UNDO, podpůrné funkce při řešení konfliktů při práci více uživatelů na jednom objektu v jednom „okamžiku“.
Library
Správa knihovny symbolů.
Network
Síťová komunikace mezi účastníky.
Patch
Uchování a správa změn hodnot ve skriptu (parametrů, souřadnic bodů apod.) mezi dvěma vyhodnocováními skriptu.
Shape
Reprezentuje instanci shapu.
Compilator
Parsuje skript a převádí jej do vnitřní reprezentace vhodné pro rychlé vyhodnocování.
Sheet
Správa výkresu, zajišťování operací nad výkresem.
Template
Reprezentuje typ shapů, podle kterého je možné vytvářet konkrétní instance na výkresu.
IMAGINE CUP 2007 | 32
KATEGORIE: SOFTWARE DESIGN | COMBO – SDÍLENÁ TABULE |
PRINCIP PRÁCE Pozn.: následující princip je velmi zjednodušený.
ZÁKLADNÍ PRINCIP Modul GUI přijímá příkazy od uživatele a zasílá je modulu Sheet, který příkazy provádí nad výkresem. Modul Sheet kromě jejich vykonání je zároveň zařazuje do historie prostřednictvím modulu History a posílá modulu Network k odeslání do sítě. Zpracování se provádí po jednotlivých shapech a šíří se rekurzivně podle vazeb mezi shapy. V průběhu zpracování shapu dochází k odeslání změn shapu do modulu Evaluator a následnému přepočtení shapu podle skriptu. Výsledkem jsou mimo jiné tzv. vykreslovací primitiva. Tato primitiva jsou odeslána do modulu Graphics, kde jsou uložena v datové struktuře R-stromu. Na základě této struktury jsou následně vykreslována modulem GUI a také slouží jako podklad pro interaktivní chování grafického editoru. Při příchodu zprávy ze sítě je předána modulem Network modulu Sheet. Povede se kontrola kolizí a zpráva je vykonána, zahozena nebo je provedeno undo operace. Další zpracování je obdobné jako při příchodu příkazu od lokálního uživatele.
POPIS JEDNOTLIVÝCH MODULŮ MODUL EVALUATOR Zpracování skript v předzpracované stromové podobě. Na jeho základě vytváří kolekci bodů a vykreslovacích primitiv.
MODUL GRAPHICS Vstupem jsou změny ve vykreslovacích primitivech. Tato primitiva zařazuje do R-stromu, ze kterého jsou poté primitiva vykreslována a řídí se jím interaktivní chování editoru.
IMAGINE CUP 2007 | 33
KATEGORIE: SOFTWARE DESIGN | COMBO – SDÍLENÁ TABULE | MODUL GUI Zajišťuje komunikaci programu s uživatelem. Detekuje příkazy uživatele pomocí klávesnice a myši a zasílá je dál ke zpracování. Zajišťuje vykreslování. MODUL HISTORY Vstupem jsou jednotlivé operace, které vykonal lokální uživatel nebo přišly ze sítě od vzdáleného uživatele. Zajišťuje řešení kolizí, které vznikají v případě, že více účastníků konference modifikuje jeden objekt nebo objekty spojené vazbou. Umožňuje provádění kroků zpět a jejich rušení (undo a redo). MODUL LIBRARY Spravuje víceúrovňovou galerii symbolů (templatů). Jednotlivé symboly jsou zařazovány do kategorií a kategorie jsou seskupovány do skupin kategorií. Jedna kategorie může být ve více skupinách kategorií. MODUL NETWORK Zajišťuje komunikaci mezi účastníky. Synchronice je zajištěna zasíláním zpráv přes Jabber server. Větší data jsou zasílána přímo mezi účastníky. Zajišťuje synchronizaci při zapojení nového účastníka do konference. MODUL SHAPE Reprezentuje jednu instanci symbolu na výkresu. Zajišťuje provádění některých operací a to buď přímo nebo prostřednictvím modulu evaluator. MODUL COMPILATOR Zajišťuje zpracování skriptu s využitím projektu ANTLR. Na základě skriptu vytvoří stromovou strukturu. MODUL SHEET Spravuje výkres a přerozděluje operace nad výkresem ostatním modulům nebo je vykonává sám. Udržuje si informace o symbolech na výkresu, vrstvách apod. Zajišťuje propagaci změn přes vazby.
HLAVNÍ POUŽITÉ TECHNOLOGIE • Cílovou platformou je .NET 2.0. • Projekt je psaný zejména v jazyce C#. • Vývoj probíhá zejména ve vývojovém nástroji Visual Studio 2005 Team Suite ve spolupráci s Team Foudation Serverem. • Uživatelské prostředí je vytvořeno ve WinForms. • Komunikace se serverem probíhá pomocí protokolu Jabber Protocol (XMPP), který je založen na XML. • Skriptovací engine využívá projekt ANTLR (www.antlr.org) ve verzi .NET. • Webová služba (webservice) využívá SQL Server 2005.
IMAGINE CUP 2007 | 34
KATEGORIE: SOFTWARE DESIGN | Program o Sluneční soustavě |
Program o Sluneční soustavě Tým Škola Řešitelé
Planetary Team SPŠ Třebíč, Universidade Federal do Ceará Petr Uhlíř, Tomáš Strnad, Rafael Rosemberg
Projekt je postaven na dvou hlavních částech. První je většinová část programu tvořená v jazyku Visual Basic a druhá část zahrnuje multimediální sekce vytvořené v jazyku C# s využitím technologie Direct X. Celý program se skládá z vlastních komponent, které zastupují tlačítka, výběrová tlačítka, grafy a mnoho dalších funkcí. Podstatou každé komponenty je možnost nastavení co nejvíce grafických možností. Všechny komponenty jsou vykreslovány přechodem s možností nastavení všech parametrů v panelu „Properties“. Většina komponent má dva základní stavy („On“ – kurzor je nad komponentou, „Out“ – kurzor je mimo komponentu) a jeden vedlejší stav („Own“ – který je možné aktivovat při specifických příležitostech). Je možné si vybrat barvu přechodu spolu s otočením a nastavení poloměr zaoblení rohů. Nejdůležitější komponentou aplikace je „PanelButton“, který je zároveň hlavním menu aplikace. Skládá se z několika vlastních tlačítek a dalších komponent, které mu umožňují po kliknutí na tlačítko rozbalit submenu a po opětném kliknutí submenu zase zavřít. Pokud jsou všechny položky rozbalené a zasahují pod úroveň okna monitoru, objeví se horní a dolní šipka, která umožňuje posunutí menu podle směru šipky. Pouhé najetí myší do příslušné pozice spustí posunutí menu. Menu v programu slouží k vybírání článků, které se zobrazují v komponentě „WebBrowser “, která zobrazuje články napsané v jazyce HTML. Články jsou strukturované pomocí CSS do jednoduchého stylu pro každý článek. Pro jednoduší úpravu článků s videi, jsou videa vkládána do stránky JavaScriptem. Většina videí jsou stažená z oficiálních stránek NASA a jsou ve formátu *.mov. Interaktivní obsah programu zahrnuje dvě samostatné komponenty naprogramované v jazyce C# a připojené k programu pomocí knihoven dll. První část zobrazuje planety na svých oběžných drahách kolem Slunce. Je možné si natáčet pohled na planety a pomocí programu je možné i přepínat pohled kamery na „sledování“ jednotlivých planet. Takový pohled poté vypadá jako, že planeta se nehýbe a obíhá vše okolo ní. Program také umožňuje nastavovat „reálné světlo“ a znovu ho vypínat. Druhý interaktivní projekt obsahuje otáčející se kouli s možností přepínat na různé textury s obrázky planet. Tato část má nabídnout uživateli možnost kliknout na jakýkoli kus povrchu a v další části okna se poté zobrazí informace o vybraném území na planetě jako název, o jaký útvar se jedná a další podrobnosti. Zjišťování místa kliknutí jsem realizoval pomocí goniometrických funkcí, protože Direct X nemá funkci, která by vracela souřadnice místa kliknutí na otáčejícím se objektu. Obě interaktivní části se vykreslují hardwarově s prioritním využitím „CreateFlag“ vykreslovaný hardwarově, ale zjistil jsem, že všechny počítače jej nepovolují, tudíž se při volání chyby pokusí program využít vykreslení softwarové.
IMAGINE CUP 2007 | 35
KATEGORIE: SOFTWARE DESIGN | Program o Sluneční soustavě |
Další důležitou částí je možnost vytváření vlastních článků formátovaných v HTML pomocí jednoduchého editoru s možností zkontrolování designu. Příspěvek se po uložení odešle na server, odkud je nahráván dalším uživatelům tohoto programu. Obsah díky tomu nezastarává jako je tomu u knížek. Projekt byl vytvořen pomocí programů Microsoft Visual Basic 2005 Express Edition a Microsoft Visual C# Studio 2005 Express Edition. Téma projektu je vesmír a především naše Sluneční soustava a k tomuto okruhu jsou shromážděné články rozděleny do několika kapitol. První kapitola se zabývá historií vývoje představ o vesmíru. Od prvních pozorování Měsíce a Slunce a předpovídání záplav na řece Nil ve spojení s těmito jevy, přes Ptolemaiovy představy epicyklických drah planet, následně heliocentrický názor a Keplerovy zákony přesně popisující pohyby planet následně doplněné Newtonem o gravitační složku až po moderní dějiny letů do vesmíru a zkoumání Marsu pomocí vesmírných vozítek Opportunity a Spirit. Druhá kapitola se týká nejdůležitějších osobností spojených s představami vesmíru a novými objevy. Další část jsou multimediální projekty pod kapitolou informace. Kromě modelu Sluneční soustavy a modelu planet s možností prohlížení povrchových útvarů na planetě obsahuje tato kapitola i souhrn důležitých fyzikálních údajů pro každou planetu. Jedná se o dobu oběhu, dobu rotace, vzdálenost od Slunce, hmotnost, únikovou rychlost, průměr planety a další údaje. Hodnoty těchto údajů jsou uvedeny např. ve tvaru roky, dny, hodiny, minuty a sekundy. Důležitá možnost je pozorování relativních údajů. Například hmotnost Jupitera se většinou udává v hmotnostech Země, proto má uživatel možnost zvolit si planetu, ke které chce relativní hodnoty vztahovat a zjistit tak hmotnost Jupitera nejen v hmotnostech Země, ale i Merkuru, Venuše a všech ostatních planet. Tím je usnadněna možnost porovnávání údajů mezi vesmírnými tělesy. Je také možné zjistit aktuální vzdálenost dvou planet pro libovolné datum. Pod těmito hodnotami se nachází graf, do kterého můžeme vynést veškeré hodnoty a vidět tak názorně rostoucí vzdálenosti planet od Slunce, složení atmosféry apod. Čtvrtou částí je sekce poznatků, kde uvádím Keplerovy zákony, zmiňuji IMAGINE CUP 2007 | 36
KATEGORIE: SOFTWARE DESIGN | Program o Sluneční soustavě |
teorii vzniku Sluneční soustavy, popisuji co rozumíme pojmem Sluneční soustava a ještě slovníček pojmů vysvětluje termíny jako perihélium, afélium, definice astronomické jednotky apod. Poslední část obsahuje média, mezi kterými jsou především anglická videa stáhnutá ze stránek NASA, která hovoří o slunečním větru, či o vozítku Opportunity. Mezi médii jsou také obrázky planet, měsíců a další. Články se v projektu dělí na dva základní typy podle jejich funkcionality. První články jsou zajímavosti a ostatní jsou naučné. Mezi ně patří fyzikální výklady trojného bodu, speciální a obecné teorie relativity, dále matematické pojmy jako goniometrické funkce a analytická geometrie. Mezi naučná témata logicky patří i dějepisný výklad o vesmíru a životopisy slavných osobností. Každý z těchto článků je spojen s tématem vesmíru, na kterém je vidět praktické využití poznatků získaných ve škole. Například trojný bod souvisí s podmínkami na Marsu, které nedovolují, aby na jeho povrchu existovala voda v kapalné fázi, prostorová geometrie zase souvisí se zjišťování polohy planet. Cílem jednotlivých článků není zastoupení úlohy učitele ve škole, ale ještě něco důležitějšího. Je to motivace. Často člověk získává informace dřív než zjistí jejich využití a to snižuje zájem o ně a vede k nepochopení daného problému. Tento projekt se snaží ukázat využití věd jako matematika a fyzika v praxi na tématech vesmíru. A proč právě vesmír? Sluneční soustava a dobývání vesmíru je jedno z nejzajímavějších témat, na kterém je možné demonstrovat využití „školních věd“. Vesmír je obrovská laboratoř, kde se vyskytují podmínky, které není možné uměle vytvořit jako je obrovská teplota, tlak, magnetické pole atd. Až zkoumání vesmíru umožnilo potvrzení teorie relativity.
IMAGINE CUP 2007 | 37
KATEGORIE: SOFTWARE DESIGN | Program o Sluneční soustavě | Nenásilná forma vzdělávání vede přes získání zájmu uživatele, neboť vzdělávání se pouze z povinnosti nás dokáže přinutit k získání vědomostí, ale ty jsou často pouze dočasné a při první možnosti je velmi rádi zapomínáme. Naproti tomu je možnost ukázat uživatelům zajímavosti a naznačit jim z jaké informace naše zajímavost vychází, čím se odlišuje a jak se k ní sami dobereme. Zájem je totiž největší motivace pro jakékoliv sebevzdělávání. Uživatelsky nejdůležitější je design. První co každý uživatel uvidí je právě vzhled programu a tím si první dojem můžeme zkazit natolik, že nudný program již nikdo znovu neodevře. Proto je projekt o Sluneční soustavě laděn do zajímavých kombinací dvou základních barev červené a černé. Volba barev byla celkem jasná vzhledem k tématu vesmíru a tudíž i černé oblohy s hvězdami a červená je barva, které s tmavým podkladem působí nejzajímavěji. Kombinace více barev by projekt by udělala projekt nepřehledným a méně by vynikl. Přesto je celý grafický design načten z externího souboru XML, kde je možné změnit v podstatě celé grafické nastavení. Tato možnost tu je spíš pro stažení nového designu z internetu, než jako možnost uživatelům vytvářet vlastní design projektu. V externích souborech XML je také možné měnit údaje, které charakterizují planetu (hmotnost, poloměr) vzhledem k tomu, že se tyto údaje neustále zpřesňují bude tato možnost do budoucna nezbytná. Pro vzhled programu však platí, že by neměl vstupovat až do nějakých uměleckých extrémů, neboť složité ovládání by uživatele mohlo odradit ještě snáze než škaredý design. Na druhou stranu šablonovitý program s typickými ovládacími prvky nikoho nezaujme. Proto je program o Sluneční soustavě vytvořen na základě kompromisu mezi vzhledem a funkčností.
IMAGINE CUP 2007 | 38
KATEGORIE: SOFTWARE DESIGN | Omega: Online Multiplayer Educational Game |
Omega Online Multiplayer Educational Game Tým Škola Mentor Řešitelé
Resharpers Slovenská technická univerzita prof. Mária Bieliková Andrej Frlička, Marek Tomša, Richard Veselý, Oto Vozár
Motivácia Vývoj počítačovej technológie napreduje veľmi rýchlo. Čo bolo kedysi výsadou len niekoľkých ľudí v bielych plášťoch sa dnes stalo každodennou samozrejmosťou. Počítače sa nachádzajú takmer v každej domácnosti a nastupujúca generácia je prvou, ktorá má možnosť pracovať s nimi prakticky od detskej kolísky. Avšak existuje riešenie, ktoré naplní potreby ich vzdelávania už od útleho veku? Našou cieľovou skupinou sú deti predškolského a ranného školského veku. Pre deti v tomto veku je položiť základ dobrého vzdelania veľmi dôležitá úloha. Práve vo veku troch až siedmich rokov dochádza u detí k najrýchlejšiemu rozvoju ich schopností a často sa už v tomto veku prejavujú medzi jednotlivými deťmi veľké rozdiely v ich vývoji. Často sa práve v predškolskom veku ukáže, na čo má dieťa talent, a tento je dôležité rozvíjať. Zároveň je nutné, aby sa pri výučbe zohľadnili rozdiely medzi jednotlivými deťmi, pretože každé je iné. Každé je nadané v iných oblastiach, má iné záujmy, obľúbi si iné rozprávky, napreduje iným tempom, či dokáže udržať pozornosť po rôznu dobu. Vzniká tak potreba riešenia, ktoré by prinieslo učenie v zaujímavej forme, ktorou je bezpochyby hra, rozvíjalo by komunikačné zručnosti a zároveň by sa prispôsobilo každému používateľovi – v našom prípade dieťaťu. V rámci projektu sme navrhli a realizovali výučbovú hru Omega (Online Multiplayer Educational Game), ktorá je postavená na týchto základných princípoch: • kreatívne učenie sa hrou, • komunikácia a tímovosť pri riešení problémov a učení sa, • adaptívnosť (personalizácia) každému dieťaťu osobitne. Učenie hrou. Všetky deti sa rady hrajú. Hra je najprirodzenejším kanálom, prostredníctvom ktorého majú šancu deti vstrebávať vedomosti. Hra je prostriedkom pre dlhodobé udržanie pozornosti dieťaťa. Ak sa deťom asociuje od raného veku učenie so zábavou, prechod medzi hrou a učením neskôr nemusia ani postrehnúť a budú sa učiť rady. Preto sa náš systém Omega svojou povahou primárne zameriava na výučbu formou hry. Komunikácia a tímová hra. Najdôležitejšou ľudskou zručnosťou v dnešnom svete je schopnosť komunikovať. Ďalším predpokladom úspechu je naučiť sa fungovať v tíme. Systém Omega podporuje zmysel pre tímovú hru tým, že hráčom nielen dáva možnosť tvoriť tímy a byť takto úspešnejší v napredovaní pri riešení úloh, ale pri plnení niektorých úloh od nich schopnosť vytvoriť dobrý tím priam vyžaduje.
IMAGINE CUP 2007 | 39
KATEGORIE: SOFTWARE DESIGN | Omega: Online Multiplayer Educational Game | Adaptívnosť. Každé dieťa je iné. Niektoré deti vedia už vo veľmi skorom veku napočítať do desať, iné sú dobré v kreslení, písaní alebo majú hudobný talent. Zároveň je tempo, ktorým je schopné dieťa napredovať, pre každé z detí individuálne. Systém Omega sa každému jednotlivému dieťaťu prispôsobuje na úrovni tréningu jednotlivých úloh. Ak je zrejmé, že dieťa určitú úlohu nezvláda, systém mu ponúkne jednoduchšiu úlohu. Tak isto, ak sa vyhodnotí, že dieťa je v jednotlivej disciplíne výnimočne šikovné, systém mu ponúka náročnejšie úlohy a tým ešte viac podporuje jeho talent. Naplnenie týchto princípov tvorí systém vhodný pre všetky deti, bez ohľadu na ich predchádzajúce schopnosti, ktorý ich spája, učí ich pre ne veľmi dôležité základy jednotlivých disciplín a tak prináša lepšie vzdelanie všetkým.
Prehľad systému Herný svet Omega predstavuje výučbovú hru, v ktorej hráči majú možnosť navzájom interagovať. Hráči sú zastúpení vo virtuálnom svete prostredníctvom svojho avatara. Jednotliví hráči alebo vytvorené tímy hráčov dostávajú úlohy z výučbových domén, za ktorých splnenie dostávajú odmenu vo forme virtuálnych vylepšení ich avatara, zvieratka, ktoré im robí spoločnosť, prípadne virtuálnych vecí, ktoré môžu použiť pri ďalšom napredovaní v hre. Ukážka herného sveta je zobrazená na obrázku 1. Systém sa v súčasnej implementácii zameriava na domény: matematika, čítanie a písanie, hudba a prvouka. Jednotlivé úlohy môžu byť z konkrétnej domény alebo tiež multidisciplinárneho charakteru. Berieme do úvahy fakt, že každé dieťa môže vynikať v inej doméne a zároveň podporuje deti, aby sa zlepšovali v ostatných doménach. Výučba v jednotlivých doménach je realizovaná postupom v jednotlivých úlohách (angl. quest), ktoré deti dostávajú od virtuálnych postáv vystupujúcich v hre. Pre väčšiu motiváciu detí je hra založená na rozprávke o dvoch panovníkoch. Pokoj v kráľovstve kráľa Mudrochusa XXI. narušuje zlý gróf Kazimír z Nevedomiec, ktorého cieľom je, aby všetky deti boli nevedomé a hlúpe. Deti s pomocou svojho zvieratka, rôznych postáv, učiteľov a hrdinov môžu pomôcť dobrému kráľovi tým, že sa stanú múdrymi a vzdelanými a prekazia tak plány zlého grófa. Tútori, ktorých hráči stretávajú v hernom svete, im prideľujú tréningové úlohy. Až dosiahnu dostatočnú úroveň znalostí, môžu deti vyraziť ďalej do sveta, kde stretávajú prisluhovačov grófa Kazimíra. Títo im dávajú úlohy z príslušných domén v závislosti na polohe v hernom svete. Na cestu sa môžu vydať sami, alebo vytvoriť tím a zvýšiť tým svoje šance na úspech. Vo svete existujú zóny kde sú hráči skúšaní z každej z domén separátne a v ich prienikoch sa môžu stretnúť s úlohami multidisciplinárneho charakteru. Príkladom úlohy, ktorú môže dieťa dostať, je vypočítať matematický príklad alebo preukázať faktické znalosti z niektorej z domén, napríklad priradiť správne zvuk zvieratka k jeho obrázku. Náročnosť úloh sa progresívne zvyšuje, teda šikovné deti môžu rýchlo postúpiť cez jednoduché úlohy na pre ne primeranú náročnosť úloh. Na špecifických miestach v každej zóne je IMAGINE CUP 2007 | 40
KATEGORIE: SOFTWARE DESIGN | Omega: Online Multiplayer Educational Game | strážca zóny, prisluhovač grófa Kazimíra, ktorého môžu hráči poraziť tak, že vyriešia sadu náročných úloh v hernej aktivite (viď nasledujúca kapitola) prislúchajúcej danej doméne. Vo virtuálnom svete sú tiež miesta dedikované pre trénovanie zručností v jednotlivých disciplínach. Princípy aplikované v jednotlivých herných aktivitách umožňujú tiež hráčom, ktorí vynikajú v konkrétnej disciplíne, učiť ich spoluhráčov, a takto zvyšovať šance na úspech tímu. Tento prístup podporuje zmysel pre tímovú hru hráčov. Súčasťou systému je editor herného sveta, v ktorom sa dá svet navrhnúť s použitím grafického rozhrania. V editore je tiež v prípade potreby možné navrhnúť a doprogramovať správanie nových postáv vystupujúcich v hre a rozšíriť a zmeniť tak správanie existujúcich postáv, ktoré sme v našom prípade navrhli s ohľadom na vyššie popísaný príbeh rozprávky. Dôležitým aspektom v systéme je možnosť zapojenia mentorov do výučbového procesu. Mentori sú používatelia, ktorí majú v systéme špeciálne právomoci. Môžu hráčovi pomáhať, môžu s ním priamo interagovať v jednotlivých herných aktivitách, zároveň podľa svojho vzťahu k nemu (učiteľ, resp. rodič) ho môžu hodnotiť alebo smerovať jeho výučbu želaným smerom. V oblastiach, kde herný systém dosahuje svoje limity slúžia ako vyrovnávací prvok, ktorý dodáva výučbe prirodzenosť. Herné aktivity Herné aktivity predstavujú skúšanie v jednotlivých disciplínach. V hernom svete sa deti stretávajú s postavami, ktoré im prideľujú úlohy, ktoré spočívajú v dosiahnutí istého hodnotenia v konkrétnej hernej aktivite. Vo svete sa tiež nachádzajú arény, kde môžu deti navzájom súperiť v jednotlivých disciplínach. V systéme vystupuje aplikácia vo forme Windows Vista Sidebar Gadgetu, cez ktorú si môžu deti spustiť buď samotnú hru alebo priamo obľúbené jednotlivé herné aktivity. Na zrelaxovanie si tiež môže dieťa nechať povedať rozprávku. Grafické rozhranie gadgetu je zobrazené na obrázku 2. Hra Strokes Hra slúži na rozvoj motorických schopností detí a v neskorších fázach aj na trénovanie písania jednotlivých písmen. Úlohou hráča je obtiahnuť predlohu špecifikovanú ako postupnosť ťahov. Hra priebežne hodnotí presnosť ťahu a posky¬tuje hráčovi spätnú väzbu v podobe zvieratka, ktoré ho chváli, ak sa mu darí, prípadne povzbudzuje, v prípade že sa mu darí menej. Pri hodnotení sa berie do úvahy aj rýchlosť hráča pri obťahovaní. Ako odmenu za splnenú úlohu dostáva hráč obrázok, ktorý je tematicky príbuzný obťahovanému objektu. Hra okrem režimu pre jedného hráča, v ktorom môže fungovať aj ako nezávislá aplikácia, ponúka aj možnosť hráčov navzájom súťažiť v obťahovaní predlohy. Spojení sú cez sieťové rozhranie, teda každý obťahuje na tablete pri svojom počítači a vidí ťahy druhého hráča inou farbou. Vyhráva hráč, ktorý obtiahne predlohu presnejšie a zároveň je v tom rýchlejší. IMAGINE CUP 2007 | 41
KATEGORIE: SOFTWARE DESIGN | Omega: Online Multiplayer Educational Game | Hra Matematické balóny V tejto hre hráči trénujú matematické príklady. Hra im zadáva po jednom príklady s viacerými možnosťami výberu odpovede a tieto možnosti zobrazí vo forme balónov. Dieťa kliknutím na správny balón vyberie odpoveď. Hra vykazuje adaptívne črty. Počas trénovania riešenia úloh sa hráčovi prispôsobuje na základe jeho úspešnosti. Príklady sú rozdelené do niekoľkých typov a tým sa trénujú postupne sčítanie malých čísel, precvičuje násobilka a nakoniec operácie s väčšími číslami. Hra Smart Lines Hra Smart Lines slúži na precvičovanie vedomostí z ľubovoľnej domény poskytujúcej úložisko doménových znalostí s odpoveďami s možnosťou výberu. V momentálnej implementácii poskytuje úlohy z domény matematiky. V hre dieťa postupuje tak, že spája myšou body, ktoré tvoria obrys obrázka. Hru môžu hrať viacerí hráči pri jednom počítači s viacerými myšami, kedy je obrazovka rozdelená na viacero častí. Hra Music Cieľom hry Music je rozvíjať hudobnú predstavu a sluch. Deti majú možnosť vypočuť si a spoznať zvuky rôznych hudobných nástrojov a precvičovať si ich rozpoznávanie. Ďalej si môžu upevňovať predstavu o melódii opakovaním krátkych prehratých ukážok či už spevom alebo na hudobnom nástroji. Hra vyhodnocuje ich vstup pomocou algoritmu na rozpoznávanie výšky tónu a poskytuje deťom spätnú väzbu prostredníctvom ich zvieratka. Spoločník – zvieratko Každý hráč dostane pred svojím prvým vstupom do herného sveta spoločníka – zvieratko, ktoré ho sprevádza, povzbudzuje, pomáha mu a učí sa spolu s ním. Dieťa s ním môže vykonávať rôzne činnosti od náučných ako precvičovanie rôznych herných aktivít – napríklad matematiky či hudby, až po oddychové ako čítanie rozprávok. Môže hráča sprevádzať dokonca mimo domova v PDA, kde sa môže o neho starať a hrať sa s ním.
Architektúra systému Architektúra systému je navrhnutá s orientáciou na služby. Systém pozostáva z množiny nezávislých služieb, ktoré navzájom alebo s používateľom komunikujú cez rozhrania postavené na XML webových službách. Diagram na obrázku 3 zobrazuje architektúru systému.
Služby Systém zahŕňa niekoľko druhov služieb. Základ predstavujú infraštruktúrne služby (Infrastructural Services), ktoré poskytujú podporu pre základné potreby systému, ako pohyb hráčov vo virtuálnom svete alebo ich vzájomnú komunikáciu. Ďalšou kategóriou sú služby aktivít (Activity Services), ktoré zastrešujú konkrétne herné aktivity. Tieto sa môžu do systému vkladať nezávisle od ostatných, a takto možno systém priamočiaro rozširovať pridávaním funkcionality. Služby doménových znalostí (Domain Knowledge Services) predstavujú úložisko znalostí z konkrétnej domény, ktoré využívajú klienty aktivít na overovanie znalostí používateľov. Pridaním služby doménových znalostí sa dá systém rozšíriť, aby pokryl dodatočnú doménu. IMAGINE CUP 2007 | 42
KATEGORIE: SOFTWARE DESIGN | Omega: Online Multiplayer Educational Game |
Obrázok 3: Architektúra systému. Poslednou kategóriou služieb sú dátové služby (Data Services), ktoré sú zastúpené službou Statistics a User Model. Služba Statistics slúži na ukladanie a sprístupňovanie herných štatistík, napríklad informácií o najlepšom výkone v danej disciplíne alebo najúspešnejších hráčoch v danom časovom období. Služba User Model predstavuje sprístupnenie a udržovanie modelu používateľa. Herné aktivity do nej v reálnom čase zapisujú fakty o používateľovi, odvodené z pozorovania jeho aktivít a tieto ďalej využívajú pri prispôsobovaní obtiažnosti jednotlivých úloh alebo aj ich výberu. Klient Grafický herný klient umožňuje používateľovi ponoriť sa a preniknúť do hry a herných mechanizmov prostredníctvom znázornenia virtuálneho sveta. Z hľadiska architektúry integruje klient niekoľko infraštruktúrnych služieb komunikujúcich so serverom, v konjunkcii so serverom zodpovedá za spúšťanie herných aktivít a pomocou mapového objektového modelu exportovaného editorom herného sveta reprezentuje virtuálne prostredie, v ktorom prebieha vzájomná interakcia medzi používateľmi. Na rozpoznávanie hlasu sú použité gramatiky určujúce hlasové povely akceptované používateľským rozhraním. Rozšíriteľnosť Vďaka navrhnutej architektúre je možné vytvárať ďalšie služby herných aktivít a tým rozširovať funkcionalitu systému. Nové herné aktivity sa môžu napojiť na existujúce doménových znalostí alebo môžu prinášať vlastné, nové, domény. IMAGINE CUP 2007 | 43
KATEGORIE: SOFTWARE DESIGN | Omega: Online Multiplayer Educational Game |
Implementácia a overenie Serverová časť je implementovaná ako Windows Communication Foundation (WCF) služby hostované priamo z .NET aplikácií. Využívame v nich pokročilé vlastnosti platformy WCF, umožňujúce obojsmerné bindingy, ktoré v podstatnej miere zjednodušili návrh aplikácie a zabezpečujú bezpečnú a spoľahlivú bázu pre komunikáciu. Služby, ktoré nevyžadujú komunikáciu iniciovanú z oboch strán sú implementované ako ASP.NET 2.0 webové služby. K niektorým z nich (napríklad k službám doménových znalostí) je implementované rozhranie v podobe ASP.NET 2.0 webových stránok, cez ktoré je možné pridávať dáta do databázy znalosti. Na klientskej strane používame XNA Framework, Windows Forms a Windows Presentation Foundation. Tiež ponúkame pre deti prirodzené rozhranie formou rozoznávania hlasových povelov s využitím Microsoft Speech API. Aplikácia vo Vista Sidebar Gadgete je implementovaná v javascripte s využitím Vista Sidebar API. Pre možnosť použiť pri hre viac myší využívame Microsoft Multipoint SDK. Jednotlivé hry sú postavené na technológii Windows Forms a Windows Presentation Foundation. PDA klient využitý v projekte je založený na platforme Windows Mobile a .NET Compact Framework 2.0. Celý projekt je implementovaný v jazyku C# s použitím vývojového prostredia Microsoft Visual Studio 2005 Professional a Microsoft XNA Game Studio Express. Okrem štandardných metód testovania softvérových systémov, ktoré sme aplikovali počas vývoja jednotlivých komponentov systému a pri integrácii komponentov sme systém overovali aj priamo s cieľovými používateľmi – deťmi, ktoré nám poskytli cennú spätnú väzbu, ktorá nám pomohla vytvoriť rozhrania systému tak, aby poskytovali deťom dostatočný komfort a jednoduchosť používania.
Záver Vytvorili sme systém zlepšujúci výučbu pre všetky deti predškolského a raného školského veku. Dôležitú potrebu poskytnúť efektívne vzdelávanie systém Omega napĺňa pre deti veľmi atraktívnou formou hier. Systém sa prispôsobí tempu učenia sa každého individuálneho dieťaťa, s ohľadom na jeho šikovnosť, ale aj momentálnu náladu. Poskytuje deťom motiváciu zlepšovať sa v komunikačných a tímových zručnostiach. Toto všetko sme technicky zabezpečili s ohľadom na budúcu rozšíriteľnosť systému. Poskytli sme editory pre herný svet, editory a úložiská úloh herných aktivít, ako aj úložiská všeobecných úloh v jednotlivých doménach. Architektúra systému dovoľuje pridávať nielen nové aktivity, ale aj rozšíriť systém pre ďalšie domény. Komponenty systému sú navrhnuté ako otvorené, s prihliadnutím na možnosť pridania novej funkcionality. Prinášame systém, ktorý podporí prirodzený proces spoznávania sveta počítačov a komunikácie a pomôže vytvoriť zmysel pre tímovú hru, ale predovšetkým prinesie lepšie vzdelanie pre všetkých tým, že ho podporí najprirodzenejším spôsobom – hraním hier.
IMAGINE CUP 2007 | 44
KATEGORIE: SOFTWARE DESIGN | Universal Learning Studio |
Universal Learning Studio Tým Škola Řešitelé
QuestionOf42 SPŠ Třebíč, Gymnázium Třebíč, SPŠ Třebíč, SPŠ Třebíč Josef Vondráček,Tomáš Herceg, Jan Vostal, Jan Zeman
Cíl projektu Cílem tohoto projektu je poskytnutí kvalitnějších pomůcek k výuce. Projekt je rozčleněn do několika částí, přičemž každá z nich plní svůj zvláštní úkol. Celý produkt je laděn do specifického grafického designu.
Použité technologie Ke zpracování projektu byly využity technologie Visual Basic 2005 Professional, SQL Server 2005 Standard, DirectX 9, DXHTML, XML.
Grafická struktura projektu
IMAGINE CUP 2007 | 45
KATEGORIE: SOFTWARE DESIGN | Universal Learning Studio |
Logika správy dat
Popis jednotlivých částí projektu Obecný popis aplikací Většina aplikací námi vytvořené sady Universal Learning Studio je orientována způsobem klient – server, klientskou část lze využívat i samostatně bez závislosti na serveru, tudíž lze programy používat jak v rámci jednoho uživatele například doma, tak ve skupině uživatelů například ve škole.
Databázová prostředí pro uchovávání dokumentů a multimédií – UDataArchiver Ve školství se dnes potýkáme se spoustou dat, která je třeba uchovávat. Jedná se o laboratorní práce, rozsáhlé ročníkové projekty a spousty dalších dokumentů. K účelu přehlednosti a pořádku vyvíjíme právě tuto softwarovou část, jež ulehčí spousty práce s přebíráním se ve vysokých sloupcích papírů ve skříni. Část výukového studia, která se zabývá touto tematikou, se nazývá UDataArchiver (Universal Data Archiver). Její princip je založen na databázi, která obsahuje specifické informace o stromově členěních sekcí. Každá sekce je určena pro uchovávání souborů. Pro lepší přehlednost a přesnější specifikaci určitých dat se nastavují šablony informací, které pak můžeme na jednotlivé soubory použít. K souborům obsaženým v jednotlivých sekcích se mohou připojovat další soubory, čímž získáváme mohutnou komplexnost dat s velmi rychlým přístupem k souvisejícím informacím. Jako příklad lze uvést sekci pro knihy. Budeme zde mít členění podle žánrů knih. Nejdříve si vytvoříme šablonu pro informace o jedné knize. Uvedeme název knihy, autora, rok vydání, literární období, do něhož literární dílo spadá, typ dokumentu. Pak při přidávání jednotlivých knih například ve formátu Microsoft Office Word zvolené parametry vyplňujeme. Po vložení knihy si k ní můžeme připojit například informace o daném literárním období, životopis autora nebo další související knihy. Tato práce učitele nebo jiného správce archivační databáze umožní studentům získat potřebné informace za velmi krátkou dobu a případně může navádět i k zájmu o získávání dalších informací. Samozřejmostí je vyhledávání v databázi a to i s možností zvolení určité lokace pro vyhledávání. Jako další výhoda tohoto archivačního softwaru se naskýtá možnost určení práv u jednotlivých sekcí. Práva se dělí do dvou částí. Administrátorské a uživatelské. Administrátorské sekce pak můžeme jednoduše používat pro například archivaci laboratorních prací či referátů. Pro další vývoj této aplikace je zamýšlena možnost webového rozhraní napojeného přímo na databáze, kde by následně bylo možno databázi procházet i prostřednictvím internetu.
IMAGINE CUP 2007 | 46
KATEGORIE: SOFTWARE DESIGN | Universal Learning Studio |
Výuková databáze – USceneMaster Existuje již spousta typů výukového softwaru, který ač se zdá být výborným, tak zapomíná na jednu věc. Nemusí každému přesně vyhovovat. Proto jsme vytvořili výukovou databázi, která může absorbovat libovolné množství předmětů, jež se dají přímo editovat učitelem. Databáze se skládá ze scén, které jsou interaktivní a pohyblivé, neboť se začíná používat učeben s projektory a někteří líní učitelé jen sedí, nemíní přidat ono oživení a z pohledu studenta lze naznat, že se mnohem lépe vnímají věci, které se pohybují a nejsou příliš statické. Vkládání scén se uskutečňuje pomocí wysiwyg editoru. V programu USceneMaster se nejprve vytvoří stromečková struktura daného předmětu, kde první úrovně reprezentují jednotlivé kapitoly a druhé úrovně slouží přímo jako podkapitoly pro jednotlivé scény vyobrazující učenou část výukových materiálů. Vkládat lze multimédia, grafické prvky, texty a připojení na dokumenty obsažené v databázi UDataArchiveru. Výhodou tohoto editoru je to, že každé datové pole vložené do scény může obsahovat několik úrovní informací, které se po prodlení nastaveného časového intervalu mění. Tím získáváme rozličné možnosti, jak upoutat pozornost studentů při výkladu přednášejícího. K uložení konfigurace a rozmístění jednotlivých elementů je využit formát XML. Uchovávání dat každé scény sprostředkovává zazipovaný balíček souborů, který je vždy po dobu prohlížení extraktován do složky pro dočasné soubory. Tak data zabírají na disku minimum prostoru.
IMAGINE CUP 2007 | 47
KATEGORIE: SOFTWARE DESIGN | Universal Learning Studio | Nástroj pro zkoušení – UTestServer Další ulehčení práce s žáky či studenty poskytuje nástroj pro zkoušení (UTestServer – Universal Test Server), který umožňuje vytvoření testu prostřednictvím jednoduchých formulářů. Testy mohou obsahovat několik druhů informací: obrázkové, testové typy otázek, otázky vedoucí na odpovědi psané vlastními slovy. Jednotlivé testy se člení podle kategorií například s významem předmětu, v němž mají být použity. Lze mezi nimi provádět vyhledávání. Ve výpisu testů vždy volíme ten, který má být aktivní, čímž spustíme jeho poskytování za pomoci vlastního HTTP serveru, který distribuuje jednotlivé otázky všem uživatelům po síti. Výsledky již vyplněných otázek se okamžitě zobrazují ve stavu spuštěného testu. Pro případ, že by studenti nebyli na počítačové učebně, plánuje se i export například do Open XML formátu programu Microsoft Office Wordu, ze kterého může vyučující test snadno vytisknout. V tomto programu si učitel může uchovávat i informace o prospěchu jednotlivých studentů a případně si nastavit hodnocení testů dle procentuálních mezí správnosti řešení. Vyhodnocení otázek tybu a),b),c) provádí program automaticky. Otázky u nichž je zapotřebí zásahu učitele si se vyhodnocují manuálně. Testy lze z programu exportovat a do programu je i inportovat a to i s možností stažení testů pomocí webové služby dle výběru z balíčků on-line.
Přehrávač médií spolu s editorem titulků – UMPlayer + USubtitler Zejména v jazykových předmětech je důležité, aby se student mohl soustředit na mluvenou formu slova, přičemž se dá pomocí titulků ulehčit porozumění. Náš přehrávač umožňuje zobrazovat dvě verze titulků najednou a to jak u videa tak i u zvuku, takže lze kombinovat například český a anglický text. V přehrávači též lze zobrazovat data z databáze UDataArchiveru, při čemž podporuje zobrazení připojených informací k danému přehrávanému souboru. Přehrávání souborů poskytuje playlist, do nějž můžeme vkládat libovolná multimediální data podporovaná knihovnou DirectX.AudioVideoPlayback. Editor titulků USubtitler slouží k vytváření textových doplnění k multimédiu jak zvukovému, tak i k médiu s videem i zvukem. Editace jednotlivých titulků probíhá na principu tabulkového seznamu textů s časovým označením v pořadí od začátku časového průběhu multimédia až do jeho konce.
IMAGINE CUP 2007 | 48
KATEGORIE: SOFTWARE DESIGN | Universal Learning Studio | Moduly Pro dynamičnost aplikace lze přidávat moduly ve formě dynamických knihoven, případně spustitelných aplikací, které se následně dají spouštět pomocí utility v TrayBaru. Tato utilita slouží i k otevření ostatních částí programu. Jako základ jsou obsaženy dva moduly. Periodická tabulka prvků V tomto modulu se nachází graficky zpracovaná tabulka s možností výběru prvku, přičemž se zobrazí jeho detailní popis a specifikace i s obrázky. ChemLab3D ChemLab3D je součastí tohoto výukového systému, jedná se o 3D model chemické laboratoře, ve kterém můžete provádět své pokusy bez jakéhokoliv rizika výbuchu či újmy na zdraví. Systém je plně rozšiřitelný a komunikuje s webovou službou, která mu poskytuje aktualizace databáze chemických prvků a reakcí. Pokud v systému nějaká reakce chybí, mohou ji uživatelé do databáze přidat a publikovat ji online (musí projít schvalovacím procesem, aby byla zajištěna správnost dat), aby se dostala prostřednictvím aktualizací ke všem ostatním. ChemLab 3D klade důraz na intuitivní ovládání a oproti skutečné chemické laboratoři má tento systém několik vylepšení, jako například čidla teploty a koncentrace, která můžete umístit například do zkumavky a sledovat koncentraci jednotlivých látek v průběhu reakce. Reakce můžete urychlit nebo naopak zpomalit, pozastavit v nejzajímavějších fázích a opakovat. Tento systém si neklade za cíl nahradit výuku ve skutečných chemických laboratořích, má sloužit ke zpestření výuky a k názornějšímu výkladu.
Chemická laboratoř používá pro obsluhu vlastní skriptovací jazyk, v plánu je i grafické rozhraní. Základní myšlenkou skriptovacího jazyka je srozumitelnost a podobnost přirozenému jazyku. Vše bude lokalizovatelné a vyučující se nemusí učit složitá pravidla. Ovládání psaním skriptu má také jednu výhodu – pokud bude například rozpoznávání řeči ve Windows Vista lokalizováno do češtiny, nebude problém ovládat tento systém hlasem, vyučující tedy při výuce nemusí sedět u počítače. Chemické látky a chemické reakce jsou popsány v XML souborech, vykreslování funguje na rozhraní DirectX 9. Web projektu Universal Learning Studio: http://www.lvdesign.cz/universal/ IMAGINE CUP 2007 | 49