Databáze a web
Tato stránka vychází z podkladů pro tištěné studijní plány (tzv. Karolinku).
Specializace Databáze a web nabízí škálu předmětů zaměřených na databázové a webové metody a technologie, analýzu dat, databázovou administraci, programování a vývoj tradičních, webových, databázových a datově intenzivních aplikací. Důraz je kladen na relační i nerelační databáze, analýzu sociálních sítí, webové a multimediální vyhledávače, metody extrakce vlastností z dat. Vedle tohoto profilujícího zaměření nabízí specializace také tradiční informatický základ, který absolventa připraví na navazující magisterské studium informatiky.
Společné povinné předměty programu Informatika
Povinné předměty společné pro všechny specializace jsou uvedeny v předchozí části.
Povinné předměty specializace
kód | Předmět | Kredity | ZS | LS | |
NSWI142 | Programování webových aplikací | 5 | 2/2 Z+Zk | — | |
NDBI026 | Databázové aplikace | 4 | — | 1/2 KZ | |
NDBI007 | Databázové přístupové metody | 4 | 2/1 Z+Zk | — | |
NDBI040 | Moderní databázové systémy | 5 | 2/2 Z+Zk | — | |
NSWI153 | Pokročilé programování webových aplikací | 5 | — | 2/2 Z+Zk | |
NPRG036 | Datové formáty | 5 | — | 2/2 Z+Zk | |
NDBI046 | Datový management | 5 | — | 2/2 Z+Zk | |
NDBI038 | Vyhledávání na webu | 4 | — | 2/1 Z+Zk |
Povinně volitelné předměty – skupina 1
Podmínkou pro přihlášení ke státní závěrečné zkoušce je získání 15 kreditů za předměty z této skupiny.
kód | Předmět | Kredity | ZS | LS | |
NPRG041 | Programování v C++ | 5 | 2/2 Z+Zk | — | |
NPRG013 | Programování v jazyce Java | 5 | 2/2 Z+Zk | — | |
NPRG035 | Programování v jazyce C# | 5 | 2/2 Z+Zk | — | |
NPRG051 | Pokročilé programování v C++ | 5 | — | 2/2 Z+Zk | |
NPRG021 | Pokročilé programování v jazyce Java | 5 | — | 2/2 Z+Zk | |
NPRG038 | Pokročilé programování v jazyce C# | 5 | — | 2/2 Z+Zk | |
NPRG005 | Neprocedurální programování | 5 | — | 2/2 Z+Zk |
Povinně volitelné předměty – skupina 2
Podmínkou pro přihlášení ke státní závěrečné zkoušce je získání 6 kreditů za předměty z této skupiny.
kód | Předmět | Kredity | ZS | LS | |
NSWI004 | Operační systémy | 4 | 2/1 KZ | — | |
NPFL054 | Úvod do strojového učení v systému R | 5 | 2/2 Z+Zk | — | |
NDBI045 | Vyhledávání a explorace ve videu | 5 | — | 2/2 Z+Zk | |
NDBI037 | Informační modely s uspořádáním | 4 | 2/1 Z+Zk | — | |
NDBI013 | Administrace Oracle | 2 | — | 0/2 Z |
Povinně volitelné předměty – skupina 3
Podmínkou pro přihlášení ke státní závěrečné zkoušce je získání 3 kredity za předměty z této skupiny.
kód | Předmět | Kredity | ZS | LS | |
NMAI055 | Matematická analýza 2 | 5 | 2/2 Z+Zk | — | |
NPRG056 | Programování mobilních zařízení | 3 | 0/2 Z | — | |
NAIL120 | Úvod do umělé inteligence | 5 | — | 2/2 Z+Zk | |
NSWI130 | Architektury softwarových systémů | 5 | 2/2 Z+Zk | — | |
NSWI090 | Počítačové sítě | 3 | — | 2/0 Zk | |
NPGR036 | Počítačové vidění | 5 | — | 2/2 Z+Zk | |
NPGR002 | Digitální zpracování obrazu | 4 | 3/0 Zk | — | |
NAIL121 | Seminář dobývání znalostí | 4 | — | 1/2 KZ | |
NPGR035 | Strojové učení v počítačovém vidění | 5 | 2/2 Z+Zk | — |
Doporučený průběh studia
Doporučený průběh studia zahrnuje všechny povinné předměty a některé další povinně volitelné nebo volitelné předměty. Posluchač si ho musí sám doplnit dalšími povinně volitelnými a volitelnými předměty podle vlastního výběru. Povinné předměty jsou v tabulkách doporučeného průběhu studia vyznačeny tučně, povinně volitelné běžným písmem a volitelné kurzívou.
1. rok studia
Společné pro všechny specializace, viz předchozí část.2. rok studia
kód | Předmět | Kredity | ZS | LS | |
Programování v jazyce Java/C++/C# | 5 | 2/2 Z+Zk | — | ||
NDBI025 | Databázové systémy | 5 | 2/2 Z+Zk | — | |
NSWI142 | Programování webových aplikací | 5 | 2/2 Z+Zk | — | |
NTIN061 | Algoritmy a datové struktury 2 | 5 | 2/2 Z+Zk | — | |
NAIL062 | Výroková a predikátová logika | 5 | 2/2 Z+Zk | — | |
NDMI011 | Kombinatorika a grafy 1 | 5 | 2/2 Z+Zk | — | |
NJAZ074 | Anglický jazyk pro středně pokročilé III | 2 | 1 | 0/2 Z | — |
NTVY016 | Tělesná výchova III | 4 | 1 | 0/2 Z | — |
NSWI153 | Pokročilé programování webových aplikací | 5 | — | 2/2 Z+Zk | |
NTIN071 | Automaty a gramatiky | 5 | — | 2/2 Z+Zk | |
NMAI059 | Pravděpodobnost a statistika 1 | 5 | — | 2/2 Z+Zk | |
NPRG045 | Ročníkový projekt | 4 | — | 0/1 Z | |
NJAZ090 | Anglický jazyk pro středně pokročilé IV | 2 | 1 | — | 0/2 Z |
NJAZ091 | Anglický jazyk | 3 | 1 | — | 0/0 Zk |
NTVY017 | Tělesná výchova IV | 4 | 1 | — | 0/2 Z |
Povinně volitelné předměty | |||||
Volitelné předměty |
3. rok studia
kód | Předmět | Kredity | ZS | LS | |
NDBI026 | Databázové aplikace | 4 | — | 1/2 KZ | |
NDBI007 | Databázové přístupové metody | 4 | 2/1 Z+Zk | — | |
NDBI040 | Moderní databázové systémy | 5 | 2/2 Z+Zk | — | |
NPRG036 | Datové formáty | 5 | — | 2/2 Z+Zk | |
NDBI046 | Datový management | 5 | — | 2/2 Z+Zk | |
NDBI038 | Vyhledávání na webu | 4 | — | 2/1 Z+Zk | |
NSZZ031 | Vypracování a konzultace bakalářské práce | 6 | — | 0/4 Z | |
Povinně volitelné předměty | |||||
Volitelné předměty |
2 Výuka anglického jazyka NJAZ070, NJAZ072, NJAZ074, NJAZ090 v rozsahu 0/2 v každém semestru je určena pro středně pokročilé a pokročilé. Pro začátečníky a mírně pokročilé jsou určeny předměty NJAZ071, NJAZ073, NJAZ075, NJAZ089 s rozsahem výuky 0/4 v každém semestru.
3 Zkoušku z anglického jazyka NJAZ091 je možné absolvovat v zimním nebo v letním semestru.
4 Místo jednoho z předmětů NTVY014, NTVY015, NTVY016 a NTVY017 je možné si zapsat letní výcvikový kurz NTVY018 nebo zimní výcvikový kurz NTVY019. Tyto kurzy může student absolvovat kdykoli v průběhu bakalářského studia.
Požadavky znalostí ke státní závěrečné zkoušce
1. Databáze
Architektury databázových systémů. Konceptuální, logická a fyzická úroveň pohledů na data.
Algoritmy návrhu schémat relací, normální formy, referenční integrita. Důvody pro normalizaci relací.
Transakční zpracování, vlastnosti transakcí, uzamykací protokoly, zablokování. Řešení problému uváznutí v databázi. Izolace transakcí v SQL.
Konceptuální modelování. Rámcově převod konceptuálního modelu na (relační) logický datový model.
Přehled SQL. Základní dotazy. Seskupování dat a agregace. Spojování tabulek. Vnořené dotazy, operátory, testy na NULL hodnotu.
Uložené procedury, triggery, funkce.
Moderní databázové koncepty. MapReduce - princip, vlastnosti, kritika, alternativní přístupy. NoSQL databáze. Grafové databáze. Data s více modely. Multi-model databáze. Polystores. Jazyk SQL v prostředí Big Data. NewSQL databáze.
Pokryto přednáškami
- –
NDBI025 Databázové systémy
- – NDBI026 Databázové aplikace
- – NDBI040 Moderní databázové koncepty
- – NDBI026 Databázové aplikace
2. Datový management
Datové formáty. Základní typy strukturovaných dat, příklady užití. Formáty pro tabulková data, schémata, jazyky pro transformaci dat. Formáty pro stromová a grafová data, schémata, jazyky pro transformaci dat. Formáty pro geodata. Základy grafických a multimediálních formátů. Sémantický popis dat, slovníky.
Procesy zpracování dat. Předzpracování dat. Katalogizace dat, metadata. Kódování a komprese dat. Základy šifrování dat.
Základy indexování. Typy organizace souborů, přímé/nepřímé indexování, primární/sekundární index.
Hashování na vnější paměti. Cormack, Larson & Kalja, Faginovo rozšiřitelné hashování, Lineární hashování.
Hierarchické indexování. Indexování v prostorových databázích, prostorové spojení, prostorové dotazování.
Pokryto přednáškami
- –
NPRG036 Datové formáty
- – NDBI046 Datový management
- – NDBI007 Databázové přístupové metody
- – NDBI046 Datový management
3. Web
World Wide Web. Základní principy www, chápání webu jako distribuované databáze a jako aplikační platformy.
Tvorba statických webových stránek. Principy a syntax značkovacích jazyků a jejich interpretace prohlížečem (vizualizace, DOM). Ovlivňování vzhledu webové stránky pomocí CSS. Základy interakce s uživatelem.
Architektury a základní principy webových aplikací. CGI a CGI-like aplikace. AJAX, Single-page aplikace, souvislost s REST API, klasické přístupy k návrhu SPA a udržování stavu aplikace. Návaznost na protokol HTTP, udržování uživatelské relace, cookies. Nejpoužívanější návrhové vzory a techniky.
Programování na straně klienta. Základní syntaxe JavaScriptu, principy prototypového OOP, funkcionální konstrukce. Práce s DOM. Zpracování událostí v DOM, event driven model, asynchronní programování v JavaScriptu. Standardní API v prohlížeči.
API webových aplikací. Způsob návrhu REST API, OpenAPI. Webové služby. WebSocket, WebRTC. Základy bezpečnosti webových aplikací. Autentizace. Autorizace, příklady bezpečnostních modelů. Šifrování, hašovací funkce a jejich použití v rámci web aplikací.
Vyhledávání na webu. Booleovské a vektorové modely, word2vec. Vyhledávání v hypertextu, ranking, PageRank, optimalizace webových stránek pro vyhledávače. Podobnostní vyhledávání v multimediálních databázích. Metrické indexování podobnosti.
Pokryto přednáškami
- –
NSWI142 Programování webových aplikací
- – NSWI153 Pokročilé programování webových aplikací
- – NDBI038 Vyhledávání na webu
- – NSWI153 Pokročilé programování webových aplikací