Základní informace

Tato stránka vychází z podkladů pro tištěné studijní plány (tzv. Karolinku).

Bakalářské studium od akad. roku 2019/20

Garant studijního programu: doc. RNDr. Ondřej Čepek, Ph.D.

Studijní specializace

Bakalářský studijní program Informatika má společný první ročník a od druhého ročníku se dělí na šest specializací:

Obecná informatika
Programování a vývoj software
Systémové programování
Databáze a web
Umělá inteligence
Počítačová grafika, vidění a vývoj her

Specializaci si studenti vybírají v souladu se studijními předpisy v průběhu druhého ročníku studia.

Studijní plány

Studium v jednotlivých specializacích je určeno studijními plány. Studijní plány určují skladbu povinných a povinně volitelných předmětů a dále požadavky ke státní zkoušce. Povinně volitelné předměty jsou pro každou specializaci rozděleny do několika skupin. Kromě celkového minimálního počtu kreditů za všechny povinně volitelné předměty může být také pro některé skupiny těchto předmětů určen minimální počet kreditů, který je z dané skupiny třeba získat před přihlášením se ke státní zkoušce. Vedle povinných předmětů a předepsaného množství povinně volitelných předmětů si může každý student podle vlastního výběru zapisovat další předměty vyučované na naší fakultě, v případě zájmu i na jiných fakultách naší univerzity (tzv. volitelné předměty). V souladu s platnou akreditací jsou některé povinně volitelné předměty vyučovány v některých akademických rocích pouze v angličtině.

Všech šest specializací má rozsáhlou společnou část tvořenou povinnými předměty pokrývajícími základy matematiky, teoretické informatiky, programování a softwarových systémů. Většina těchto povinných předmětů spadá do prvního ročníku studia, který je pro celý studijní program Informatika společný. Níže uvedený doporučený průběh studia v 1. ročníku zahrnuje všechny povinné předměty pro 1. ročník vyznačené tučně a několik volitelných předmětů vyznačených kurzívou.

1. rok studia

kódPředmětKredityZSLS
NPRG062Algoritmizace 42/1 Z+Zk
NPRG030Programování 1 52/2 Z
NSWI120Principy počítačů 32/0 Zk
NSWI141Úvod do počítačových sítí 32/0 KZ
NDMI002Diskrétní matematika 52/2 Z+Zk
NMAI057Lineární algebra 1 52/2 Z+Zk
NTVY014Tělesná výchova I110/2 Z
NMAI069Matematické dovednosti220/2 Z
NJAZ070Anglický jazyk pro středně pokročilé I310/2 Z
NTIN060Algoritmy a datové struktury 1 52/2 Z+Zk
NPRG031Programování 2 52/2 Z+Zk
NSWI170Počítačové systémy 52/2 Z+Zk
NSWI177Úvod do Linuxu 41/2 KZ
NMAI054Matematická analýza 1 52/2 Z+Zk
NMAI058Lineární algebra 2 52/2 Z+Zk
NTVY015Tělesná výchova II110/2 Z
NJAZ072Anglický jazyk pro středně pokročilé II310/2 Z

1 Místo jednoho z předmětů NTVY014 a NTVY015 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 studia.

2 Předmět NMAI069 Matematické dovednosti je určen a vřele doporučen studentům, kteří si chtějí osvojit a procvičit základní matematické dovednosti používané v matematických předmětech na MFF. Důraz je kladen na korektní matematické vyjadřování a základní důkazové techniky.

3 Výuka anglického jazyka NJAZ070, NJAZ072 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 s rozsahem výuky 0/4 v každém semestru.

Menší počet povinných předmětů společných pro všechny specializace pak spadá do 2. a 3. ročníku. Níže je jejich seznam doplněný o volitelné předměty výuky anglického jazyka.

Společné povinné předměty v 2. a 3. roku studia a výuka angličtiny

kódPředmětKredityZSLS
NTIN061Algoritmy a datové struktury 2 52/2 Z+Zk
NDBI025Databázové systémy 52/2 Z+Zk
NDMI011Kombinatorika a grafy 1 52/2 Z+Zk
NAIL062Výroková a predikátová logika 52/2 Z+Zk
NTVY016Tělesná výchova III410/2 Z
NJAZ074Anglický jazyk pro středně pokročilé III510/2 Z
NTIN071Automaty a gramatiky 52/2 Z+Zk
NMAI059Pravděpodobnost a statistika 1 52/2 Z+Zk
NPRG045Ročníkový projekt640/1 Z
NSZZ031Vypracování a konzultace bakalářské práce 60/4 Z
NTVY017Tělesná výchova IV410/2 Z
NJAZ090Anglický jazyk pro středně pokročilé IV510/2 Z
NJAZ091Anglický jazyk — zkouška pro bakaláře710/0 Zk

4 Pokud student splnil předměty NTVY014 a NTVY015, tak je možné si místo jednoho z předmětů NTVY016 a NTVY017 zapsat letní výcvikový kurz NTVY018 nebo zimní výcvikový kurz NTVY019. Výcvikové kurzy může student absolvovat kdykoli v průběhu studia.

5 Výuka anglického jazyka 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 NJAZ075, NJAZ089 s rozsahem výuky 0/4 v každém semestru.

6 Předmět NPRG045 lze zapsat v ZS i v LS, standardně je zapisován v LS.

7 Povinnou zkoušku z anglického jazyka NJAZ091 je možné absolvovat jak v ZS tak v LS.

Pro jednotlivé specializace jsou předepsány další povinné předměty a skupiny povinně volitelných předmětů. Detailní studijní plány pro jednotlivé specializace jsou uvedeny v dalším textu.

Doporučený průběh studia v 2. a 3. roku studia

Doporučený průběh studia je pro každou specializaci vypracován tak, aby na sebe povinné předměty navazovaly, aby student získal včas kredity potřebné pro zápis do dalšího úseku studia a aby včas splnil podmínky pro přihlášení se ke státní zkoušce. Většina povinných předmětů je v doporučeném průběhu studia zařazena do 1. a 2. ročníku studia a jenom minimum z nich je ponecháno do 3. ročníku, ve kterém je větší prostor ponechán na předměty povinně volitelné a volitelné. Doporučený průběh studia je podporován také při tvorbě celofakultního rozvrhu. Doporučené průběhy studia pro jednotlivé specializace jsou uvedeny v další části textu u popisu specializací.

Zaměření

Některé specializace se dále člení na zaměření. Jednotlivá zaměření téže specializace se od sebe liší požadavky posledního okruhu bakalářské státní zkoušky z informatiky. Posluchač má sám možnost přizpůsobit výběr svých povinně volitelných a volitelných předmětů tomu, v jakém zaměření bude studium končit a jaké odborné znalosti k tomu bude potřebovat. Volbu svého zaměření oznámí s přihláškou k bakalářské státní závěrečné zkoušce.

Státní závěrečná zkouška a ukončení studia

Státní závěrečná zkouška se skládá ze dvou částí:

obhajoba bakalářské práce
zkouška z matematiky a informatiky

Každá část státní závěrečné zkoušky je hodnocena známkou. Na základě obou známek je pak určena celková známka státní závěrečné zkoušky. Ke každé části státní závěrečné zkoušky se posluchač může přihlásit samostatně. Studium je úspěšně zakončeno úspěšným absolvováním obou částí. Při neúspěchu opakuje student ty části státní závěrečné zkoušky, ve kterých neuspěl. Opakovat část státní závěrečné zkoušky lze nejvýše dvakrát.

Podmínky pro přihlášení ke státní závěrečné zkoušce nebo její části jsou následující:
získání alespoň 180 kreditů
splnění všech povinných předmětů zvolené specializace
splnění povinně volitelných předmětů zvolené specializace ve stanoveném rozsahu
odevzdání vypracované bakalářské práce ve stanoveném termínu (pro přihlášení k obhajobě bakalářské práce).

Bakalářská práce je zadávána zpravidla na počátku 3. ročníku. Typicky má charakter softwarového díla, které může navazovat na ročníkový projekt (viz studijní plány), nebo odborné teoretické práce. Doporučujeme vybírat si téma především z nabídky pracoviště garantujícího zvolenou specializaci; v případě zájmu o téma z nabídky jiného pracoviště nebo o téma vlastní důrazně doporučujeme konzultovat vhodnost tématu s garantem specializace.

Seznam požadavků ke zkouškám z matematiky a informatiky je rozdělen na část společnou pro všechny specializace a na část specializační. Seznam společných požadavků je uveden níže pod tímto odstavcem, specializační seznamy požadavků jsou specifikovány v textech věnovaných studijním plánům jednotlivých specializací.

Požadavky znalostí ke státní závěrečné zkoušce společné pro všechny specializace

Matematika

1. Základy diferenciálního a integrálního počtu
Posloupnosti reálných čísel a jejich vlastnosti. Reálné funkce jedné reálné proměnné. Spojitost, limita funkce v bodě. Derivace: definice a základní pravidla, průběhy funkcí, Taylorův polynom se zbytkem. Primitivní funkce: definice, jednoznačnost, existence, metody výpočtu.

Související předměty:

NMAI054 Matematická analýza 1

2. Algebra a lineární algebra
Grupy a podgrupy, tělesa. Vektorové prostory a podprostory. Skalární součin, norma. Kolmost, ortonormální báze. Soustavy lineárních rovnic, Gaussova a Gaussova-Jordanova eliminace. Matice a operace s maticemi, hodnost matice. Vlastní čísla a vlastní vektory matice. Charakteristický polynom, vztah vlastních čísel s kořeny polynomů.

Související předměty:

NMAI057 Lineární algebra 1
NMAI058 Lineární algebra 2

3. Diskrétní matematika
Relace, vlastnosti binárních relací. Ekvivalence a rozkladové třídy. Částečná uspořádání. Funkce, typy funkcí. Permutace a jejich základní vlastnosti. Kombinační čísla, binomická věta. Princip inkluze a exkluze. Hallova věta o systému různých reprezentantů, párování v bipartitním grafu.

Související předměty:

NDMI002 Diskrétní matematika
NDMI011 Kombinatorika a grafy 1

4. Teorie grafů
Základní pojmy, základní příklady grafů. Souvislost grafů, komponenty souvislosti. Stromy, jejich vlastnosti, ekvivalentní charakteristiky stromů. Rovinné grafy, Eulerova formule a maximální počet hran rovinného grafu. Barevnost grafů, klikovost grafů. Hranová a vrcholová souvislost grafů, Mengerova věta. Orientované grafy, silná a slabá souvislost. Toky v sítích.

Související předměty:

NDMI002 Diskrétní matematika
NDMI011 Kombinatorika a grafy 1

5. Pravděpodobnost a statistika
Náhodné jevy, podmíněná pravděpodobnost, nezávislost náhodných jevů, Bayesův vzorec, aplikace. Náhodné veličiny, střední hodnota, rozdělení náhodných veličin, geometrické, binomické a normální rozdělení. Lineární kombinace náhodných veličin, linearita střední hodnoty. Bodové odhady, intervaly spolehlivosti, testování hypotéz.

Související předměty:

NDMI002 Diskrétní matematika
NMAI059 Pravděpodobnost a statistika 1

6. Logika
Syntaxe - jazyk, otevřená a uzavřená formule. Normální tvary výrokových formulí, prenexní tvary formulí predikátové logiky, převody na normální tvary, použití pro algoritmy (SAT, rezoluce). Sémantika, pravdivost, lživost, nezávislost formule vzhledem k teorii, splnitelnost, tautologie, důsledek, pojem modelu teorie, extenze teorií.

Související předměty:

NAIL062 Výroková a predikátová logika

Informatika

1. Automaty a jazyky
Regulární jazyky, konečné automaty (deterministické, nedeterministické), regulární gramatiky. Bezkontextové jazyky, zásobníkové automaty, bezkontextové gramatiky. Rekurzivně spočetné jazyky, Turingův stroj, gramatika typu 0. Algoritmicky nerozhodnutelné problémy. Chomského hierarchie.

Související předměty:

NTIN071 Automaty a gramatiky

2. Algoritmy a datové stuktury
Časová a prostorová složitost algoritmů, asymptotická notace. Třídy složitosti P a NP, NP-těžkost a NP-úplnost. Algoritmy "rozděl a panuj", výpočet časové složitosti těchto algoritmů, příklady. Binarní vyhledávací stromy, AVL stromy. Třídící algoritmy. DFS, BFS a jejich aplikace. Nejkratší cesty. Minimální kostry. Toky v sítích.

Související předměty:

NTIN060 Algoritmy a datové struktury 1
NTIN061 Algoritmy a datové struktury 2

3. Programovací jazyky
Principy abstrakce, zapouzdření a polymorfismu a s nimi související konstrukce jazyka C++, C# nebo Java. Primitivní a objektové typy a jejich reprezentace. Generické typy a další generické konstrukce v jazycích C++, C# nebo Java. Funkcionální prvky procedurálních programovacích jazyků. Životní cyklus objektů a správa paměti. Mechanismy pro ošetření chyb, zajištění korektní manipulace se zdroji v případě výskytu chyb. Implementace základních prvků objektových jazyků. Nativní a interpretovaný běh, AOT a JIT kompilace, řízení překladu a sestavení programu, vazba na operační systém.

Související předměty:

NPRG030 Programování 1
NPRG031 Programování 2
NSWI120 Principy počítačů
Podle volby programovacího jazyka: NPRG035 Programování v jazyce C# nebo NPRG041 Programování v C++ nebo NPRG013 Programování v jazyce Java

4. Architektura počítačů a operačních systémů
Základní architektura počítače, reprezentace dat a programů. Instrukční sada, vazba na prvky vyšších programovacích jazyků. Operační systémy, plánování, virutální paměť. Paralelismus, synchronizace.

Související předměty:

NSWI120 Principy počítačů
NSWI170 Počítačové systémy
NSWI141 Úvod do počítačových sítí
NSWI177 Úvod do Linuxu
Podle volby programovacího jazyka: NPRG035 Programování v jazyce C# nebo NPRG041 Programování v C++ nebo NPRG013 Programování v jazyce Java