Tato stránka vychází z podkladů pro tištěné studijní plány (tzv. Karolinku).
Obecná informatika
Garantující pracoviště: Informatický ústav Univerzity Karlovy a Katedra aplikované matematiky Garant specializace: doc. Mgr. Robert Šámal, Ph.D.Specializace obecná informatika je určena především studentům se zájmem o důkladné základy informatiky i matematiky, kteří mají v úmyslu po absolvování bakalářského studia pokračovat v navazujícím magisterském studiu. Zároveň je připraví na přímé uplatnění v praxi. Specializace dovoluje studentovi zaměřit se na algoritmy, optimalizaci, na jejich teoretické principy a také na diskrétní matematiku.
Povinné předměty studijního programu Informatika
Povinné předměty společné pro všechny specializace jsou uvedeny v úvodní části.
Povinné předměty specializace
kód | Předmět | Kredity | ZS | LS | |
NPRX005 | Neprocedurální programování | 5 | — | 2/2 Z+Zk | |
NOPX048 | Lineární programování a kombinatorická optimalizace | 5 | — | 2/2 Z+Zk | |
NMAX055 | Matematická analýza 2 | 1 | 5 | 2/2 Z+Zk | — |
1 Předmět Matematická analýza 2 je vyučován v akademickém roce 2019/2020 v letním semestru pro studenty, kteří nastoupili v minulých letech. Pro studenty nastupující v roce 2019/20 je určen běh v zimním semestru 2020/21.
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í 30 kreditů za předměty z této skupiny.
kód | Předmět | Kredity | ZS | LS | |
NDMI084 | Úvod do aproximačních a pravděpodobnostních algoritmů | 5 | 2/1 Z+Zk | — | |
NDMI098 | Algoritmická teorie her | 5 | 2/2 Z+Zk | — | |
NDMI010 | Grafové algoritmy | 3 | 2/0 Zk | — | |
NDMX012 | Kombinatorika a grafy 2 | 5 | — | 2/2 Z+Zk | |
NDMX009 | Základy kombinatorické a výpočetní geometrie | 5 | 2/2 Z+Zk | — | |
NOPX046 | Diskrétní a spojitá optimalizace | 5 | — | 2/2 Z+Zk | |
NMAX062 | Algebra 1 | 5 | 2/2 Z+Zk | — | |
NMAX063 | Algebra 2 | 3 | — | 2/0 Zk | |
NMAX056 | Matematická analýza 3 | 5 | — | 2/2 Z+Zk | |
NMAX042 | Numerická matematika | 5 | — | 2/2 Z+Zk | |
NMAX073 | Pravděpodobnost a statistika 2 | 5 | — | 2/2 Z+Zk | |
NAIL063 | Teorie množin | 3 | — | 2/0 Zk | |
NAIL124 | Cvičení z teorie množin | 3 | — | 0/2 Z |
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í 5 kreditů za předměty z této skupiny (tzn. je třeba splnit alespoň jeden předmět z této skupiny).
kód | Předmět | Kredity | ZS | LS | |
NPRX041 | Programování v C++ | 5 | 2/2 Z+Zk | — | |
NPRX013 | Programování v jazyce Java | 5 | 2/2 Z+Zk | — | |
NPRX035 | Programování v jazyce C# | 5 | 2/2 Z+Zk | — |
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í alespoň 45 kreditů za povinně volitelné předměty všech tří skupin. Samostatný limit pro třetí skupinu není.
kód | Předmět | Kredity | ZS | LS | |
NPFL054 | Úvod do strojového učení | 5 | 2/2 Z+Zk | — | |
NPGR035 | Strojové učení v počítačovém vidění | 5 | 2/2 Z+Zk | — | |
NAIL120 | Úvod do umělé inteligence | 5 | — | 2/2 Z+Zk | |
NPGR003 | Základy počítačové grafiky | 5 | 2/2 Z+Zk | — | |
NPGR002 | Digitální zpracování obrazu | 4 | 3/0 Zk | — | |
NPGR038 | Základy vývoje počítačových her | 5 | — | 2/2 Z+Zk | |
NPFL124 | Zpracování přirozeného jazyka | 4 | — | 2/1 Z+Zk | |
NPFL012 | Úvod do počítačové lingvistiky | 3 | 2/0 Zk | — | |
NSWX004 | Operační systémy | 4 | 2/1 KZ | — | |
NPRX036 | Datové formáty | 5 | — | 2/2 Z+Zk | |
NSWI090 | Počítačové sítě | 3 | — | 2/0 Zk | |
NSWI143 | Architektura počítačů | 3 | — | 2/0 Zk | |
NDBX007 | Databázové přístupové metody | 4 | 2/1 Z+Zk | — | |
NDBI040 | Moderní databázové koncepty | 5 | 2/2 Z+Zk | — | |
NSWI098 | Principy překladačů | 6 | 2/2 Z+Zk | — | |
NPRG042 | Programování v paralelním prostředí | 6 | — | 2/2 Z+Zk | |
NSWX142 | Programování webových aplikací | 5 | 2/2 Z+Zk | — | |
NPRG054 | Vývoj vysoce výkonného software | 6 | — | 2/2 Z+Zk | |
NPRX051 | Pokročilé programování v C++ | 5 | — | 2/2 Z+Zk | |
NPRX021 | Pokročilé programování v jazyce Java | 5 | — | 2/2 Z+Zk | |
NPRX038 | Pokročilé programování v jazyce C# | 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 | |
NTIX061 | Algoritmy a datové struktury 2 | 5 | 2/2 Z+Zk | — | |
NAIX062 | Výroková a predikátová logika | 5 | 2/2 Z+Zk | — | |
NMAX055 | Matematická analýza 2 | 1 | 5 | 2/2 Z+Zk | — |
NDMX011 | Kombinatorika a grafy 1 | 1 | 5 | 2/2 Z+Zk | — |
NPRX??? | Programování v jazyce Java/C#/C++ | 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 | — |
NTIX071 | Automaty a gramatiky | 5 | — | 2/2 Z+Zk | |
NPRX005 | Neprocedurální programování | 5 | — | 2/2 Z+Zk | |
NOPX048 | Lineární programování a kombinatorická optimalizace | 5 | — | 2/2 Z+Zk | |
NMAX059 | 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ět skupiny 1 | 5 | 2/2 Z+Zk | |||
Povinně volitelné předměty | |||||
Volitelné předměty |
3. rok studia
kód | Předmět | Kredity | ZS | LS | |
NDBX025 | Databázové systémy | 5 | 2/2 Z+Zk | — | |
NSZZ031 | Vypracování a konzultace bakalářské práce | 6 | — | 0/4 Z | |
Povinně volitelné předměty | 35 | ||||
Volitelné předměty | 14 |
1 Předměty Matematická analýza 2 a Kombinatorika a grafy 1 jsou vyučovány v akademickém roce 2019/2020 v letním semestru pro studenty, kteří nastoupili v minulých letech. Pro studenty nastupující v roce 2019/20 je určen běh v zimním semestru 2020/21.
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.
Doporučené povinně volitelné předměty
Pro přípravu ke státním zkouškám, jakož i pro další studium informatiky, doporučujeme zejména následující předměty.kód | Předmět | Kredity | ZS | LS | |
NOPX046 | Diskrétní a spojitá optimalizace | 5 | — | 2/2 Z+Zk | |
NDMI084 | Úvod do aproximačních a pravděpodobnostních algoritmů | 5 | 2/1 Z+Zk | — | |
NDMI010 | Grafové algoritmy | 3 | 2/0 Zk | — | |
NDMX009 | Základy kombinatorické a výpočetní geometrie | 5 | 2/2 Z+Zk | — | |
NDMX012 | Kombinatorika a grafy 2 | 5 | 2/2 Z+Zk | — | |
NAIL063 | Teorie množin | 3 | — | 2/0 Zk | |
NMAX062 | Algebra 1 | 5 | 2/2 Z+Zk | — |
Požadavky znalostí ke státní závěrečné zkoušce
V první části studijních plánů programu jsou popsány okruhy státní zkoušky společné pro všechny specializace. Studenti specializace Obecná informatika budou navíc zkoušeni podle rozpisu níže z témat 1.-3. a ze dvou témat vybraných z 4.-7. Výběr těchto dvou témat student oznámí při přihlášení ke státní zkoušce.
1. Základy sítí
Taxonomie počítačových sítí. Architektura ISO/OSI.
Přehled síťového modelu TCP/IP. Směrování.
Koncept adresy, portu, socketu.
Architektura klient/server.
Základy fungování protokolů HTTP, FTP a SMTP.
2. Kombinatorika
Vytvořující funkce.
Odhady faktoriálů a kombinačních čísel.
Ramseyovy věty.
Samoopravné kódy.
3. Diferenciální a integrální počet ve více rozměrech
Riemannův integrál. Extrémy funkcí více proměnných.
Metrický prostor, otevřené a uzavřené množiny, kompaktnost.
4. Optimalizace
Mnohostěny, Minkowského-Weylova věta.
Základy lineárního programování, věty o dualitě, metody řešení.
Edmondsův algoritmus. Celočíselné programování.
Aproximační algoritmy pro kombinatorické problémy (splnitelnost, nezávislé množiny, množinové pokrytí, rozvrhování).
Použití lineárního programování pro aproximační algoritmy.
Využití pravděpodobnosti při návrhu algoritmů.
5. Pokročilé Algoritmy a datové struktury
Výpočetní model RAM.
Dynamické programování.
Komponenty silné souvislosti orientovaných grafů.
Maximální toky: Dinicův a Goldbergův algoritmus.
Aplikace toků: disjunktní cesty, párování v bipartitních grafech.
Toky a cesty v celočíselně ohodnocených grafech.
Vyhledávání v textu: algoritmy Knuth-Morris-Pratt, Aho-Corasicková a Rabin-Karp.
Diskrétní Fourierova transformace a její aplikace.
Aproximační algoritmy a schémata.
Paralelní algoritmy v hradlových a komparátorových sítích.
6. Geometrie
Základní věty o konvexních množinách (Hellyho, Radonova, o oddělování).
Minkowského věta o mřížkách. Konvexní mnohostěny (zákadní vlastnosti, V-mnohostěny,
H-mnohostěny, kombinatorická složitost). Geometrická dualita. Voroného
diagramy, arrangementy (komplexy) nadrovin, incidence bodů a přímek, základní
algoritmy výpočetní geometrie (konstrukce arrangementu přímek v rovině,
konstrukce konvexního obalu v rovině).
7. Pokročilá diskrétní matematika
Barvení grafů (Brooksova a Vizingova věta). Tutteova věta. Extremální kombinatorika (Turánova věta, Erdös-Ko-Radoova věta). Kreslení grafů na plochách.
Množiny a zobrazení. Subvalence a ekvivalence množin. Dobré uspořádání. Axiom výběru (Zermelova věta, Zornovo lemma).