Elektronická podpora výuky předmětu Komprese dat Vojtěch Ouška ouskav1@fel.cvut.cz 19. června 2006 Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 1 /15
Co je to SyVyKod? SyVyKod = Systém pro podporu výuky Komprese dat Jedná se o webový e-learningový systém skládající se ze dvou navzájem nezávislých modulů:,. Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 2 /15
Tento modul představuje výukovou část, ve které mohou studenti vidět, jak pracují jednotlivé kompresní algoritmy. Každý algoritmus obsahuje stručnou charakteristiku, pseudokód, složitosti a vizualizační applet. Modul podporuje zobrazení informací v českém a anglickém jazyce. Obsah modulu (popisy algoritmů a vizualizační applety) vytvářejí studenti v rámci semestrálních prací. Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 3 /15
Modul nabízí prostředky pro vytváření testových materiálů. Vyznačuje se následujícími vlastnostmi: třívrstvá webová aplikace založená na technologii J2EE, podpora flexibilního vytváření testových materiálů, generování testů - každý student dostává jiný test, automatické vyhodnocování testů, jednoduchá správa, obecný návrh umožňující testování znalostí různých problematik, role administrátor a student. Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 4 /15
Použité technologie J2EE - JSP a Servlety, Apache Tomcat - aplikační server, PostgreSQL - databázový server, XHTML stránky - prezentační vrstva, JavaScript - zpříjemnění provádění uživatelských akcí, CSS - centralizovaná definice vzhledu, DBCP - komponenta pro databázový pooling. Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 5 /15
Šablony otázek představují základní stavební bloky pro vytváření testových materiálů. Statické a dynamické, různé typy otázek (jedna správná odpověd, více správných odpovědí, textový vstup uživatele), atributy: čas, body, název zásuvného modulu,..., možnost využití XHTML tagů. Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 6 /15
- pokračování Kategorie představují tematické okruhy, sdružují šablony otázek podobné problematiky. Šablony testů definují vzor pro výsledné testy, jsou vytvářeny z kategorií, mohou být aktivní nebo neaktivní. Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 7 /15
Další vlastnosti Podpora vícejazyčného prostředí - ResourceBundle (prostředí aplikace, testové materiály, zásuvné moduly), logování událostí, zkušební a ostré testy, různé přístupy při výpočtu celkového hodnocení, výstup pro tisk - administrátor si může nechat vygenerovat test, který lze použít i pro klasické písemné zkoušení, správa uživatelů (postupné vkládání, hromadný import z XML dokumentu). Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 8 /15
Bezpečnost SyVyKod Autentizace - uživatelské jméno a heslo. Autorizace - kontrola práv přidělených v procesu autentizace. Kontrola na úrovni servletů, kontrola na úrovni prováděných akcí, ověřování vlastnictví modifikovaných dat. V systému je implementována ochrana proti podvádění při testu - čas, vlastnictví, podvrhování HTTP požadavků, ovlivňování obsahu stránek vkládáním XHTML entit (výjimka pro administrátora), vkládání SQL příkazů (SQL injection). Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 9 /15
Co je to zásuvný modul? Rozšíření aplikace o nové dynamické otázky, algoritmický popis pro generování otázky, Java třída implementující předepsaná rozhraní. se starají o generování zadání otázek - může být ovlivněno parametry, generování nabídky správných a špatných odpovědí, kontrolu správnosti odpovědí - modul sám nejlépe ví, jaký vstup očekávat, generování dynamických obrázků. Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 10 /15
Programové rozhraní zásuvných modulů DynamicQuestionOne DynamicQuestionMany DynamicQuestionText generatequestion(locale locale, Random random) gettext() getcorrectanswer() getcorrectanswers(int correctanswersmaxcount) getresult() getwronganswers(int wronganswersmaxcount) serializace... deserializace getgeneratedimage() isanswercorrect(string ans) Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 11 /15
PluginTester SyVyKod PluginTester je desktopová aplikace sloužící jako doplněk pro testovací modul. Vyznačuje se následujícími vlastnostmi: ověřuje správnost návrhu nově vytvářených zásuvných modulů, simuluje stejné podmínky, jakým bude modul vystaven na straně serveru, lze ji použít už při samotném vývoji modulu - podpora opětovného zavádění tříd, implementuje uživatelské zavaděče. Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 12 /15
PluginTester SyVyKod Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 13 /15
SyVyKod Aplikace je připravena pro nasazení do provozu, podporuje český a anglický jazyk, k aplikaci lze přidat cca 30 vytvořených šablon otázek zabývajících se problematikou komprese dat, tyto šablony mohou zároveň sloužit jako ukázky pro vytváření dalších testových materiálů, balíčky pro vývoj modulů obsahují pomocné třídy usnadňující kontrolu odpovědí studentů. Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 14 /15
Konec Děkuji za pozornost Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 15 /15