1
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:
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.
Poř.č. Předmět Název Semestr Kredit Záp. Zk. Garant Stupeň im ai
1 ALGDS Algoritmy a datové struktury 1 4 z
A. Ševčíková BC P P
2 LP1 Logické programování I 3 5 z zk J. Hynek BC V P
3 OWE Optimalizace webových aplikací
6 5 z zk T. Cimler BC V V
4 PGRF1 Počítačová grafika I 3 6 z zk A. Slabý BC V P
5 PGRF2 Počítačová grafika II 4 5 z zk A. Slabý BC V P
6 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 Úvod do objektového modelování
1 3 z zk P. Čech BC P P
10 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
2
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
3
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ů
1 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.
2
Typové algoritmické konstrukce – pro předem známy počet hodnot
Sestavit jednoduchý algoritmus zpracováván předem známy počet čísel.
4
3
Typové algoritmické konstrukce – pro předem neznámy počet hodnot
Sestavit jednoduchý algoritmus zpracováván předem neznámy počet čísel.
4 Typové algoritmické 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.
5 Typové algoritmické 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ů.
5
Náplň inovovaného předmětu:
Téma Cílové schopnosti studentů
1 Ú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í.
2 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ů.
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.
6
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.
7
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.
4 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í.
8
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.
4 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í.
7 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í.
8 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í.
9
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. Typy mobilních zařízení (PDA, Tablet, mobilní telefon).
2. Služby a technologie poskytující mobilním zařízením konektivitu.
3. Využití mobilních zařízení – typy použití, skupiny aplikačního softwaru.
4. Operační systémy mobilních zařízení
Symbian
Windows Mobile / Windows Phone 7
Android
iOS
10
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 Cílové schopnosti studentů
1 Reprezentace objektů v prostorové scéně
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
Vektorový prostor a projektivní rozšíření
Definovat vektorový prostor a projektivní rozšíření. Popsat operace nad vektorovým 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ů.
11
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ě.
9
Čá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.
12 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.
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:
12
Téma Cílové schopnosti studentů
1
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.
2
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.
3 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í.
7
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.
8
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.
9 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í.
10
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í.
13
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.
14
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
15
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:
16
Téma Cílové schopnosti studentů
1 Ú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.
2 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í.
3 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í.
4 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).
5 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“).
17
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:
18
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í
Vymezit základní prvky uživatelského rozhraní a rozdělit jednotlivé části modelu do logicky souvisejících celků.
9 Návrhové sekvenční diagramy
Zpřesnit objektové interakce o zahrnutí návrhových tříd aplikační logiky a tříd uživatelského rozhraní
10 Generování dokumentace a zdrojového kódu
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.
11 Návrhové vzory 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ě
19
ú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 Cílové schopnosti studentů
1 Úvod do systémového programování
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.
2 Jazyk C
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.
3 Skripty a skriptování, volání, příkazy, shelly
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ů.
4 Struktura a architektura systému
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í.
5 Subsystém souborů
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.
6 Subsystém procesů
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
20
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.
7 Správa paměti
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.
8 Signály
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í.
9 Subsystém V/V
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.
10 SysRQ, technologie SMART (prevence před selháním HDD)
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.
11 Operační systémy reálného času
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é
21
š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ší.
3 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).
22
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:
Téma Cílové schopnosti studentů
1 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í.
2 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.
3 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.
4 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é.
5 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.
23
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ý.
24
SW inženýrství Velmi souhlasím
Souhlasím Nesouhlasím
Velmi nesouhlasí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
25
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
26
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, high-
order 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 e-
př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í muž 729
žena 129
bez odpovědi 6
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
84%
15% 1% Pohlaví
muž
žena
bez odpovědi
27
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.
Obor AI3 473
IM3 248
IM5 3
AI2 136
IM2 1
bez odpovědi 3
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 prezenční 767
kombinovaná 95
bez odpovědi 2
89 % respondentů byli studenti prezenční formy studia a 11 % kombinované formy.
0
100
200
300
ALG
DS
LP1
MTE
PR
GF1
PR
GF2
PR
GF3
PR
GF
PP
RO
PR
OG
1P
RO
G2
pro
3SY
PR
OTI
NF
UO
MO
Pohlaví
bez odpovědi
žena
muž0
100
200
300
ALG
DS
LP1
MTE
PR
GF1
PR
GF2
PR
GF3
PR
GF
PP
RO
PR
OG
1P
RO
G2
pro
3SY
PR
OTI
NF
UO
MO
Obor bez odpovědi
SM
MCR
FM
IZM
IM2
AI2
IM5
IM3
AI3
55% 29%
0% 16%
Obor AI3
IM3
IM5
AI2
IM2
IZM
FM
MCR
SM
bez odpovědi
89%
11% 0% Forma
prezenční
kombinovaná
bez odpovědi
28
Délka studia první rok 496
2 až 3 roky 233
4 až 5 let 118
více než 5 let 16
bez odpovědi 1
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í
plně 120
jsem spokojen/a 327
nemám výhrady 239
měl/a jsem jiná očekávání 154
vůbec ne 17
bez odpovědi 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.
0
100
200
300
ALG
DS
LP1
MTE
PR
GF1
PR
GF2
PR
GF3
PR
GF
PP
RO
PR
OG
1P
RO
G2
pro
3SY
PR
OTI
NF
UO
MO
Forma
bez odpovědi
kombinovaná
prezenční
0%
50%
100%
ALG
DS
LP1
MTE
PR
GF1
PR
GF2
PR
GF3
PR
GF
PP
RO
PR
OG
1P
RO
G2
pro
3SY
PR
OTI
NF
UO
MO
Délka studia bezodpovědivíce než 5let4 až 5 let
2 až 3 roky
první rok
496 233 118
Délka studia
první rok 2 až 3 roky 4 až 5 let
více než 5 let bez odpovědi
120 327 239 154
Jak splnila obsahová náplň předmětu Vaše očekávání
plně jsem spokojen/a
nemám výhrady měl/a jsem jiná očekávání
vůbec ne bez odpovědi
29
Rozsah předmětu považuji za
příliš obsáhlý 80 obsáhlý 275 vyhovující 465 nedostatečný 32 naprosto nedostatečný 4
bez odpovědi 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élku předmětu považuji za příliš velkou 17 velkou 38 vyhovující 548 malou 204
příliš malou 50
bez odpovědi 7
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.
0%
50%
100%
ALG
DS
LP1
MTE
PR
GF1
PR
GF2
PR
GF3
PR
GF
PP
RO
PR
OG
1P
RO
G2
pro
3SY
PR
OTI
NF
UO
MO
Očekávání bez odpovědi
vůbec ne
měl/a jsemjiná očekávánínemámvýhradyjsemspokojen/aplně
0%
50%
100%
ALG
DS
LP1
MTE
PR
GF1
PR
GF2
PR
GF3
PR
GF
PP
RO
PR
OG
1P
RO
G2
pro
3SY
PR
OTI
NF
UO
MO
Rozsah předmětu
bez odpovědi
naprostonedostatečnýnedostatečný
vyhovující
obsáhlý
příliš obsáhlý
80 275 465 32
Rozsah předmětu
příliš obsáhlý obsáhlývyhovující nedostatečnýnaprosto nedostatečný bez odpovědi
17 38
548 204
Délka předmětu
příliš velkou velkou vyhovující
malou příliš malou bez odpovědi
0%
50%
100%
ALG
DS
LP1
MTE
PR
GF1
PR
GF2
PR
GF3
PR
GF
PP
RO
PR
OG
1P
RO
G2
pro
3SY
PR
OTI
NF
UO
MO
Délka předmětu bezodpovědipřílišmaloumalou
vyhovující
velkou
přílišvelkou
0%
50%
100%
ALG
DS
LP1
MTE
PR
GF1
PR
GF2
PR
GF3
PR
GF
PP
RO
PR
OG
1P
RO
G2
pro
3SY
PR
OTI
NF
UO
MO
Průvodce studiem bez odpovědi
nebyl kdispozici
ne
ano, nebylužitečný
ano, pomohlmi
30
Seznámil/a jste se s Průvodcem studia?
ano, pomohl mi 379
ano, nebyl užitečný 140
ne 325
nebyl k dispozici 11
bez odpovědi 9
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.
Vyhovovalo vám umístění studijních materiálů v e-předmětu na OLIVĚ?
plně vyhovuje 223
jsem spokojen/a 339
nemám výhrady 239
s problémy 44
vůbec ne 9
bez odpovědi 10
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ů.
44%
16%
38%
1% 1%
Průvodcem studia ano, pomohl mi
ano, nebylužitečnýne
nebyl k dispozici
bez odpovědi
223 339 239 44
E-předmět
plně vyhovuje jsem spokojen/anemám výhrady s problémyvůbec ne bez odpovědi
0%
50%
100%
ALG
DS
LP1
MTE
PR
GF1
PR
GF2
PR
GF3
PR
GF
PP
RO
PR
OG
1P
RO
G2
pro
3SY
PR
OTI
NF
UO
MO
E-předmět bez odpovědi
vůbec ne
s problémy
nemámvýhradyjsemspokojen/aplně vyhovuje
0
200
400
600
ALG
DS
LP1
MTE
PR
GF1
PR
GF2
PR
GF3
PR
GF
PP
RO
PR
OG
1P
RO
G2
pro
3SY
PR
OTI
NF
UO
MO
Studijní materiály
videosekvence
animace
hypertext sobrázkyosnovapřednášekv tištěnémtvaru
31
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 %).
S přehledností e-předmětu jsem
plně spokojen/a 125
jsem spokojen/a 383
nemám výhrady 275
s problémy 64
vůbec nejsem spokojen/a 9
bez odpovědi 8
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.
Jak vám vyhovuje OLIVA?
Studijní materiály
125 383 275 64
Přehlednost
plně spokojen/a jsem spokojen/a
nemám výhrady s problémy
vůbec nejsem spokojen/a bez odpovědi
0%
50%
100%Přehlednost bez odpovědi
vůbec nejsemspokojen/as problémy
nemámvýhradyjsemspokojen/aplněspokojen/a
0%
50%
100%OLIVA bez odpovědi
vůbec ne
s problémy
nemámvýhradyjsemspokojen/aplně
32
plně 139
jsem spokojen/a 314
nemám výhrady 247
s problémy 135
vůbec ne 24
bez odpovědi 5
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.
139 314 247 135
Jak vám vyhovuje OLIVA?
plně jsem spokojen/anemám výhrady s problémyvůbec ne bez odpovědi