3. Inovace předmětů skupiny softwarového inženýrství Do skupiny softwarové inženýrství byly zařazeny následující předměty: Poř.č.
Předmět
Název
Semestr
Kredit
Záp.
1
ALGDS
Algoritmy a datové struktury
1
4
z
2
LP1
Logické programování I
3
5
z
3
OWE
Optimalizace webových aplikací
6
5
4
PGRF1
Počítačová grafika I
3
5
PGRF2
Počítačová grafika II
6
Garant
Stupeň
im
ai
A. Ševčíková
BC
P
P
zk
J. Hynek
BC
V
P
z
zk
T. Cimler
BC
V
V
6
z
zk
A. Slabý
BC
V
P
4
5
z
zk
A. Slabý
BC
V
P
PROG1 Programování I
2
4
z
T. Kozel
BC
P
P
7
PROG2 Programování II
3
6
z
zk
T. Kozel
BC
V
P
8
PROG3 Programování III
4
5
z
zk
T. Kozel
BC
V
V
9
UOMO
1
3
z
zk
P. Čech
BC
P
P
SYPRO Systémové programování
9
z
z
zk
F. Malý
Mgr
V
P
11
MTE
Mobilní technologie
10
6
z
zk
T. Kozel
Mgr.
V
P
12
PGRF
Počítačová grafika
8
5
z
B. Ježek
Mgr.
V
P
13
PGRF3
Počítačová grafika III
7
6
z
zk
B. Ježek
Mgr.
V
P
14
PPRO
Pokročilé programování
7
6
z
zk
A. Slabý
Mgr.
V
P
15
TINF
Teoretická informatika
8
5
z
zk
J. Hynek
Mgr.
V
P
10
Úvod do objektového modelování
Zk.
Poznámky: im – obor informační management, ai - obor aplikovaná informatika, P – povinný předmět, V- volitelný předmět
Na návrhu inovace předmětů této skupiny se podílely firmy AG COM , ORTEX, GIST, FG Forrest a DERS.
3.1.Požadavky firem na absolventy Požadované obecné schopnosti Analýza problémů: schopnost postihnout šíři problému a uvažovat v souvislostech, schopnost strukturovat problém, jeho abstrakce, nebo naopak dekompozice. Systémový přístup: schopnost celkového pohledu na všechny důležité aspekty problému projektu, se schopností identifikace a respektu k jejich vzájemným souvislostem a v celém průběhu projektu. Orientace na výsledek: preference cíle před způsobem jeho dosažení, nasazení a dotažení řešení problému do konce, vytrvalost a aktivní přístup. 1
Efektivní komunikace: schopnost vyjádřit se přesně a včas, naslouchat a porozumět, schopnost reagovat v interakci s druhými vhodnou a účelnou formou. Kooperace a adaptabilita: schopnost týmové práce a převzetí odpovědnosti, zvládání změn, stresu a nepříznivých situací, schopnost přijmout kritiku i ji vhodně prezentovat, aktivní přístup k dalšímu vzdělávání.
Další požadavky: všeobecný přehled o IT, přehled o trendech a vývoji ICT dobrá znalost kancelářských SW (např. Office) technická znalost AJ, porozumění odbornému textu znalost českého jazyka ochota učit se, flexibilita týmová práce i samostatnost, schopnost analytického myšlení a rozdělení práce prezentační dovednosti, znalost prezentačních nástrojů komunikační schopnosti, sdílení a předávání vlastních znalostí. nápaditost a vlastní invence, inovace spolehlivost a zodpovědnost, preciznost, důslednost, odpovědnost a aktivní přístup schopnost analyzovat problémy, zobecňovat požadavky, dobré analytické schopnosti, systémové myšlení Požadované schopnosti pro oblast vývoje SW 1. analytické a systémové myšlení, 2. znalost notace UML jak pro čtení, tak pro vlastní modelování (v nástroji jako např. Enterprise Architect), 3. znalost OOP a jazyka Java (znalost dalších jazyků výhodou - Scala, Groovy, Ruby, Python, JavaFX) 4. Design Patterns (na úrovni GOF), MVC, AOP 5. Java/J2EE-based technologie – Servlets, JSP, JDBC, Log4j, ORM (Hibernate / iBatis), 6. web frameworky (Spring MVC / Stripes / JSF / další), 7. Spring Framework, šablonovací řešení (Freemarker / Velocity) atd. 8. SQL, relační databáze – MySQL, PostgreSQL, Oracle, příp. jiné 9. přiměřená znalost technologií webových frontendů – HTML, CSS, JavaScript 10. vývojářské techniky a nástroje (používání issue trackeru, buildovací nástroje Ant / Maven 2, použití integračního serveru, source repository CVS / SVN / GIT), 11. TDD - vývoj pomocí testů (JUnit, TestNG) 12. znalost C++, znalost platformy Linux(Solaris, AIX výhodou); 13. znalost Java, samostatnost, zodpovědnost, technická znalost platforem J2SE, J2EE; 14. velmi dobrá znalost principů OOP; výhodou zkušenost s aplikačními, webovými a databázovými servery; znalost platformy MS.NET a jazyka C#, 15. základní znalost HTML, CSS, JavaScript a ASP.NET; 16. Znalost architektury a problematiky web aplikací 17. Znalost vývojového prostředí 18. Zásady bezpečného vývoje aplikací 19. matematika, algoritmizace a jejich aplikace 20. technická znalost AJ
2
21. kreativní myšlení a grafické cítění, schopnost vytvořit pro požadovanou funkčnost odpovídající vzhled 22. zaměření na uměřený a funkční, leč moderní a nápaditý design, akcent na uživatelskou přístupnost a intuitivnost designu 23. základní znalosti typografických pravidel 24. Navrhování metodiky testování aplikací - návrh a příprava testovacích scénářů a testovacího prostředí. Poznámka: červeným písmem jsou vyznačené požadavky, které prozatím nejsou ve stávající fázi inovací dostatečně pokryty.
3.2.Přehled obsahové inovace předmětů Algoritmy a datové struktury Cílem předmětu je rozvíjet logické a algoritmické myšlení, naučit studenty rozumět probíraným algoritmům a samostatně obdobné algoritmy sestavovat.
Hlavní oblasti inovace: Předmět Algoritmy a datové struktury obsahově v podstatě vyhovoval požadavkům na úvodní předmět, který je zařazen před předměty zabývající se programováním. Na základě požadavků je nyní více prostoru věnováno • různým datovým strukturám • podrobnějšímu rozboru algoritmů (krokování) z důvodu lepšího pochopení činnosti algoritmů • testování napsaných algoritmů v programu Algoritmy, který byl vyvinut na FIM UHK v rámci diplomové práce Do předmětu bude nově zahrnut semestrální projekt, v kterém si studenti sami vyberou vhodný úkol, nebo bude zadán vyučujícím a následně ho algoritmicky zpracují. Náplň inovovaného předmětu: Téma
Cílové schopnosti studentů
Základní algoritmické konstrukce
Chápat základní pojmy z oblasti základní algoritmické konstrukce. Interpretovat a použít jednoduché příkazy: přiřazovací příkaz, příkaz vstupu a výstupu. Aplikovat základní algoritmické konstrukce: posloupnost příkazů, příkaz větvení a příkaz cyklu. Zapsat jednoduchý algoritmus v pseudokódu. Porozumět činnosti daného algoritmu.
Typové algoritmické 2 konstrukce – pro předem známy počet hodnot
Sestavit jednoduchý algoritmus zpracováván předem známy počet čísel.
1
3
Typové algoritmické 3 konstrukce – pro předem neznámy počet hodnot
Sestavit jednoduchý algoritmus zpracováván předem neznámy počet čísel.
Typové algoritmické 4 konstrukce pro práci s jednorozměrným polem
Formulovat jednorozměrné pole. Sestavit algoritmy na zjištění počtu, součtu a součinu členů posloupnosti s danou vlastností. Najít minimální a maximální členy, první a poslední výskyt určitých hodnot v číselné posloupnosti. Odebírat, vkládat a posouvat členy z/do/v posloupnosti. Uložit členy posloupnosti s danou vlastností do nové posloupnosti. Spojit členy víc posloupnosti do jedné. Aplikovat základní algoritmické konstrukce v datové struktuře pole.
Typové algoritmické 5 konstrukce pro práci s dvourozměrným polem
Formulovat dvojrozměrné pole, obdélníkovou matici velikosti (m, n) a čtvercovou matici (m, m). Zpracovávat prvky v matici po řádcích a po sloupcích. Pracovat s prvky na hlavní a vedlejší diagonále a pod a nad diagonálou.
6
Algoritmy vnitřního třídění
Uvést příklady třídicích algoritmů a vysvětlit základní myšlenku algoritmu. Setřídit posloupnost pomocí třídění přímým výběrem, přímým vkládáním a přímou výměnou.
7
Datové struktury
Uvést příklady různých datových struktur. Chápat základní princip struktury a uvést její využití.
Logické programování 1 Předmět se věnuje základům logického programování zejména prostřednictvím programovacího jazyka Prolog. Předmět si klade za cíl naučit studenta praktické zvládnutí prostředí LPA Prolog s důrazem na rozvíjení schopností řešit praktické úlohy s využitím vlastností neprocedurálního programovacího jazyka. V rámci inovací byly dle možností zohledněny požadavky HIT klastru. Byly též prodiskutovány možností dalšího rozvoje předmětu v souvislosti s jinými předměty, vyučovanými zejména v oboru Aplikovaná informatika (Pravidlové programování, Znalostní technologie 1 až 4, Výpočetní inteligence 1 a 2) ve snaze poukázat na širší kontext a souvislosti těchto předmětů. Nově zařazené rozšiřující studijní materiály zahrnují sbírku úloh, slovník pojmů, aktualizované webové odkazy a softwarovou dokumentaci k LPA Prolog. V e-learningové podpoře kurzu byly také nově vytvořeny testovací sady pro upevnění znalostí pojmů týkajících se logického programování a pro generování mnoha úloh k procvičení. Inovací prošly také řešené úlohy, které jsou nyní zaměřeny více na praktické úlohy ve snaze ukázat možnosti využití neprocedurálního programovacího jazyka při řešení reálných problémů. 4
Náplň inovovaného předmětu: Téma
Cílové schopnosti studentů
Úvod do deklarativního programování.
Charakterizovat logické programování a Prolog jako jazyk pro symbolické výpočty. Chápat využití neprocedurálního, deklarativního programování.
Logické programy
Popsat základní strukturu programů, chápat odvozování a hledání řešení, nekonečné výpočty, invertibilitu logických programů. Deklarovat fakta a pravidla.
3
Základní operace se seznamy.
Definovat a používat seznamy pro deklaraci hodnot, struktur, dalších seznamů. Používat jednoduchá pravidla pro práci se seznamy.
4
Složitost a ladění programů.
Zefektivnit vytvářené programy omezením prohledávaného prostoru, zmenšit počet potřebných rekurzivních kroků.
5
Vestavěné predikáty.
V implementaci Prologu se seznámit a používat dostupné vestavěné predikáty.
6
Výpočet programu a jeho řízení.
Podrobně chápat rekurzivní a backtrackingové algoritmy a používat predikáty pro řízení běhu programu.
7
Standardní programovací techniky.
Vytvářet ucelené programy pomocí standardních programovacích technik. Pracovat s databází.
8
Řešení úloh - třídění, algebraické úlohy.
Řešit úlohy založené na třídících metodách a algebraické úlohy.
9
Řešení úloh - základní operace na grafech.
Řešit další úlohy vycházející z teorie grafů.
1
2
Optimalizace webových aplikací Cílem předmětu je hlubší teoretické i praktické seznámení s problematikou webových aplikací se zaměřením na optimalizace těchto aplikací. Osvojené dovednosti a vědomosti: Získání teoretických znalostí nutných k optimalizaci webových aplikací podle účelu a priorit konkrétní aplikace (bezpečnost, SEO/SEM, přístupnost, použitelnost, zátěž). Zvládnutí základní praktické optimalizace webových aplikací podle účelu a použití webové aplikace (základní zabezpečení aplikace, SEO optimalizace, copywriting, přístupnost). Osnova: 1. Principy fungování webových aplikací. Základní typy webových aplikací. Použitelnost, životnost. 5
2. Databázové servery a webové servery. Používané programovací jazyky. Základní principy tvorby webových aplikací. Návrh, programování, ladění a testování webových aplikací. 3. Optimalizace z hlediska funkčnosti. Nejčastější chyby. 4. Základní používané a zakázané SEO metody. On Page a OffPage faktory. 5. Optimalizace pro typické nebo klíčové uživatele. Design, struktura, typografie. 6. Textová optimalizace (copywriting). 7. Úvod do bezpečnosti webových aplikací. Nejčastější bezpečnostní chyby. 8. Testování webových aplikací. Typy a způsoby testování. 9. Zátěžové testy, způsoby provedení, relevantnost testů. 10. Počítačová kriminalita a webové aplikace. Typické útoky na webové aplikace. 11. Kritické části webových aplikací. Zabezpečení webových aplikací proti běžným útokům. Možnosti, rizika a cena. 12. Marketingová optimalizace aplikací. Optimalizace pro vyhledávače (SEO/SEM).
Osvojené dovednosti Student se seznámí s: Historií mobilních technologií Typy zařízení Základními principy fungování mobilních sítí Dále se naučí: Programovat mobilní aplikace ve vybraném prostředí Implementovat modely komunikace mezi zařízením a Informačním systémem Využívat sensory zařízení k budování a využití mobilního kontextu uživatele.
Počítačová grafika 1 Cílem předmětu je naučit základní postupy a principy počítačové geometrie a grafiky, formulovat, implementovat a ladit algoritmy, zvládnout aktivně pojmový aparát počítačové geometrie a grafiky, aktivně zvládnout a dotvořit některé postupy.
Hlavní oblasti inovace Vzhledem k tomu, že předmět Počítačová grafika je zařazen podle ACM specifikace do skupiny předmětů softwarového inženýrství, byly reflektovány obecné požadavky na výuku programování. Ve cvičeních byl akcentován objektový přístup a další aktuální paradigmata softwarového návrhu (inversion of control – dependency injection). U studentů byl kladen důraz na rozvoj analytického a systémového myšlení, aplikaci znalostí z matematických předmětů a prohlubování schopností navrhnout, implementovat, otestovat a prezentovat řešení konkrétního problému.
6
Inovovaný sylabus: Téma
Cílové schopnosti studentů
1
Základní pojmy počítačové grafiky, objektový a obrazový prostor, rastrová a vektorová reprezentace
Charakterizovat základní úlohy počítačové grafiky. Vyjmenovat a vysvětlit způsoby reprezentace grafické informace.
2
Pixel, rastr, rasterizace základních grafických entit
Popsat princip rastrové reprezentace. Formulovat problémy a navrhnout řešení pro rasterizaci základních grafických entit.
3
Algoritmy rasterizace úsečky a kružnice
Popsat principy rasterizace úsečky a kružnice. Formulovat výhody a nevýhody jednotlivých přístupů. Navrhnout řešení a implementovat základní algoritmy pro rasterizaci úsečky a kružnice.
Vyplňování oblastí
Popsat principy vyplnění uzavřených oblastí v rovině. Porovnat výhody a nevýhody jednotlivých přístupů. Navrhnout řešení a implementovat základní algoritmy pro vyplnění rastrově a vektorově definované hranice.
5
Transformace v rovině
Charakterizovat transformaci bodu v rovině. Definovat a demonstrovat použití matematického aparátu při popisu transformací. Aplikovat maticový zápis a skládání transformací v rovině na konkrétní úlohy.
6
Transformace v prostoru a metody promítání
Vytvořit transformační matice pro popis transformací v prostoru. Aplikovat transformační matice na grafické objekty.
7
Reprezentace a zobrazení trojrozměrné scény
Formulovat přístupy a potřebné atributy pro reprezentace scény. Charakterizovat jednotlivé kroky zobrazovacího řetězce, jejich návaznost a propojení. Implementovat zobrazovací řetězec.
8
Křivky v počítačové grafice
Charakterizovat metody pro definici křivek v počítačové grafice. Uvést základní typy křivek a jejich vlastnosti.
9
Plochy v počítačové grafice
Charakterizovat metody pro definici ploch v počítačové grafice. Uvést základní typy ploch a jejich vlastnosti.
10
Řešení viditelnosti v prostorové scéně
Formulovat přístupy při řešení viditelnosti v prostorové scéně. Uvést základní algoritmy a jejich principy. Provést srovnání těchto algoritmů.
11
Znázornění trojrozměrné scény
Popsat problematiku znázornění prostorové scény, uvést přístupy pro řešení realistického zobrazení, především výpočtu osvětlení.
4
7
Počítačová grafika 2 Předmět navazuje na předchozí předmět PGRF1 a zaměřuje se na prohlubování praktických programátorských dovedností určených podle ACM specifikace pro skupinu předmětů softwarového inženýrství. Vedle důrazu na rozvoj analytického a systémového myšlení a aplikaci znalostí z matematických předmětů je výuka rozšířena o metody vykreslování prostřednictvím rozšířené grafické knihovny OpenGL. V rámci samostatně vypracovaného semestrálního projektu je vyžadována schopnost samostatně navrhnout, implementovat, otestovat a obhájit řešení konkrétního problému a zároveň o problému sepsat pojednání formálně pojaté jako odborný článek. Náplň inovovaného předmětu: Téma
Cílové schopnosti studentů
1
Zobrazovací řetězec a jeho implementace
Formulovat úlohu jednotlivých kroků zobrazovacího řetězce, jejich návaznost a propojení. Zvládnout řešení implementačních problémů při zobrazení trojrozměrné scény.
2
Princip a úloha grafické knihovny, OpenGL
Popsat princip a úlohu grafické knihovny, požadavky na hardware a operační systém. Popsat základní vlastnosti a historii knihovny OpenGL.
3
OpenGL: funkce, entity, atributy
Definovat funkci knihovny OpenGL, grafické entity a jejich atributy. Zvládnou implementaci jednoduchých grafických úloh v OpenGL.
OpenGL: zobrazovací řetězec
Popsat principy implementace zobrazovacího řetězce v prostředí OpenGL. Formulovat výhody a nevýhody tohoto přístupu. Navrhnout a implementovat řešení úlohy zobrazení trojrozměrné scény.
5
OpenGL: pokročilé funkce
Charakterizovat přístupy realistického zobrazení prostorové scény v OpenGL. Popsat a demonstrovat použití skládání transformací, definici osvětlení, použití textur a dalších možností OpenGL.
6
Optimalizační metody pro zobrazení prostorové scény
Popsat principy optimalizace vizualizace prostorové scény. Uvedené principy srovnat a uvést příklady použití.
Grafické formáty a komprese
Vysvětlit přístupy pro uložení grafické informace. Uvést konkrétní formáty a jejich výhody a nevýhody. Charakterizovat principy komprese a její praktické využití.
Barva a barevné modely
Charakterizovat způsoby reprezentace barvy, uvést nejznámější barevné modely a jejich srovnání. Formulovat úlohy pro převod barev mezi jednotlivými barevnými modely a důvody jejich použití.
4
7
8
8
9
Metody snímání a rozpoznávání obrazu
Popsat jednotlivé kroky řetězce zpracování obrazové informace. Vysvětlit principy a problémy spojené se snímáním a reprezentací rastrového obrazu.
10
Zpracování obrazu a filtrace
Charakterizovat metody zpracování rastrového obrazu. Uvést základní algoritmy a matematické principy pro filtraci obrazu.
11
Segmentace obrazu a matematická morfologie
Popsat problematiku segmentace rastrového obrazu. Uvést základní segmentační metody. Definovat požadavky na další zpracování binárního obrazu.
12
Klasifikace obrazu, základy počítačového vidění a rozpoznávání
Definovat principy klasifikace segmentovaného obrazu, uvést příklady nasazení.
Mobilní technologie Předmět seznámí studenty s aktuálními trendy a principy mobilních zařízení a sítí. Student se naučí orientovat v oblasti mobilních technologií, pozná nejrozšířenější operační systémy chytrých mobilních přístrojů a naučí se vytvářet aplikace pro vybrané mobilní platformy. Důraz je kladen na možnosti využívání a získávání kontextu mobilního uživatele a na podporu metod online komunikace s externími zdroji, potažmo informačními systémy. Hlavní oblasti inovace: Předmět byl inovován zejména v souvislosti s vývojem v dané oblasti: byly vypuštěny části týkající se starších mobilních OS (Symbian, Palm OS), výrazně posílena část věnovaná OS Android, inovována část věnovaná mobilním OS Microsoft (Windows Phone 7), aktualizována část věnovaná RIM Blackbery, doplněny části věnované práci s mobilním kontextem uživatele. Vytvořeny screencasty pro nastavení vývojového prostředí Eclipse/STS/ADT. Cvičení byla doplněna o Java ME (komunikace, mobilní kontext, LBS), byla přepracována a rozšířena cvičení věnovaná Android OS. Do předmětu bylo zakomponováno využití nových cloudových služeb FIM - specifický vývojářský desktop pro mobilní vývoj na platformách Android a Windows Mobile/Phone 7.
Osnova: 1. 2. 3. 4.
Typy mobilních zařízení (PDA, Tablet, mobilní telefon). Služby a technologie poskytující mobilním zařízením konektivitu. Využití mobilních zařízení – typy použití, skupiny aplikačního softwaru. Operační systémy mobilních zařízení Symbian Windows Mobile / Windows Phone 7 Android iOS 9
5. Programování mobilních zařízení v závislosti na použité platformě – programovací jazyky a nástroje 6. Programování aplikací pro mobilní zařízení (J2ME, Android SDK, iOS SDK) 7. Ladění mobilních aplikací – emulátory a jejich využití. 8. Mobilní zařízení jako klient informačního systému. 9. Senzory a práce s kontextem uživatele. 10. Zabezpečení mobilních aplikací.
Počítačová grafika 3 Cílem předmětu je seznámení se speciálními vizualizačními algoritmy a technikami realistického zobrazování. Prostřednictvím zadaných praktických úloh prohlubovat dovednosti v oblasti návrhů vhodných řešení, na základě známých algoritmů a datových struktur. Prohlubovat schopnost implementovat navržené řešení dostupnými programovými prostředky, výsledné řešení dokumentovat a obhájit. Hlavní oblasti inovace: Předmět navazuje na předchozí předměty PGRF1 a PGRF2 vyučované v bakalářském studiu. Vzhledem k jeho zařazení podle ACM specifikace do skupiny předmětů softwarového inženýrství, byly v návrhu struktury předmětu opět reflektovány požadavky na výuku programování. Prohlubování odborných znalostí a praktických dovedností je obohaceno o rozmáhající se technologie hardwarové akcelerace výpočtů, zejména moderních programovatelných GPU.
Inovovaný sylabus: Téma
1
Reprezentace objektů v prostorové scéně
Cílové schopnosti studentů Popsat způsoby reprezentace objektů v prostorové scéně, uvést jednotlivé typy reprezentací a jejich výhody a nevýhody. Zvládnout implementaci metod pro zpracování dat zvolené reprezentace.
2
Definovat vektorový prostor a projektivní Vektorový prostor a projektivní rozšíření. Popsat operace nad vektorovým rozšíření prostorem a výhody práce v projektivním rozšíření.
3
Hardwarové prostředky v počítačové grafice
Popsat strukturu, funkci a historický vývoj grafických karet. Definovat jednotlivé vývojové úrovně a standardy.
4
Softwarové využití hw prostředků – programování shaderů
Popsat principy a jazykové prostředky pro programování grafických karet. Uvést výhody programovatelného zobrazovacího řetězce s technologií shaderů.
10
5
Programovací jazyk GLSL
Definovat jazykové konstrukce, datové typy a způsoby předávání dat v prostředí jazyka GLSL. Zvládnout implementace jednoduchých shaderových programů.
6
Pokročilé techniky pro realistické zobrazování – mapování textur
Formulovat způsoby aplikace textur na povrch prostorových objektů. Popsat principy interpretace uložené informace. Zvládnout implementaci vybraných mapovacích metod.
7
Pokročilé techniky pro realistické zobrazování – osvětlení, BRDF
Popsat pokročilé metody výpočtu osvětlení povrchu a zvládnout použít funkci definující distribuci odraženého světla na povrchu objektů.
8
Transformace a interpolace pomocí kvaternionů
Definovat kvaterniony a operace pro práci s kvaterniony. Charakterizovat využití kvaternionů pro popis transformací v prostoru a interpolaci orientace ve scéně.
Částicové systémy, negrafické výpočty na GPU
Popsat částicové systémy v počítačové grafice, způsoby reprezentace a vizualizace. Vysvětlit principy používané pro negrafické výpočty na grafických kartách.
10
Reprezentace a vizualizace objemových dat
Charakterizovat způsoby reprezentace a vizualizace objemových dat. Popsat používané metody a přístupy, uvést jejich výhody a nevýhody.
11
Zpracování rastrového obrazu
Popsat problematiku reprezentace a zpracování rastrového obrazu. Uvést základní metody pro transformaci a úpravu obrazu.
Metody vizualizace vědecké informace
Vysvětlit principy vizualizace informace, typy dat a metody znázornění. Popsat technická a fyziologická omezení při zobrazování informace a uvést příklady nesprávných forem znázornění informace.
9
12
Počítačová grafika Předmět je zařazen v kombinované formě navazujícího magisterského studia. Vzhledem k tomu nejsou zaručeny stejné vstupní znalosti v oboru počítačová grafika u všech studentů. Předmět je zaměřen na dosažení jednotné úrovně znalostí a na prohlubování znalostí softwarového inženýrství. U studentů byl kladen důraz na rozvoj analytického a systémového myšlení, aplikaci znalostí z matematických předmětů a prohlubování schopností navrhnout, implementovat, otestovat a prezentovat řešení konkrétního problému. Tyto schopnosti studenti prokazují prostřednictvím samostatně vypracovaného semestrálního projektu, při jehož vypracování znalosti a zkušenosti nabyté v počítačové grafice a dalších předmětech integrují a kombinují. Náplň inovovaného předmětu:
11
Téma
Cílové schopnosti studentů
Základní pojmy počítačové grafiky, objektový a obrazový prostor, rastrová a vektorová reprezentace, pixel, rastr, rasterizace základních grafických entit
Charakterizovat základní úlohy počítačové grafiky. Vyjmenovat a vysvětlit způsoby reprezentace grafické informace. Popsat princip rastrové reprezentace. Formulovat problémy a navrhnout řešení pro rasterizaci základních grafických entit.
Algoritmy rasterizace úsečky a kružnice, vyplňování oblastí
Popsat principy rasterizace úsečky a kružnice. Popsat principy pro vyplnění uzavřených oblastí v rovině. Porovnat výhody a nevýhody jednotlivých přístupů. Navrhnout řešení a implementovat základní algoritmy pro rasterizaci úsečky, kružnice, vyplnění rastrově a vektorově definované hranice.
Transformace v rovině a v prostoru a metody promítání
Charakterizovat transformaci bodu v rovině a v prostoru. Použít maticový zápis a skládání transformací v rovině. Aplikovat transformační matice na grafické objekty.
4
Řešení viditelnosti v prostorové scéně
Formulovat přístupy při řešení viditelnosti v prostorové scéně. Uvést základní algoritmy a jejich principy. Provést srovnání těchto algoritmů.
5
Znázornění trojrozměrné scény
Popsat problematiku znázornění prostorové scény, uvést přístupy pro řešení realistického zobrazení, především při výpočtu osvětlení.
6
Reprezentace a zobrazení trojrozměrné scény
Formulovat přístupy a potřebné atributy pro reprezentace scény. Charakterizovat jednotlivé kroky zobrazovacího řetězce, jejich návaznost a propojení.
Princip a úloha grafické knihovny, OpenGL, funkce, entity, atributy
Popsat princip a úlohu grafické knihovny, požadavky na hardware a operační systém. Definovat funkci knihovny OpenGL, grafické entity a jejich atributy. Zvládnou implementaci jednoduchých grafických úloh v OpenGL.
OpenGL: zobrazovací řetězec a pokročilé funkce
Popsat principy implementace zobrazovacího řetězce v prostředí OpenGL. Porovnat výhody a nevýhody tohoto přístupu. Charakterizovat přístupy realistického zobrazení prostorové scény v OpenGL. Popsat a demonstrovat použití skládání transformací, definici osvětlení, použití textur a dalších možností OpenGL.
Grafické formáty a komprese
Vysvětlit přístupy pro uložení grafické informace. Uvést konkrétní formáty jejich výhody a nevýhody. Charakterizovat principy komprese a její praktické využití.
Barva a barevné modely
Charakterizovat způsoby reprezentace barvy, uvést nejznámější barevné modely a jejich srovnání. Formulovat úlohy pro převod barev mezi jednotlivými barevnými modely a důvody jejich použití.
1
2
3
7
8
9
10
12
Programování I Cílem kurzu je uvést studenty do oblasti tvorby softwaru a seznámit je s principy tvorby jednoduchých objektových aplikací založených na principech, které byly představeny v předmětech Algoritmizace a datové struktury a Úvod do objektového modelování. Hlavní oblasti inovace: Z diskuze s HIT klastrem částečně vyplynula potřeba diferencovat výuku v oblasti programování pro studenty oborů Aplikovaná informatika a Informační management. Studenti Aplikované informatiky by měli být připravování více do hloubky - spíše v duchu oborů Computer Science a Information technology ACM, zatímco studenti oboru Informační management by v oblasti programování měli projít spíše základními kurzy softwarového vývoje (algoritmizace+úvod do programování). V diskusi zazněly také požadavky znalosti pokročilejší algoritmizace a zejména datových struktur, kterým bude věnována pozornost v rámci dalších kroků inovace studijních plánů. Na základě diskuse pracovní skupiny bylo přistoupeno k inovaci výuky programování spočívající v první fázi zejména v oddělení výuky pro jednotlivé obory. Kurz PRO1 již částečně toto doporučení reflektuje a stane se základem inovované výuky pro obor Aplikovaná informatika, do budoucna bude ještě sylabus doplněn o úvod do tvorby GUI tak, aby byla vylepšena návaznost předmětu Počítačová grafika I. Přepracovaná varianta PRO1 doplněná o využití nástrojů RAD (Rapid Application Development) bude využita jako základ nového předmětu Programování pro manažery (PROM) určeného pro obor Informační management. Náplň inovovaného předmětu: Téma
Cílové schopnosti studentů
1
Základní pojmy z oblasti tvorby softwaru. Objekt, třída, instance – pojmy, vlastnosti a koncepty.
Rozlišit programovací jazyky dle přístupu a úrovně. Umět rozlišovat pojmy třída, objekt/instance.
2
Rozhraní, kolekce, asociace II
Navrhnout rozhraní a implementovat jej třídou. Vybrat vhodnou kolekci a použít ji při implementaci asociací s kardinalitou 1:N (M:N)
3
Datové typy a operátory
Rozlišovat a vhodně používat primitivní datové typy Javy. Rozdělit operátory podle arity a typu. Pracovat s prioritou operátorů. Sestavovat výrazy.
4
Základní řídící konstrukce, základy obsluhy výjimek.
Používat strukturované příkazy jazyka, uvědomit si vazbu mezi poznatky ALGDS a zápisem programů.
7
Dědičnost, redefinice a přetížení metody, ladění kódu
Definovat novou třídu jako potomka zvolené třídy. Rozlišit metody zděděné a přetížené. Identifikovat chyby programu (syntaktické, sémantické), ladit program prostřednictvím debuggeru.
8
Pole – deklarace, alokace, využití
Deklarovat a alokovat pole primitivních i objektových typů, použít jej jako parametr metody. 13
Implementovat základní operace s polem (přidání, vložení, smazání prvku). 9
Řazení posloupností a kolekcí
Implementovat jednoduché algoritmy řazení polí a kolekcí. Používat algoritmy kolekcí z JCF.
10
Práce s řetězci. Proudy dat (streamy)
Smysluplně využívat metody třídy String, převádět text na primitivní typy a zpět. Použít základní binární a znakové streamy pro persistentní uložení kolekce dat do souboru.
11
Řešení vybraných problémů – viditelnost členů, převody kolekcí a polí, parametry metod
Nastavit vhodnou viditelnost členů třídy. Využívat pokročilých algoritmů Java Collection Frameworku (JCF). Rozpoznat rozdíl mezi předáním parametru hodnotou a odkazem
12
Kolekce II – seznam, množina, mapa
Používat ve vhodném kontextu a rozlišovat další připravené kolekce a datové struktury nabízené JCF.
Programování II Předmět se věnuje problematice tvorby grafických uživatelských rozhraní (GUI), událostnímu modelu programování, tvorbě více-vláknových a síťových aplikací a uvádí stručně problematiku napojení aplikací na databázové systémy. Cílem předmětu je rozvinout dále programátorské schopnosti studentů v oblasti objektově orientovaného programování. Hlavní oblasti inovace: Předmět PRO2 navazuje na inovaci programátorských předmětů, která byla prodiskutována v rámci pracovní skupiny SWI a HIT klastru. Na základě této diskuse pracovní skupiny byl nový sylabus předmětu PRO2 rozšířen o vybrané kapitoly (genericita, komunikace po síti, databáze, webové aplikace, XML,…) s přihlédnutím k zařazení předmětu primárně pro techničtější obor Aplikovaná informatika. Takto koncipovaný předmět usnadní návaznost dalších předmětů v řadě (DBSx, PPRO, PRO3, …) a umožní i další rozšíření možnosti výuky moderních konceptů objektového programování. V další fázi je plánován přesun části látky do předmětu PRO1 a vytvoření prostoru pro zařazení kapitoly věnované základním nástrojům programátora (verzovací systémy, správa závislostí a projektu, automatické testy). Potřeba zařazení výuky podobných nástrojů byla jedním z návrhů vyplynuvším z diskuse s HIT klastrem. Náplň inovovaného předmětu: Téma
Cílové schopnosti studentů
1.
Anonymní vnitřní třídy a jejich užití. Grafické uživatelské rozhraní - úvod, principy, layouty, listenery.
Implementovat vnořené třídy, včetně tříd nepojmenovaných a využít je při implementaci listenerů GUI. Navrhnout a programově implementovat GUI (Swing) pomocí základních layoutů (Border, Flow, Grid, Box, GridBag)
2.
Základní atomické komponenty GUI - tlačítko,
Používat jednoduché komponenty GUI a používat je pro získávání dat od uživatele a vizualizaci 14
textové pole, popisek
objektových dat doménového modelu aplikace.
3.
Základy zpracování XML SAX, DOM.
Používat základní přístupy a knihovny pro práci s formátem XML.
4.
Komponenty s modelem principy a tvorba modelů
Používat SW architekturu Model-View-Controller. Využívat při tvorbě GUI komponenty navázané prostřednictvím adaptérů (modelů) na konkrétní objektové doménové entity aplikace.
5.
Pokročilé techniky a nástroje pro práci se vstupy a výstupy
Identifikovat vhodné nástroje pro implementaci vstupů a výstupů. Využívat pokročilejší knihovny pro I/O operace a přístup k filesystému.
6.
Spolupráce s relační databází - JDBC
Sestavit projekt s podporou přístupu k DBS prostřednictvím metod a ovladačů JDBC. Implementovat základní operace nad daty z DBS a využívat knihovní struktury Connection, (Prepared) Statement, ResultSet
7.
CRUD, návrhový vzor Data Access Object
Využívat návrhový vzor DAO pro implementaci persistenční vrstvy aplikace.
8.
Generické typy
Definovat vlastní parametrizované objektové typy a využít je pro zvýšení znovupoužitelnosti vytvářených SW komponent.
9.
Úvod do konkurentního programování – vlákna, synchronizace
Spouštět v rámci aplikace více vláken. Identifikovat vlákna GUI (EDT, Worker Thread, ... Používat základní synchronizační techniky vícevláknových aplikací. Identifikovat problémy používání vícevláknových aplikací (Deadlock, Starvation, ...)
10.
Principy tvorby síťových aplikací
Využívat socketovou a datagramovou komunikaci pro tvorbu aplikací. Implementovat klienta a server pomocí socketů.
11.
Úvod do webových aplikací (Servlety, JSP)
Rozlišovat základní nástroje pro tvorbu webových aplikací na platformě Java (servlet, JSP). Sestavit webový projekt.
Programování 3 Obsah předmětu v zásadě vyhovoval požadavkům praxe. Bylo diskutováno zaměření předmětu, z diskuze vyplynulo, že nejlepším modelem je v rámci předmětu prezentovat základní témata vývoje webových aplikací na platformě Java, dále je vhodné v rámci studentských prezentací umožnit náhled do co největšího množství dalších dostupných technologií, upřednostnit především témata: Verzovací systémy - Subversion, GIT, … Síťové aplikace v Javě JDBC - Java a databáze Java a XML Bezpečnost v Javě - kódování, šifrování, podepisování apod. Náplň inovovaného předmětu: 15
Téma
Cílové schopnosti studentů
Úvod do webových technologií
Popsat hlavní specifika technologie Apache Ant, k čemu je nástroj Apache Ant vhodný, co umí; totéž pro Apache Maven. Porovnat obě technologie, aplikovat základní příkazy Apache Maven.
Java a web
Cílem je popsat, rozdělit a odlišit typy webových aplikací v Javě, vysvětlit a popsat základní přehled na platformou JavaEE, popsat, jak funguje webová aplikace v Javě, vysvětlit pojem servlet a popsat jeho základní specifika, proces zpracování servletu, ukládání stavových informací.
Expression Language, JSP Standard Tag Library
Vysvětlit slovní spojení Expression Language a popsat, k čemu tento jazyk slouží, prakticky použít jazyk Expression Language a knihovnu JSTL a objasnit principy použití. Rozdělit JSTL na základní knihovny, popsat knihovnu Core library a prakticky ji použít v projektu, totéž pro zbývající části knihovny JSTL včetně SQL library ve webovém projektu ve spojení s databází.
Návrhový vzor Model View Controller
Cílem je popsat základní princip JSP Modelu 1, vysvětlit výhody a nevýhody použití, popsat architekturu modelu a princip komunikace mezi jednotlivými složkami modelu. Dále objasnit základní princip JSP Model 2, specifikovat rozdíly mezi JSP Modelem 1 a JSP Modelem 2. Vysvětlit pojmy Model, View, Controller a vztah mezi vrstvami, vysvětlit a popsat provázanost jednotlivých částí MVC, popsat a vysvětlit obecný princip realizace MVC. Naučit se vyvarovat základním chybám v návrhu architektury webové aplikace při použití MVC a aplikovat princip MVC na reálném projektu (vyrobit webovou aplikaci s využitím obecného principu MVC).
Stripes Framework Java Web MVC knihovna
Cílem tématu je seznámit se s frameworkem Stripes, poukázat na jeho výhody a nevýhody, principy použití, prakticky framework použít, nakonfigurovat webovou aplikaci, nakonfigurovat nástroj Log4J pro využití ve Stripes frameworku, objasnit základní principy a pojmy (ActionBean, ActionResolver, ...). Vysvětlit a prakticky aplikovat obsluhu událostí s využitím Stripes.
6
Úvod do Spring frameworku
Cílem je poskytnout stručný historický pohled a pozadí vzniku Spring frameworku, popsat základní architekturu Springu, vysvětlit výhody modulárnosti a neinvazivnosti Springu s ohledem na tvorbu webové aplikace, popsat základní stavební modulu Springu (Core, Context, DAO, ...). Vysvětlit princip architektury Springu a význam rozhraní jako základní stavební jednotky, objasnit obecný princip Inversion of Control, Dependency Injection, princip IoC ve Springu, popsat základní rozdělení dostupných kontrolerů a objasnit jejich použití ve vztahu s anotacemi v kódu, aplikovat získané znalosti na reálném ukázkovém projektu.
7
Témata prezentovaná studenty
Získat základní přehled o daném tématu včetně ukázkového použití popisované technologie (praktický příklad, který je rámcově složitější než obyčejný „Hello World“).
1
2
3
4
5
16
Témata prezentovaná studenty (kromě výše uvedených jsou k dispozici další témata): Objektově relační mapování s pomocí Hibernate JDBC Connection pooling Regulární výrazy v Javě AJAX, JavaScript Microsoft Ajax Toolkit Apache Struts Java Web Start (JNLP) - dodávka a instalace aplikací přes web Java 2D - grafika v rovině JasperReport (iReport) Tisk v Javě Drag and Drop podpora ve Swing komponentách Ruby, Perl, Python, Groovy Aspektově orientované programování Porovnání objektových jazyků Active reports .Net J2ME JavaServerFaces (+ případně RichFaces) JavaFX Portálový vývoj - portlety (JSR286) Spring Roo Jazyk R (The R Project for Statistical Computing)
Úvod do objektového modelování Cílem předmětu je naučit studenty základům objektově orientovaného myšlení, tak aby byli schopni namodelovat vybraný systém s využitím specifikace UML a zároveň se seznámí s postupy a nástroji používanými pro analýzu a návrh softwarových aplikací.
Hlavní oblasti inovace V rámci inovace byly zrevidovány a aktualizovány studijní materiály. V přednáškách byla rozšířena problematika modelování návrhových tříd. Nově byla do přednášek zahrnuta problematika modelování typových situací tj. oblast návrhových vzorů. Konkrétně se jedná o představení návrhového vzoru označovaného jako Item Description, a pro potřeby kurzu byl upraven návrhový vzor Observer a MVC, které slouží pro ilustraci vybraných objektových principů a jsou dále využívány v navazujících předmětech programování. Současně byly vytvořeny ukázkové příklady modelování typových úloh a modelování tříd. Pro ilustraci modelování a programování byly vytvořeny ukázkové projekty. V materiálech týkajících se zpracování zápočtového projektu byly upraveny časté chyby v jednotlivých modelech. V návaznosti na provedení změny byly také upraveny zkouškové otázky. Náplň inovovaného předmětu:
17
Téma
Cílové schopnosti studentů
1
Modelování, objektové modelování
Pochopit a popsat základní principy modelování včetně výhod a nevýhod objektového přístupu.
2
Objekty, třídy, vazby
Popsat a interpretovat základní objektové vlastnosti a principy a zároveň je uplatnit při modelování běžných situací.
3
Modelování požadavků
Určit základní uživatelské role a cíle a převést je do podoby funkčních požadavků včetně znázornění pomocí diagramu typových úloh.
4
Zpřesnění a rozšíření modelu požadavků
Zpřesnit funkční požadavky do toku konkrétních aktivit a formulovat tzv. scénáře.
5
Analytický model tříd
Převedení modelu požadavků do modelu tříd dle odpovědnosti za provedení jednotlivých kroků ve scénářích.
6
Analytické sekvenční diagramy
Převést posloupnost kroků ve scénáři do podoby objektových interakcí znázorňující zasílání zpráv v čase.
7
Návrhový model tříd
Zpřesnit a zpodobnit analytický model tříd na úroveň zohledňující specifika konkrétní vývojové platformy.
8
Balíčky a model uživatelského rozhraní
9
Návrhové sekvenční diagramy
10
Generování dokumentace a zdrojového kódu
11 Návrhové vzory
Vymezit základní prvky uživatelského rozhraní a rozdělit jednotlivé části modelu do logicky souvisejících celků. Zpřesnit objektové interakce o zahrnutí návrhových tříd aplikační logiky a tříd uživatelského rozhraní Uplatnit vhodné šablony a vygenerovat projektovou dokumentaci. Zároveň také vygenerovat skelet zdrojového kódu na základě návrhového diagramu tříd. Určit vhodné situace a uplatnit modelová řešení.
Systémové programování Cílem předmětu je základní seznámení s principy a fungováním operačního systému UNIX(GNU/Linux) a systémovým programováním vUNIXu. Zaměření se na úroveň programování aplikací vázaných přímo na služby operačního systému a API. Na cvičeních probíhá ověření dané problematiky na příkladech. Cvičení je realizováno pomocí aplikace VirtualBox nebo VMware Player ve které je k dispozici linuxová distribuce (aktuálně Lubuntu 11.0
Hlavní oblasti inovace: Obsah předmětu v zásadě vyhovoval požadavkům praxe na úvodní předmět. Na základě diskuze vyplynul požadavek znalosti jazyka C, který je v tomto předmětu zahrnut. Kromě 18
úvodních cvičení (seznámení se s prostředím systému GNU/Linux) jsou na cvičeních realizovány příklady tvořené v operačním systému GNU/Linux v jazyku C.
Náplň inovovaného předmětu: Téma
1
Úvod do systémového programování
2
Jazyk C
3
Skripty a skriptování, volání, příkazy, shelly
4
Struktura a architektura systému
5
Subsystém souborů
6
Subsystém procesů
Cílové schopnosti studentů Vysvětlit, proč je třeba se zabývat architekturou operačních systémů a studovat je, popsat historické mezníky vzniku operačního systému Unix, popsat dva základní typy unixových programů, popsat pojmy hlavičkový soubor, knihovna, statická a sdílená knihovna, vyjmenovat základní příkazy systému a prakticky je aplikovat, vytvořit jednoduchý program v jazyku C, překompilovat ho, spustit, vyrobit knihovnu, zahrnout knihovnu do programu. Cílem je popsat důvody vzniku jazyka C, vysvětlit základní pojmy (editor, preprocesor, compiler, …), objasnit základní datové typy jazyka C, vysvětlit rozdíl mezi definicí a deklarací, globální a lokální proměnnou, popsat rozdíly mezi pojmy výraz, přiřazení, příkaz, popsat základní druhy konstant a aritmetických výrazů, popsat řídicí řetězce a řídicí struktury, osvojit si základní konstrukty jazyka C. Cílem tématu je vysvětlit a popsat, co je to shell a k čemu je vhodný, vyjmenovat přehled základní shellů, vysvětlit a aplikovat principy přesměrování výstupu a vstupu, přesměrování standardního chybového výstupu, popsat základní deskriptory. Vytvořit a spustit skript, vysvětlit podmínky a testování řetězců, numerické testy, testy souborů, vysvětlit a použít řídicí struktury a cykly, popsat principy ladění skriptů. Cílem je popsat, co je to jádro, k čemu slouží, co je jeho úkolem, popsat a vysvětlit pojem soubor, vysvětlit dělení souborů na obyčejný soubor, adresář, speciální soubor, popsat pojem i-uzel, i-node, index node, popsat jádro operačního systému, rozdíl mezi uživatelským prostorem a prostorem jádra, vysvětlit a popsat systémové volání a obsluhu přerušení. Vyjmenovat a popsat základní funkce pro práci se soubory a adresáři, použít základní systémová volání pro práci se soubory, vysvětlit výhody a nevýhody použití systémových volání, popsat V/V knihovnu pro práci se soubory a princip fungování knihovny v systému ve vztahu k systémovým voláním, popsat nízkoúrovňový přístup k souborům, deskriptory. Cílem je vysvětlit pojem proces, uživatelský a systémový kontext, popsat datové struktury jádra, definovat pojem proces, vysvětlit strukturu procesu, jednotlivé stavy procesů, vysvětlit kontext procesu a změnu kontextu procesu, uložení a obnovení kontextu, vysvětlit a prakticky vytvořit nový proces, vysvětlit princip fungování knihovny systém, vysvětlit a prakticky provést nahrazení obrazu procesu, vysvětlit princip fungování funkce exec, vysvětlit 19
7
Správa paměti
8
Signály
9
Subsystém V/V
10
SysRQ, technologie SMART (prevence před selháním HDD)
11
Operační systémy reálného času
a prakticky provést zdvojení obrazu procesu, vysvětlit princip fungování funkce fork a objasnit její „dvojí“ návratovou hodnotu, vysvětlit a prakticky provést čekání na proces, vysvětlit princip fungování funkce wait a waitpid, objasnit pojem mátoha – zombie a uvést důvody vzniku takových procesů, důsledky na provoz systému. Vysvětlit pojem stránkování a virtuální paměť, popsat dělení paměti procesu, objasnit základní přednosti správy paměti jádra operačního systému, popsat jednoduchou alokaci paměti a aplikovat ji, popsat funkci malloc, vysvětlit slovní spojení stránkovací virtuální paměťový systém, objasnit princip výpadku stránky page fault. Cílem tohoto tématu je vysvětlit pojem signál, vyjmenovat a objasnit základní signály, uvést základní množiny signálů, popsat obecné signálové rozhraní. Vysvětlit a použít další techniky řízení terminálového vstupu a výstupu, vysvětlit základní rysy, které lze při použití terminálu ovlivňovat. Popsat, k čemu slouží SysRQ, kde lze najít klávesu SysRQ, vyvolat SysRQ, vyjmenovat a vysvětlit jednotlivé možné funkce SysRQ. Vyjmenovat základní historické mezníky vzniku a vývoje technologie SMART, popsat technologii SMART, výhody a nevýhody SMART, vysvětlit vybrané údaje technologie SMART, popsat a zprovoznit technologii SMART v GNU/Linux, prakticky zobrazit potřebné údaje a identifikovat problém možného budoucího selhání pevného disku. Cílem je popsat RTOS, definovat RTOS, vysvětlit rozdíly mezi hard a soft real-time operačním systémem, vysvětlit rozdíly mezi plánovačem RTOS a plánovačem běžných operačních systémů, uvést a popsat dva základní plánovací algoritmy pro RTOS, příklady real-time operačních systémů.
Pokročilé programování Cílem předmětu je seznámit studenty s nejnovějšími technikami a technologiemi používanými aktuálně v oblasti softwarového vývoje. Student se seznámí s principy vývoje firemních, vícevrstvých a distribuovaných aplikací a naučí se je ve vybraném vývojovém prostředí implementovat. V rámci samostatné práce student zpracuje průběžně zadávané úkoly - programátorské úlohy pokrývající jednotlivé probírané oblasti. Součástí zadání některých úloh jsou již připravené části výsledného programu, který student v rámci úlohy doprogramuje. Dále student průběžně zpracovává semestrální projekt (zapracovává dílčí poznatky získané v průběhu studia předmětu) a konzultuje jeho stav.
Hlavní oblasti inovace: Obsah předmětu v zásadě vyhovoval požadavkům praxe na inženýrský předmět zaměřený na programování. Ze závěru HIT klastru vyplývá, že předmět by měl být, vzhledem k široké 20
škále různých technologií využívaných v praxi, zaměřen spíše přehledově, proto je nyní více prostoru věnováno i • dynamickým programovacím jazykům, • využití systémů pro správu verzí (zdrojového kódu). Byla nasazena podpora výuky kurzu v podobě vývojářských desktopů s předinstalovaných softwarovým prostředím. Vzhledem ke specifickým potřebám vývoje v tomto předmětu (např. velké objemy používaných knihoven) byly připraveny tzv. personalizované desktopy pro studenty předmětu, které mají k dispozici více výpočetních prostředků a vyhrazeného osobního diskového prostoru. Náplň inovovaného předmětu: Téma
Cílové schopnosti studentů
1
Úvod předmětu
Zopakovat základní znalosti z objektového programování. Získat hrubý přehled o významu technologií, které se v předmětu probírají.
2
Java EE
Pochopit význam standardu Java EE. Získat přehled o technologiích, které Java EE obsahuje a jaké problémy řeší.
Pokročilé webové aplikace v Javě
Dozvědět se výhody frameworků určených pro vývoj webových aplikací v Javě a naučit se je použít pro zvýšení efektivity vývoje a udržování aplikací. Seznámit se s obvyklými způsoby implementace návrhového vzoru MVC na webu. Naučit se implementovat AJAX v Java EE.
4
Spring Framework, dependency injection, AOP
Naučit se využít Spring Framework pro efektivní vývoj (nejen) webových aplikací s pomocí techniky dependency injection (DI). Naučit se integrovat Spring Framework s dalšími existujícími technologiemi, jako např. s Hibernate ORM. Seznámit se s aspektově orientovaným programováním (AOP) a naučit se jej použít.
5
Objektově-relační mapování
Naučit se konfigurovat a použít nástroje, jako je např. Hibernate ORM, pro snadný přenos dat mezi relační databází a objektovým programem.
6
Webové služby a XML
Seznámit se s technologiemi, které umožňují interakci mezi dvěma (potenciálně různými a vzdálenými) systémy. Naučit se „vystavit“ aplikační rozhraní systému pomocí Webových služeb. Naučit se používat vystavené aplikační rozhraní jiného systému ve vlastní aplikaci. Seznámit se blíže se souvisejícími technologiemi, jako je jazyk XML, jazyky pro popis formátu založeného na XML (např. XML Schema), jazyky pro popis transformace XML (XSL) a způsoby, jakými lze XML zpracovat.
7
Dynamické jazyky
Dozvědět se o možnostech využití dynamických programovacích jazyků nad JVM, jako je např. Groovy, populární díky frameworku Grails.
8
Správa projektu
Naučit se používat Maven pro správu projektu a především pro správu závislostí. Naučit se používat systémy pro správu verzí (zdrojového kódu).
3
21
Teoretická informatika Předmět Teoretická informatika obsahově pokrývá oblast automatů a formálních jazyků, teorii vyčíslitelnosti a teorii složitosti. Cílem předmětu je poskytnout studentům dostatečný přehled o teoretických základech informatiky, které rozvíjejí způsob myšlení a dávají obecný nadhled. Jde zejména o posílení schopnosti studenta chápat problémy v širších souvislostech, umět je logicky analyzovat a navrhnout efektivní algoritmické řešení. Vedle teoretických základů oboru jsou studentům systematicky zdůrazňovány i praktické důsledky teorie pro strojové zpracování dat, návrhu efektivního výpočetního modelu pro konkrétní problém, ale i schopnost posoudit složitost algoritmů - což odpovídá požadavkům praxe. Na základě požadavků je nyní kladen větší důraz na analytické myšlení a samostatné řešení problémů. Do předmětu byl nově zahrnut semestrální projekt pro kombinovanou formu, v kterém studenti musí vymyslet zadání z praxe a k němu vytvořit automat. Náplň inovovaného předmětu:
1
2
3
4
5
Téma
Cílové schopnosti studentů
Teorie automatů a formálních jazyků
Vysvětlit funkce procesu překladu. Formulovat základní pojmy formálních jazyků a nadefinovat jazyk se zadanou vlastností.
Konečné automaty a regulární jazyky
Definovat koneční automat. Navrhnout automat, který přijímá určitý jazyk. Sestrojit DKA k danému NDKA. K dané regulární gramatice sestrojit konečný automat a k danému konečnému automatu najít regulární gramatiku. Popsat vlastnosti regulárních výrazů. Umět využít Pumping lemma pro regulární jazyky.
Bezkontextové jazyky a zásobníkové automaty
Charakterizovat bezkontextový jazyk. Popsat a interpretovat zásobníkový automat. Navrhnout zásobníkový automat přijímací daný bezkontextový jazyk. Vyslovit a použít Pumping lemma pro bezkontextové jazyky.
Teorie vyčíslitelnosti
Definovat Turingův stroj a popsat jeho varianty. Určit, kdy TS jazyk rozpoznává, a kdy rozhoduje. Navrhnout TS, který rozpoznává, resp. rozhoduje daný jazyk. Formulovat problémy algoritmicky rozhodnutelné a nerozhodnutelné.
Teorie složitosti
Definovat asymptotickou složitost. Popsat druhy složitosti. Určit složitost konkrétního algoritmu. Definovat pojmy P-třída a NP-třída a NP-úplnost a chápat praktické důsledky vlastností těchto tříd pro programátorskou praxi.
22
3.3.Expertní evaluace skupiny softwarového inženýrství Na evaluaci e-předmětů skupiny SW inženýrství se podílely následující členské společnosti Hradeckého IT klastru - ORTEX, GIST, GMC a DERS. Experti z výše uvedených společností dostali k dispozici kompletní informace o inovovaných předmětech včetně přístupu do e-předmětů ve virtuálním studijním prostředí OLIVA. Hodnocení prováděli pomocí dotazníku obsahujícího 25 tvrzení. Míru souhlasu s předloženými tvrzeními měli hodnotitelé vyjádřit pomocí čtyř hodnotové škály: velmi souhlasím – souhlasím – nesouhlasím – velmi nesouhlasím. Mimo tohoto strukturovaného dotazníku experti ještě komentovali evaluované předměty volným textem. K předmětům skupiny softwarového inženýrství dodaly členské společnosti Hradeckého IT klastru celkem 17 hodnocení. Detailně jsou tato hodnocení shrnuta v následující tabulce, souhrnně je možné konstatovat, že podle názoru expertů: Cíle jednotlivých předmětů jsou napsané pomocí měřitelných výstupů, odpovídají požadavkům na znalosti a schopnosti v oblasti počítačových sítí a jsou studentům k dispozici na různých místech e-předmětů. Obsah e-předmětů odpovídá deklarovaným cílům předmětu, je seskupen do vhodných modulů a prezentován v logickém pořadí. Multimediální prvky a doplňující materiály jsou vhodně integrovány do jednotlivých částí e-předmětů. Od studentů je očekáváno hlubší pochopení látky, které je vysvětleno na příkladech a/nebo na modelech. V kurzu je zahrnut průvodce studiem, seznamující studenta jak pracovat se studijními materiály. Studenti mají k dispozici jasná kritéria hodnocení (například vzorové semestrální práce a projekty) a každé prověřování vědomostí je jasně svázáno s příslušným předem definovaným cílem. Používají se různé metody prověřování vědomostí (testové otázky různých typů, projekty, diskuse apod.) a studenti mají k dispozici auto-evaluační aktivity poskytující jim konstruktivní zpětnou vazbu umožňující korekci získaných znalostí. V e-předmětech jsou využívány standardní formáty. Jsou k dispozici jasné informace o případném dalším podpůrném sw, potřebném pro správné fungování kurzu, a odkazy na potřebný sw jsou k dispozici co nejblíže k místu, kde je potřebný.
23
Velmi souhlasím
SW inženýrství
Souhlasím
Velmi Nesouhl nesouhla asím sím
Cíle kurzu jsou napsané pomocí měřitelných výstupů z učení (studenti vědí, co mají být schopni řešit či realizovat).
4
13
0
0
Cíle odpovídají požadavkům na znalosti a schopnosti v dané oblasti.
12
5
0
0
Cíle jsou k dispozici na různých místech (v sylabu i v jednotlivých výukových jednotkách).
5
12
0
0
Obsah kurzu odpovídá deklarovaným cílům.
15
2
0
0
Obsah je seskupen do vhodných částí (tj. jsou prezentovány jako různé výukové jednotky nebo vzdělávací moduly).
8
9
0
0
Obsah je prezentován v logickém pořadí, navigace je intuitivní.
7
10
0
0
Multimediální prvky´jsou vhodně použité.
3
14
0
0
Doplňující materiály jsou dobře integrované do jednotlivých částí kurzu.
3
14
0
0
Od studentů se očekává hlubší pochopení látky (analýza a řešení problémů), které je vysvětleno na příkladech a/nebo na modelech.
2
15
0
0
V kurzu je zahrnut průvodce studiem, seznamující studenta jak pracovat se studijními materiály.
0
17
0
0
Každé prověřování vědomostí je jasně svázáno s příslušným cílem.
1
16
0
0
Studenti mají k dispozici jasná kritéria hodnocení (například vzorové semestrální práce a projekty).
0
16
0
0
Kontext otázek a projektů je blízký k reálnému prostředí.
0
16
0
0
Prověřování vědomostí se vyskytuje v kurzu průběžně.
1
16
0
0
Používají se různé metody prověřování vědomostí (testové otázky různých typů, projekty, diskuse apod.)
0
16
0
0
Jsou k dispozici auto-evaluační aktivity s konstruktivní zpětnou vazbou.
0
16
0
0
Je k dispozici materiál, který vysvětlí navigaci v LMS a v daném kurzu. Materiál je dostupný odevšud s možností rychlého návratu do kurzu.
1
16
0
0
Jsou k k dispozici jasné informace o případném dalším podpůrném sw, potřebném pro správné fungování kurzu.
0
17
0
0
Odkazy na potřebný sw jsou k dispozici co nejblíže k místu, kde je sw potřebný.
0
17
0
0
Očekávaná rychlost odpovědi učitele na dotazy.
0
15
1
0
Očekávaná rychlost zpětné vazby pro testy a úkoly.
0
15
1
0
Používají se standardní formáty.
1
16
0
0
Velké soubory ke stažení jsou označeny; dle možnosti jsou k dispozici alternativní menší soubory.
0
16
0
0
Používá se dle možnosti streamované video.
1
16
0
0
Studenti mají možnost anonymní evaulace kurzu.
1
15
0
0
24
Ze slovního hodnocení expertů: Inovace předmětů reflektuje naše požadavky. I před inovací byl předmět zaměřen na vzdělávání pro potřeby praxe. Současnou inovaci předmětů došlo ke zvýšení využitelnosti získaných znalostí a dovedností absolventů v praxi. Náplně jednotlivých předmětů ve větší míře postihují metody a postupy při výrobě software a blíží činnostem v naší společnosti a umožní absolventům se rychleji adaptovat na podmínky v IT firmě. Za pozitivum považujeme oddělení požadavků na studenty oborů Informační management a Aplikovaná informatika, to oddělení umožní lépe připravit absolventy s ohledem na cíle těchto oborů. Předměty v rámci skupiny jsou logicky zařazeny do jednotlivých ročníků studia. Kreditní ohodnocení považujeme za přiměřené.
GIST Tato skupina předmětů má do značné míry za cíl zvládnutí „řemesla“, tedy zaměření by mělo být více praktické, méně teoretické. Počet a zaměření předmětů nicméně pokrývá všechny běžné disciplíny (algoritmy, programování, grafika, web), které jsou pro praxi potřeba. Za pozitivní považuji směřování na nástroje, které jsou dnes na trhu vůdčí a jejichž znalosti patří mezi žádané u zaměstnavatelů. Z praxe vím, že nedílnou součástí správně fungujícího programu je jeho datový návrh. Ze struktury jednotlivých semestrů mi není úplně zřejmé, zda je důležitost a tvorba kvalitního datového návrhu probírána dostatečně v předstihu před samotnou výukou programovacích nástrojů. Doporučuji tento fakt prověřit.
ORTEX Inovace této skupiny předmětů je plně v souladu s našimi představami a potřebami reálné praxe. Kladně hodnotíme zejména: Reflexi požadavků firem (shrnutých pod záštitou HIT klastru) směřujících do výuky programovacích předmětů ve smyslu zdůraznění aspektů a odlišností pro jednotlivé role vývojového procesu/cyklu IS (produktový manažer, analytik, designér, kodér, tester) a jejich promítnutí do diferenciace studijní plánů jednotlivých oborů (Aplikovaná informatika versus Informační management) Akcentaci objektového přístupu, aktualizaci Java témat o nové poznatky a vlastnosti Důraz na samostatnost a preciznost, analytické/syntetické myšlení a posilování schopnosti abstrakce Možnost „autotestů“ a zkoušek „nanečisto“ Samostatné semestrální SW projekty (tvorba aplikace) jako povinnou součást hodnocení Široké spektrum záběru výuky moderních přístupů (SOA, MDA, AOP, design patterns, Requirements management/modelling) i konkrétních technologií při návrhu a vývoji aplikací (webové technologie J2EE, J2ME, Spring MVC, Hibernate, iBatis, OJB, systémy pro správu verzí, build management) Praktickou realizaci cloud computingu formou vývojářských desktopů s předinstalovaným SW pro podporu výuky tvorby aplikací (Java, Eclipse/STS, Blue J, Maven, …) Doplnění a aktualizace návrhových vzorů
DERS Obsah předmětů zaměřených na programování se mi zdá adekvátní. Studenti by se měli už od prvopočátku učit vyvíjet pomocí automatizovaných testů a ty by měly být ze strany vyučujícího vyžadovány. Psaní testů je základní programátorský návyk, který po nic bude v praxi vyžadován a jeho osvojení a správné provádění vyžaduje léta praxe. Stejně tak by bylo 25
třeba již od počátku studenty nutit do správy zdrojových kódů v VCS (např. na http://www.github.com). Doporučoval je, zda v nějakých návazných předmětech studenty nezasvětit ještě do dalších jazyků s odlišným přístupem jako je např. Python, Ruby, Clojure, Groovy nebo Scala i kdyby to nemělo být již do hloubky. Obsah kurzu počítačová grafika je obsahově srovnatelný se zahraničními ekvivalenty. Přemýšlel jsem, zda by se do tohoto nebo nějakého podobného předmětu nedala zařadit práce s mapovými podklady a geografické výpočty (možná částečně spadá do probírané sekce vektorové grafiky). Bezesporu jeden z mnou nejlépe hodnocených předmětů na UHK je Logické programování. Tento předmět otvírá dveře k pochopení rekurzí a pravidlového programování. V předmětu mi chybělo propojení znalostí s prací – např. jak implementovat / využít pravidlový systém v obecně použitelném jazyce / prostředí jako je Java, C#, C apod. Co mi zcela chybělo byl vhled do funkcionálního programování (možná charakterem spadá do jiného předmětu?) - Funkcionální programování se dostává do mainstreamu pomocí jazyků jako je Scala, Erlang, Haskell a třeba i Javascript. Bude dobré, pokud na to budou studenti připraveni. Studenty by neměly zarazit podobné výrazy jako jsou immutabilita, highorder function, pattern matching, monády apod.
GMC
3.4.Studentská evaluace skupiny softwarového inženýrství Studentská evaluace e-předmětů (eLearningových předmětů) inovovaných v rámci projektu FIMINO probíhala v akademickém roce 2012/13 vždy v průběhu zkouškového období, tzn. v lednu a červnu 2013. Jako výzkumný nástroj byl použit elektronický anonymní dotazník tvořící součást epředmětu. V tomto dotazníku bylo zařazeno 12 otázek s výběrem odpovědí a dvě otázky s volnou odpovědí. Cílovou skupinu tvořili studenti studující inovované předměty; v případě skupiny SW inženýrství se jednalo celkem o čtrnáct předmětů a dotazníky vyplnilo celkem 864 respondentů. Získané informace jsou zpracovány v následujícím přehledu:
Pohlaví 15%
Pohlaví muž žena bez odpovědi
729 129 6
1% muž
84%
žena bez odpovědi
Ze 864 respondentů bylo 84 % mužů, 15 % žen a šest respondentů své pohlaví neuvedlo. Počet respondentů se v jednotlivých e-předmětech pohyboval od 2 do 256, poměr žen a mužů se lišil. Nejvíce respondentů se účastnilo evaluace e-předmětu Algoritmy a datové struktury (ALGDS – 256), e-předmět Programování I (PROG1) hodnotilo 125 respondentů, Úvod so objektového modelování (UOMO) 122 respondentů, Programování II (PROG2) 14 26
studentů, Počítačová grafika I (PGRF1) 83 respondentů, Počítačová grafika II (PGRF2) 68 respondentů, Počítačová grafika III (PGRF3) 34 studentů, Pokročilé programování (PPRO) 41 respondentů, Mobilní technologie (MTE) 34 studentů, Logické programování I (LP1) 32 respondentů, Systémové programování (SYPRO) 23 respondentů, Programování 3 (PRO3) 19 studentů, Teoretická informatika (TINF) 9 respondentů a Počítačová grafika (PGRF) 2. 300
300
Pohlaví
bez odpovědi
Obor
SM
200
200
MCR FM
bez odpovědi
100
IZM
100
IM2 AI2
0
muž
IM5
ALGDS LP1 MTE PRGF1 PRGF2 PRGF3 PRGF PPRO PROG1 PROG2 pro 3 SYPRO TINF UOMO
0
ALGDS LP1 MTE PRGF1 PRGF2 PRGF3 PRGF PPRO PROG1 PROG2 pro 3 SYPRO TINF UOMO
žena
AI3 IM3 IM5 AI2 IM2 bez odpovědi
AI3
AI3
Obor
Obor
IM3
IM3 IM5
473 248 3 136 1 3
0%
16%
AI2 IM2
55%
29%
IZM FM MCR SM bez odpovědi
Více než ¾ respondentů tvořili studující bakalářských studijních programů Aplikovaná informatika (AI3) a Informační management (IM3), 16 % studenti navazujícího studijního programu Aplikovaná informatika (AI2). Jeden respondentů studoval magisterský studijní program Informační management (IM2), tři pětiletý studijní program Informační management (IM5) a tři studijní program neuvedli.
Forma
11%0%
Forma prezenční
89%
prezenční kombinovaná bez odpovědi
kombinovaná bez odpovědi
767 95 2
89 % respondentů byli studenti prezenční formy studia a 11 % kombinované formy.
27
100%
300 200
bez odpovědi více než 5 let 4 až 5 let
50%
0%
ALGDS LP1 MTE PRGF1 PRGF2 PRGF3 PRGF PPRO PROG1 PROG2 pro 3 SYPRO TINF UOMO
kombinovaná prezenční
ALGDS LP1 MTE PRGF1 PRGF2 PRGF3 PRGF PPRO PROG1 PROG2 pro 3 SYPRO TINF UOMO
bez odpovědi
100 0
Délka studia
Forma
první rok
Délka studia
Délka studia první rok 2 až 3 roky 4 až 5 let více než 5 let bez odpovědi
2 až 3 roky
496 233 118 16 1
496
první rok více než 5 let
233 118
2 až 3 roky bez odpovědi
4 až 5 let
Více než polovina respondentů (57 %) studovala na fakultě první rok, tzn. jejich zkušenosti s elektronickou formou výuky byly relativně malé, 27 % studovalo 2. nebo 3. rok a 16 % respondentů studovalo čtyři a více let. Jeden respondent počet let studia neuvedl.
Jak splnila obsahová náplň předmětu Vaše očekávání
Jak splnila obsahová náplň předmětu Vaše očekávání plně
120
jsem spokojen/a
327
nemám výhrady
239
120
plně nemám výhrady vůbec ne
měl/a jsem jiná očekávání 154 vůbec ne bez odpovědi
327
239
154
jsem spokojen/a měl/a jsem jiná očekávání bez odpovědi
17 7
Na otázku Jak splnila obsahová náplň předmětu Vaše očekávání? odpovědělo 14% plně, 38 % jsem spokojen a 28 % nemám výhrady. 18 % respondentů se vyjádřilo, že mělo jiná očekávání, 2 % respondentů vybralo možnost vůbec ne a 7 otázku nezodpovědělo. Souhrnně je tedy možné konstatovat, pouze pro 20 % respondentů nesplnila obsahová náplň předmětů skupiny SW inženýrství jejich očekávání a 80 % respondentů bylo spokojeno a nebo nemělo výhrady.
28
100%
Rozsah předmětu
Očekávání
100%
bez odpovědi
ALGDS LP1 MTE PRGF1 PRGF2 PRGF3 PRGF PPRO PROG1 PROG2 pro 3 SYPRO TINF UOMO
měl/a jsem jiná očekávání nemám výhrady jsem spokojen/a plně
vyhovující
0%
Rozsah předmětu 80 275 příliš obsáhlý vyhovující naprosto nedostatečný
465
naprosto nedostatečný nedostatečný
50%
obsáhlý
ALGDS LP1 MTE PRGF1 PRGF2 PRGF3 PRGF PPRO PROG1 PROG2 pro 3 SYPRO TINF UOMO
50%
0%
bez odpovědi
vůbec ne
příliš obsáhlý
Rozsah předmětu považuji za příliš obsáhlý obsáhlý vyhovující nedostatečný naprosto nedostatečný bez odpovědi
32
obsáhlý nedostatečný bez odpovědi
80 275 465 32 4 8
Rozsah předmětu (množství probírané problematiky) považovalo 54 % respondentů za vyhovující. Pro 41 % byl předmět obsáhlý nebo příliš obsáhlý a jen pro 4 % nedostatečný. Osm respondentů neodpovědělo.
Délka předmětu
Délku předmětu považuji za příliš velkou velkou vyhovující malou příliš malou bez odpovědi
17 38 548 204 50 7
38 17
548
204
příliš velkou
velkou
vyhovující
malou
příliš malou
bez odpovědi
Podobně délku předmětu (počet hodin přednášek a cvičení) vzhledem k jeho obsahu považovalo 63 % respondentů za vyhovující. Pro 6 % byl počet hodin přednášek a cvičení vzhledem k obsahu předmětu velký obsáhlý a pro 30 % malý. Sedm respondentů neodpovědělo.
100%
Délka předmětu
100% bez odpovědi příliš malou malou
50%
Průvodce studiem
nebyl k dispozici ne
50%
0%
velkou příliš velkou
29
ALGDS LP1 MTE PRGF1 PRGF2 PRGF3 PRGF PPRO PROG1 PROG2 pro 3 SYPRO TINF UOMO
ALGDS LP1 MTE PRGF1 PRGF2 PRGF3 PRGF PPRO PROG1 PROG2 pro 3 SYPRO TINF UOMO
vyhovující
0%
bez odpovědi
ano, nebyl užitečný ano, pomohl mi
Průvodcem studia 1%
1% 44%
38%
ano, pomohl mi
379
ano, pomohl mi
ano, nebyl užitečný
140
ano, nebyl užitečný ne
ne
325
bez odpovědi
nebyl k dispozici
16%
11
nebyl k dispozici
9
bez odpovědi
Seznámil/a jste se s Průvodcem studia? Povinnou součástí e-předmětů je Průvodce studia popisující obsah předmětu, jeho vzdělávací cíle, harmonogram studia, podmínky úspěšného absolvování apod. 44 % respondentů konstatovalo, že jim tento průvodce pomohl ve studiu, podle názoru 16 % nebyl průvodce užitečný a 38 % se s ním neseznámilo. Devět respondentů otázku neodpovědělo a 11 studentů se domnívalo, že Průvodce studia nebyl k dispozici. Využití průvodce se lišilo v jednotlivých předmětech patrně podle důrazu jednotlivých garantů na seznámení studentů s ním.
E-předmět 223
339
239 44
plně vyhovuje
223
jsem spokojen/a
339
nemám výhrady
239
s problémy
44
vůbec ne plně vyhovuje nemám výhrady vůbec ne
jsem spokojen/a s problémy bez odpovědi
9
bez odpovědi
10
Vyhovovalo vám umístění studijních materiálů v e-předmětu na OLIVĚ? Na otázku Vyhovovalo vám umístění studijních materiálů v e-předmětu na OLIVĚ? odpovědělo 26 % plně, 39 % jsem spokojen a 28 % nemám výhrady. 5 % respondentů se vyjádřila, že mělo problémy, 1 % vybralo možnost vůbec ne a 10 otázku nezodpovědělo. Souhrnně je tedy možné konstatovat, že 93 % respondentů bylo spokojeno a nebo nemělo výhrady. Spokojenost studentů se lišila podle zpracování jednotlivých e-předmětů.
Studijní materiály
bez odpovědi
600
vůbec ne s problémy
0%
ALGDS LP1 MTE PRGF1 PRGF2 PRGF3 PRGF PPRO PROG1 PROG2 pro 3 SYPRO TINF UOMO
50%
nemám výhrady jsem spokojen/a plně vyhovuje
400
animace
200
hypertext s obrázky osnova přednášek v tištěném tvaru
0
30
videosekvence
ALGDS LP1 MTE PRGF1 PRGF2 PRGF3 PRGF PPRO PROG1 PROG2 pro 3 SYPRO TINF UOMO
E-předmět 100%
Studijní materiály Studijní materiály preferujete v tištěném tvaru
411
osnova přednášek (např. PowerPoint)
587
text s hypertextovými odkazy a obrázky
486
animace
246
videosekvence
262
Pro studium respondenti nejvíce preferovali osnovu přednášek např. v Powerpointu (68 %) nebo ve formě text s hypertextovými odkazy a obrázky (56 %). Téměř polovina (48 %) preferuje tištěné texty. Menší část respondentů preferuje animace (28 %) a videosekvence (30 %).
Přehlednost
125
383
plně spokojen/a nemám výhrady vůbec nejsem spokojen/a
275 64
plně spokojen/a
125
jsem spokojen/a
383
nemám výhrady
275
s problémy
jsem spokojen/a s problémy bez odpovědi
64
vůbec nejsem spokojen/a
9
bez odpovědi
8
S přehledností e-předmětu jsem Studenti měli také možnost ohodnotit přehlednost studovaného e-předmětu. Více než polovina respondentů je s přehledností spokojena (44 %) nebo plně spokojena (14 %). Téměř třetina nemá výhrady (32 %). Problémy s přehledností e-předmětu mělo pouze 7 % studentů a vůbec nebylo spokojeno 1 %. Osm respondentů otázku nezodpovědělo. Celkově je tedy možné konstatovat, že 90 % respondentů bylo s přehledností vytvořených e-předmětů spokojeno.
100% 50% 0%
Přehlednost
100%
bez odpovědi
OLIVA bez odpovědi
vůbec nejsem spokojen/a s problémy
50%
vůbec ne s problémy
nemám výhrady jsem spokojen/a plně spokojen/a
0%
Jak vám vyhovuje OLIVA? 31
nemám výhrady jsem spokojen/a plně
plně jsem spokojen/a nemám výhrady s problémy vůbec ne bez odpovědi
139 314 247 135 24 5
Jak vám vyhovuje OLIVA?
139
314
plně nemám výhrady vůbec ne
247 135 jsem spokojen/a s problémy bez odpovědi
V poslední otázce měli respondenti zhodnotit, jak jim vyhovuje virtuální studijní prostředí OLIVA. Polovina respondentů byla spokojena (36 %) nebo plně spokojena (16 %). 29 % nemá výhrady. 16 % respondentů uvádí, že má problémy, a 3 % OLIVA nevyhovuje vůbec. Pět studentů otázku nezodpovědělo.
32
33