generated by TTT-TomasTeachingTools on 2023-07-25, 15:39:24
1. Dělitelnost, Eukleidův algoritmus. 2. Počítání modulo, prostory Zn zbytkových tříd. 3. Diofantické rovnice, kongruenční rovnice a soustavy. 4. Binární relace a jejich základní vlastnosti. 5. Speciální relace: částečné uspořádání a ekvivalence. 6. Zobrazení. Mohutnost množin, spočetné a nespočetné množiny. 7. Matematická indukce a její využití. 8. Posloupnosti a součty, asymptotický růst. 9. Lineární rekurentní (rekursivní) rovnice. 10. Výpočet časové náročnosti rekursivních algoritmů, Master theorem. 11. Princip inkluze a exkluze.labs/seminars:
1. Dělitelnost, Eukleidův algoritmus. 2. Počítání modulo, prostory Zn zbytkových tříd. 3. Diofantické rovnice, kongruenční rovnice a soustavy. 4. Binární relace a jejich základní vlastnosti. 5. Speciální relace: částečné uspořádání a ekvivalence. 6. Zobrazení. Mohutnost množin, spočetné a nespočetné množiny. 7. Matematická indukce a její využití. 8. Posloupnosti a součty, asymptotický růst. 9. Lineární rekurentní (rekursivní) rovnice. 11. Výpočet časové náročnosti rekursivních algoritmů, Master theorem. 12. Princip inkluze a exkluze.literature:
[1] P. Habala: Diskétní matematika, on-line.
1. Úvod, polynomy. 2. Lineární prostory, lineární závislost a nezávislost. 3. Báze, dimenze, souřadnice vektoru v bázi. 4. Matice, operace s maticemi, determinanty. Inverzní matice. 5. Soustavy lineárních rovnic, Frobeniova věta. 6. Popis všech řešení homogenní i nehomogenní soustavy lineárních rovnic. 7. Lineární zobrazení. Matice lineárního zobrazení. 8. Volné vektory. Skalární a vektorový součin ve 3D. 9. Aplikace skalárního a vektorového součinu v bodovém prostoru dimenze 3. 10. Lineární prostor se skalárním součinem, Gramův-Schmidtův ortogonalizační proces, věta o projekci. 11. Vlastní čísla a vlastní vektory matice a lineárního zobrazení. 12. Podobnost matic, matice podobná diagonální matici, zobecněné vlastní vektory. 13. SVD rozklad matice, pseudoinverze. 14. Rezerva.labs/seminars:
NAliterature:
Velebil, J.: Abstraktní a konkrétní lineární algebra, http://math.feld.cvut.cz/velebil/akla.html Další možné materiály (pozor: značení je většinou jiné než na přednášce) [1] Pták, P.: Introduction to Linear Algebra. ČVUT, Praha, 2005. [2] Krajník, E.: Základy maticového počtu. ČVUT Praha, 2006. [3] Olšák, P.: Úvod do algebry, zejména lineární, skriptum FEL ČVUT, Praha 2007. stránky předmětu: http://math.feld.cvut.cz/velebil/teaching/b0b01lag.html
1. Úvod. Představení první úlohy. 2. Jak se tvoří program, vybrané kapitoly pro první úlohu. 3. Objekt jako základní stavební prvek programu. 4. Podmínky a funkce. 5. Představení druhé úlohy. 6. Složené datové typy, iterátory 7. Elegantní ukončení programu, ošetření vyjímek. 8. Testování programu, unittesty. 9. Představení třetí úlohy. 10. Jak psát čistý kód. 11. Motivační přednáška I 12. Motivační přednáška II 13. Motivační přednáška III 14. Závěr.labs/seminars:
Studenti budou pracovat na několika programovacích úlohách, samostatně i v týmech. Jednotlivé části kódu budou průběžně odevzdávány a diskutovány s učiteli. Množina úloh se bude průběžně doplňovat a obměňovat. Příklady úloh: Spam filtr. Jednoduchá detekce zpráv na základě výskytu podezřelých slov. K dispozici trénovací i testovací množina. Reversi, dvouhráčové hry. Hledání cesty pro mobilního robota. Jednoduché bludiště, scéna obsahující jednoduché geometrické objekty. úkolem je nalézt cestu pro robota z bodů A do bodů B. Kritérium optimality může být různé. Vězňovo dilema, klasický problém z teorie her se širokou aplikovalností.literature:
1. Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers. How to Think Like a Computer Scientist. 3rd edition, 2012, http://openbookproject.net/thinkcs/python/english3e/ český překlad Jaroslav Kubias, http://howto.py.cz 2. Mark Pilgrim. Dive intoPython 3. Český překlad Petr Přikryl, http://diveintopython3.py.cz 3. Doporučená tématická četba k jednotlivým úlohám.
1.1. Základy programovaní v C, charakteristika jazyka, model kompilace, syntax jazyka, struktura programu a struktura funkce 2. Datové typy - reprezentace v paměti, deklarace, operátory, výrazy a řídicí struktury 3. Příkazy, standardní vstup a výstup. 4. Ukazatele, dynamická alokace paměti 5. Pole a řetězce, vícerozměrná pole; 6. Funkce, volání hodnotou a odkazem - zásobník 7. Struktury a uniony, výčtové typy a jejich vnitřní reprezentace 8. Práce se soubory - binární a textové soubory, sekvenční a přímý přístup do souboru 9. Preprocesor, projekt, knihovny, makra a preprocesor a standardní knihovny, moduly, projekty (makefile, podmíněný překlad) 10. Spojové struktury 11. Abstraktní datový typ - fronta, zásobník 12. Stromové struktury - binární strom 13. Základní rozdíly C a C++ 14. Rezervalabs/seminars:
Praktická cvičení jsou zaměřena na získání a procvičování programovacích návyků tak, aby studenti byli schopni samostatně vytvářet čitelné kód. Odevzdávané úlohy budou automaticky ověřovány a bude testována robustnost ošetření vstupních hodnot. V průběhu semestru studenti získávají body za odevzdané úlohy a programovací písemky. Bodové hodnocení úlohy se skládá z bodů za správnost a efektivitu kódu, dále pak z bodů zohledňující kvalitu zdrojových kódů, jejich čitelnost a znovu použitelnost.literature:
Herout, P.: Učebnice jazyka C. III. vyd. Kopp, Č.Budějovice, 2016. ISBN: 80-85824-21-9 Herout, P.: Učebnice jazyka C - 2 díl, Kopp, Č.Budějovice, 978-80-7232-367-8, 2002. Kochan: Programming in C (4th Edition), 2014 ISBN 978-0321776419 Cormen, Leiserson, Rivest, and Stein: Introduction to Algorithms (3rd Edition), 2009, ISBN 978-0262033848 King: C Programming: A Modern Approach (2nd Edition), 2008, ISBN 860-1406428577
NAlabs/seminars:
NAliterature:
NA
Výroková logika (cca 4 týdny): 1. Formální jazyk. Jazyk výrokové logiky. 2. Odvozování důsledků (dedukce). 3. Význam a sémantický důsledek. 4. Reserva: pokročilá témata. Predikátová logika (cca 4 týdny): 1. Jazyk predikátové logiky. 2. Význam a sémantický důsledek v predikátové logice. 3. Dedukce v predikátové logice. 4. Reserva: pokročilá témata. Teorie grafů: (cca 5 týdnů): 1. Základní pojmy teorie grafů. 2. Kostry. 3. Silná souvislost. 4. Kreslení jedním tahem. 5. Barvení.labs/seminars:
Řešení teoretických i algoritmických úloh z logiky a teorie grafů. Upevňování a rozšiřování znalostí a dovedností z přednášek.literature:
[1] M. Huth, M. Ryan: Logic in Computer Science: Modelling and Reasoning about Systems, Cambridge University Press, 2004. [2] J. A. Bondy, U. S. R. Murty: Graph theory with applications. Elsevier Science Ltd/North-Holland, 1976. V češtině: [3] M. Demlová, B. Pondělíček: Matematická logika. ČVUT Praha, 1997. [4] J. Demel: Grafy a jejich aplikace, Academia 2002, druhé vydání 2015. [5] P. Kovář: Teorie grafů, online, 2019.
1. Reálná čísla. Elementární funkce. 2. Limita a spojitost funkce. 3. Derivace funkce, její vlastnosti a aplikace. 4. Věty o střední hodnotě. L'Hospitalovo pravidlo, Taylorův polynom. 5. Extrémy a průběh funkcí. 6. Primitivní funkce, základní metody výpočtu. 7. Integrace racionálních a dalších typů funkcí. 8. Riemannův integrál. Newtonova-Leibnizova formule. 9. Nevlastní integrál. Aplikace integrálu. 10. Posloupnost a její limita. 11. Číselné řady a kritéria jejich konvergence. 12. Úvod do diferenciálních rovnic. 13. Další témata z matematické analýzy.labs/seminars:
1. Reálná čísla. Elementární funkce. 2. Limita a spojitost funkce. 3. Derivace funkce, její vlastnosti a aplikace. 4. Věty o střední hodnotě. L'Hospitalovo pravidlo, Taylorův polynom. 5. Extrémy a průběh funkcí. 6. Primitivní funkce, základní metody výpočtu. 7. Integrace racionálních a dalších typů funkcí. 8. Riemannův integrál. Newtonova-Leibnizova formule. 9. Nevlastní integrál. Aplikace integrálu. 10. Posloupnost a její limita. 11. Číselné řady a kritéria jejich konvergence. 12. Úvod do diferenciálních rovnic. 13. Další témata z matematické analýzy.literature:
[1] J. Tkadlec: Diferenciální a integrální počet funkcí jedné proměnné. ČVUT Praha, 2004, 2011. [2] L. Průcha: Řady, ČVUT Praha, 2005. [3] J. Tkadlec: Diferenciální rovnice. Laplaceova transformace. ČVUT Praha, 2005.
1. Architektura počítače, struktura, organizace a podsystémy. Reprezentace, zobrazení a přenos informace (především čísel, IEEE-754) v počítači. 2. Procesor - ALU, von Neumannova architektura, formát instrukcí, jednocyklový procesor, řadič a řízení 3. Paměť - hierarchický koncept, technologie pamětí, vyrovnávací paměti - cache, konzistence dat, disková úložiště, zabezpečení dat a RAID 4. Paměť - virtuální paměť, správa paměti, MMU 5. Zřetězené vykonávaní instrukcí, hazardy, vyvažování stupňů zřetězení a časování; Superzřetězení 6. Vstupní a výstupní podsystém počítače, sběrnice, dvoubodové spoje, sítě, PCI a PCI express sběrnice, souvislý režim, HyperTransport, Quickpath Interconnect 7. Vstupní a výstupní podsystém počítače z pohledu software 8. Technické a organizační prostředky - vnější události, výjimky, reálný čas, přímý přístup do paměti, autonomní kanál 9. Sítě procesorů a počítačů, topologie sítí, komunikace - sítě typu LAN, MAN, WAN, sítě řídicích počítačů 10. Předávání parametrů funkcím a virtuálním instrukcím operačního systému. Zásobníkové rámce, registrová okna, přepínání režimů a realizace systémových volání. 11. Klasické registrově orientované architektury s komplexní instrukční sadou. Ukázka realizace MMU, cache, sběrnice. 12. Procesorová rodina INTEL x86, Od 8086 k EMT64. Hlavní zaměření na 32-bit a 64-bit režimy s krátkým vysvětlením komplikací způsobených nutností zachování kompatability s 16-bit 8086 a 80286 segmentového přístupu a proč ho současné OS používají v co nejvíce minimalizované formě. Příklad SIMD instrukcí (MMX, SSE). 13. Přehled vývoje architektury a koncepcí CPU (RISC/CISC) - procesory ARM, ColdFire, SPARC a PowerPC a procesory pro vestavné aplikace 14. Mnohaúrovňová organizace počítače, virtuální stroje. Konvenční architektura a implementačně závislá mikroarchitektura. Přenositelný bytecode a virtuální programovací prostředí (Java, C#/.Net). Virtualizační techniky (např XEN, VMWARE) a paravirtualizace.labs/seminars:
NAliterature:
[1] Hennessy, J. L., and D. A. Patterson. Computer Architecture: A Quantitative Approach, 4rd ed. Morgan Kaufman, 2006. ISBN: 0123704901. [2] Patterson, D. A., and J. L. Hennessy. Computer Organization and Design: The Hardware/Software Interface, 4rd ed. Morgan Kaufman, 2011. ISBN: 0123747503.
1. Koncepce, historie jazyka a jeho vývoj - Java Virtual Machine, instalace vývojového prostředí, překlad a interpretace, syntaxe, primitiva a základní konstrukty. 2. Objektově orientované programování v programovacím jazyku Java, třídy, rozhraní a objekty; struktura programu, kompilace a spuštění, předávání parametrů, aplikace a aplety. 3. Řízení běhu programu, základní datové typy, proměnné, operátory, výjimky. 4. Pole, řetězce, základní datové kolekce a iterátory. 5. Principy objektového přístupu, třídy a dědičnost, řízení přístupu, hierarchie tříd, dědění, kompozice, abstraktní třídy, polymorfismus. 6. Datové kolekce a generické datové typy. 7. Práce se soubory, datové proudy, modely I/O operací. 8. Síťování - způsoby a modely komunikace, síťová API v programovacím jazyku Java, protokoly UDP, TCP a HTTP. Aplikace klient / server. 9. Paralelní programování - vlákna a modely vícevláknových aplikací, synchronizační primitiva. 10. Příklad vícevláknové aplikace a komunikace mezi vlákny; rozhraní JNI. 11. Grafické uživatelské rozhraní, události a listenery, Java 2D/3D, knihovny AWT a Swing. 12. Ovládání uživatelských rozhraní, multimediální rozhraní. 13. Distribuované programování - serializace, propojování modulů (middleware) a vzdálené volání funkcí, rozhraní Java RMI a další, např. ICE. 14. Kódovací konvence a styly, nástroje pro řízení překladu, logování; rezerva.labs/seminars:
1. Vývojové prostředí a odevzdávání úloh. 2. Překlad a spuštění programu, dokumentace (javadoc), základy Java kódovací konvence a stylu. 3. Nástroje pro sestavení programu (ant, maven), základní dostupné třídy v Java Class Library. 4. Proměnné, výrazy, předávání parametrů programu a spuštění programu. 5. Řízení běhu programu, řetězce, cykly, prioritní fronta 6. Zadání semestrální práce 7. Třídy, objekty a dědičnost; struktura programu, incializace objektů a správa paměti 8. Polymorphismus 9. Generické datové typy 10. Načítání a ukládání souborů 11. Síťování 12. Vícevláknové aplikace 13. Grafické uživatelské rozhraní 14. Serializace a distribuované programováníliterature:
Doporučená literatura: 1. Herout, P.: Učebnice jazyka Java, Kopp, Č. Budějovice, 2000, s. 350. 2. Herout, P.: Učebnice jazyka Java II, Kopp, Č. Budějovice, 2001, s. 350. 3. Eckel, B.: Thinking in Java, Prentice Hall, 2006, s. 1150.
1. Úvod, definice základních pojmů, model ISO/OSI, funkce vrstev 2. Metalické, optické a bezdrátové fyzické médium, vlastnosti, parametry 3. Entropie informačního zdroje, zdrojové kódování, kapacita komunikačního kanálu 4. Modely komunikačních kanálů (AWGN, BSC, ...), modulace, komunikace v rozprostřeném spektru 5. Typy datových přenosů, metody sdílení kapacity kanálu, fyzické a logické topologie 6. Metody řízení přístupu ke sdílenému médiu a jejich vlastnosti, adresace 7. ARQ metody, kódy pro detekci a opravy chyb 8. Utajování informace, symetrické a asymetrické šifry, distribuce klíčů, certifikáty, digitální podpis 9. Propojování distribuovaných systémů, směrování, metody řízení datového toku, QoS 10. Technologie LAN (IEEE802.3), spanning tree, VLAN, PoE 11. Technologie WLAN (IEEE802.11), DCF, PCF, virtuální odposlech 12. Protokolový zásobník TCP/IP, IP protokol, ARP, DHCP, ICMP, NAT, DNS 13. Transportní protokoly UDP, TCP, RTP, řízení datového toku, congestion control 14. Správa počítačových sítí, SNMP, RMONlabs/seminars:
1. Měření s číslicovým osciloskopem 2. Zabezpečení datových přenosů pomocí CRC 3. Metalické vedení 4. Optická vlákna 5. Bezdrátové sítě Semestrální projekt zaměřený na praktickou implementaci síťových aplikací.literature:
Tanenbaum, A. S., Wethetral, D.J.: Computer Networks, Prentice Hall 2010, ISBN-13: 978-0132126953
NAlabs/seminars:
NAliterature:
NA
1. Základní kritéria konvergence řad. 2. Funkční řady, Weierstrasseovo kritérium. Mocninné řady. 3. Taylorovy rozvoje a Fourierovy řady. 4. Funkce více proměnných, limita, spojitost. 5. Směrové a parciální derivace, diferenciál a gradient. 6. Derivace složené funkce, derivace vyšších řádů. 7. Jakobiho matice. Lokální extrémy. 8. Vázané extrémy, Lagrangeova metoda. 9. Dvojný a trojný integrál, Fubiniho věta a věta o substituci. 10. Křivkový integrál funkce, křivkový integrál pole, aplikace. 11. Plošný integrál funkce a pole a jeho aplikace. 12. Gaussova, Greenova, Stokesova věta. 13. Potenciál vektorového pole.labs/seminars:
1. Základní kritéria konvergence řad. 2. Funkční řady, Weierstrasseovo kritérium. Mocninné řady. 3. Taylorovy rozvoje a Fourierovy řady. 4. Funkce více proměnných, limita, spojitost. 5. Směrové a parciální derivace, diferenciál a gradient. 6. Derivace složené funkce, derivace vyšších řádů. 7. Jakobiho matice. Lokální extrémy. 8. Vázané extrémy, Lagrangeova metoda. 9. Dvojný a trojný integrál, Fubiniho věta a věta o substituci. 10. Křivkový integrál funkce, křivkový integrál pole, aplikace. 11. Plošný integrál funkce a pole a jeho aplikace. 12. Gaussova, Greenova, Stokesova věta. 13. Potenciál vektorového pole.literature:
[1] Hamhalter J. Tišer J.: Diferenciální počet funkcí více proměnných, ČVUT 2005. [2] Hamhalter J., Tišer J.: Integrální počet funkcí více proměnných, ČVUT 2005.
1. Základní pojmy teorie pravděpodobnosti. Kolmogorovův model pravděpodobnosti. Nezávislost, podmíněná pravděpodobnost, Bayesův vzorec. 2. Náhodné veličiny a způsoby jejich popisu. Náhodný vektor. Distribuční funkce. 3. Kvantilová funkce. Směs náhodných veličin. 4. Charakteristiky náhodných veličin a jejich vlastnosti. Operace s náhodnými veličinami. Základní typy rozdělení. 5. Charakteristiky náhodných vektorů. Kovariance, korelace. Čebyševova nerovnost. Zákon velkých čísel. Centrální limitní věta. 6. Základní pojmy statistiky. Výběrový průměr, výběrový rozptyl. Intervalové odhady střední hodnoty a rozptylu. 7. Metoda momentů, metoda maximální věrohodnosti. EM algoritmus. 8. Testování hypotéz o střední hodnotě a rozptylu. 9. Testy dobré shody. 10. Testy korelace, neparametrické testy. 11. Diskrétní náhodné procesy. Stacionární procesy. Markovovy řetězce. 12. Klasifikace stavů Markovových řetězců. 13. Asymptotické vlastnosti Markovových řetězců. Přehled a ukázky aplikací.labs/seminars:
1. Příklady na elementární pravděpodobnost. 2. Kolmogorovův model pravděpodobnosti. Nezávislost, podmíněná pravděpodobnost, Bayesův vzorec. 3. Směs náhodných veličin. 4. Střední hodnota. Operace s náhodnými veličinami. 5. Rozptyl. Náhodný vektor, sdružené rozdělení. 6. Výběrový průměr, výběrový rozptyl. Čebyševova nerovnost. Centrální limitní věta. 7. Intervalové odhady střední hodnoty a rozptylu. 8. Metoda momentů, metoda maximální věrohodnosti. 9. Testování hypotéz o střední hodnotě a rozptylu. 10. Testy dobré shody. Testy korelace. Neparametrické testy. 11. Diskrétní náhodné procesy. Stacionární procesy. Markovovy řetězce. 12. Klasifikace stavů Markovových řetězců. 13. Asymptotické vlastnosti Markovových řetězců.literature:
[1] Navara, M.: Pravděpodobnost a matematická statistika. Skriptum FEL ČVUT, 1. vydání, Praha, 2007. [2] Rogalewicz, V.: Pravděpodobnost a statistika pro inženýry. Skriptum FBMI ČVUT, 2. vydání, Praha, 2007. [3] Zvára, K., Štěpán, J.: Pravděpodobnost a matematická statistika, 2. vydání, Matfyzpress, MFF UK, Praha, 2002. [4] Nagy, I.: Pravděpodobnost a matematická statistika. Cvičení. Skriptum FD CVUT, Praha, 2002.
1. Řád růstu funkcí, asymptotická složitost algoritmu 2. Rekurze, složitost rekurentních algoritmů, mistrovská věta 3. Stromy, binární stromy, prohledávání s návratem 4. Fronta, graf, průchod stromem/grafem do šířky/hloubky 5. Vyhledávani v poli, binární vyhledávací stromy 6. AVL a B- stromy 7. Řazení, Insert Sort, SelectionSort, Bubble Sort, QuickSort 8. Řazení, Merge Sort, Halda, Heap Sort 9. Řazení, Radix sort, Counting Sort, Bucket Sort 10. Dynamické programování, struktura optimálního řešení, odstranění rekurze, optimální BVS 11. Dynamické programování, nejdelší společná podposloupnost, optimální násobení matic, problém batohu 12. Hashing, otevřené a zřetězené tabulky, double hashing 13. Hashing, srůstající tabulky, univerzální hashování, 14. Řazení vícedimenzionálních dat, porovnání řadících algoritmůlabs/seminars:
1. Řád růstu funkcí, asymptotická složitost algoritmu 2. Rekurze, složitost rekurentních algoritmů, mistrovská věta 3. Stromy, binární stromy, prohledávání s návratem 4. Fronta, graf, průchod stromem/grafem do šířky/hloubky 5. Vyhledávani v poli, binární vyhledávací stromy 6. AVL a B- stromy 7. Řazení, Insert Sort, SelectionSort, Bubble Sort, QuickSort 8. Řazení, Merge Sort, Halda, Heap Sort 9. Řazení, Radix sort, Counting Sort, Bucket Sort 10. Hashing, otevřené a zřetězené tabulky, double hashing 11. Hashing, srůstající tabulky, univerzální hashování, 12. Dynamické programování, struktura optimálního řešení, odstranění rekurze, optimální BVS 13. Dynamické programování, nejdelší společná podposloupnost, optimální násobení matic, problém batohu 14. Řazení vícedimenzionálních dat, porovnání řadících algoritmůliterature:
[1] T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein: Introduction to Algorithms, 3rd ed., MIT Press, 2009, [2] S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani: Algorithms, Mcgraw-Hill Higher Education, 2006, [3] Pavel Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995, 2. vydání 2007 [4] Robert Sedgewick: Algoritmy v C, části 1-4, SoftPress, Praha, 2003
1. Architektura počítače, historie a typy OS, komponenty OS. 2. Obsluha přerušení a vyjímek. Systémová volání. 3. Procesy, vlákna, přepínání kontextu, rozvrhování (plánování), lokální vs. globalní plánování, migrace vláken. 4. Synchronizace, časově závislé chyby, přístup ke sdíleným zdrojům (nepreemptivní sekce, semafory, mutexy, spinlocky, Java synchronize), uváznutí. 5. Meziprocesní komunikace (signály, roury, předávání zpráv) 6. Virtuální paměť, výpadky stránek, odkládání, copy-on-write, spouštění procesů, relokace, dynamické knihovny. 7. Správa paměti, paměťové alokátory (v jádře a uživatelském prostoru, halda). 8. Bezpečnost (security), trusted computing base, buffer overflow, ASLR, antiviry, šifrování. 9. Vstup/výstup, ukládání dat, síťová rozhraní, USB, HID, ovladače zařízení (Linux, Win). 10. Souborové systémy, žurnálování, integrita dat, disková vyrovnávací paměť. 11. Grafický subsystém, trame buffer, HW akcelerace, paralelní výpočty. 12.Virtualizace. 13. Mobilní OS, struktura OS Android a jeho aplikací, spolupráce s cloudovými službami 14. Duševní vlastnictví a jeho ochrana, open source softwarové licence, ekonomické aspekty využití open sourcelabs/seminars:
1. Úvod, shell, opakování programování v C, makefile praktický vstupní test 2. Základy používání shellu, skriptování. 3. Systémová volání - Linux (assembler, C) 4. Systémová volání - na mikrojádře NOVA 5. Synchronizace v C - úloha na vlákna a synchronizaci (Linux) 6. Úloha na IPC (roura mezi vlákny, obsluha signálů, Linux) 7. Zavedení ELF souboru do paměti a spuštění (NOVA) 8. Přepínání vláken (NOVA) 9. Semafor, preemptivní multitasking (NOVA) 10. Bezpečnost, buffer overflow exploit (Linux) 11. Alokace paměti (halda, Linux) 12. Implementace souborového systému (NOVA) 13. Odevzdání souborového systému, zápočet.literature:
1. TANENBAUM, Andrew S a Albert S WOODHULL. Operating systems design and implementation. 3rd ed. Upper Saddle River: Prentice-Hall, c2006, xvii, 1054 s. ISBN 0131429388. 2. http://wiki.osdev.org/ 3. http://hypervisor.org/
1. Přehled problémů, kterými se zabývá numerická matematika. 2. Vznik a šíření chyb v numerických výpočtech 3. Aproximace funkcí, interpolace polynomy. 4. Chyby při interpolaci polynomy. Odhad chyby 5. Hermitův interpolační polynom. Spliny. 6. Aproximace funkcí metodou nejmenších čtverců. 7. Základní metody výpočtu kořenů funkcí. 8. Metoda prosté iterace, věta o pevném bodě. 9. Základní věta algebry, metody separace a výpočtu kořenů polynomů. 10. Řešení soustav lineárních rovnic. 11. Numerická derivace. Richardsonova extrapolace. 12. Numerická integrace. Odhad chyb a volba kroku. 13. Gaussova metoda, Rombergova metoda. 14. Rezerva.labs/seminars:
1. Instruktáž o práci v laboratoři a o systému Maple. 2. Samostatná práce - seznámení se systémem Maple. 3. Interpolace polynomy, chyba interpolace a její odhad. 4. Samostatná práce na zápočtových úlohách. 5. Samostatná práce na zápočtových úlohách. 6. Metoda nejmenších čtverců. 7. Samostatná práce na zápočtových úlohách. 8. Řešení nelineárních rovnic, separace kořenů. 9. Samostatná práce na zápočtových úlohách. 10. Řešení soustav lineárních rovnic. 11. Samostatná práce na zápočtových úlohách. 12. Numerická derivace. 13. Numerická integrace, úpravy zadání. 14. Samostatná práce a odevzdávání zápočtových úloh. Zápočet.literature:
[1] Navara, M., Němeček, A.: Numerické metody, skriptum FEL ČVUT, Praha, 2008, ISBN 80-01-02689-2. [2] Navara, M., Němeček, A.: Worksheety v Maple pro jednotlivá témata. On-line na stránkách předmětu. [3] Maple User Manuals and Programming Guides, Maplesoft, a division of Waterloo Maple Inc. (http://www.maplesoft.com/documentation_center/), pravěk až současnost, elektronické verze jsou také součástí helpu v instalaci programu.
1. Komplexní rovina. Funkce komplexní proměnné. Elementární funkce. 2. Cauchy-Riemannovy podmínky, holomorfnost. 3. Křivkový integrál, Cauchyova věta a Cauchyův integrální vzorec. 4. Rozvoj holomorfní funkce v mocninnou řadu. Laurentovy řady. 5. Rozvoj funkce v Laurentovu řadu. Singularity. 6. Reziduum. Reziduová věta a její aplikace. 7. Fourierova transformace. 8. Laplaceova transformace - výpočet inverze pomocí reziduí. 9. Transformace Z a její aplikace. 10. Spojité náhodné procesy a časové řady - autokovariance, typy stacionarit. 11. Základní příklady: Poissonův proces, gaussovské procesy, Wierův proces, bílý šum. 12. Spektrální hustota stacionárního procesu a její vyjádření pomocí Fourierovy transformace. Spektrální rozklad posloupnosti klouzavých součtů. 13. Markovské řetězce se spojitým časem a nekonečnou množinou stavů.labs/seminars:
1. Komplexní rovina. Funkce komplexní proměnné. Elementární funkce. 2. Cauchy-Riemannovy podmínky, holomorfnost. 3. Křivkový integrál, Cauchyova věta a Cauchyův integrální vzorec. 4. Rozvoj holomorfní funkce v mocninnou řadu. Laurentovy řady. 5. Rozvoj funkce v Laurentovu řadu. Singularity. 6. Reziduum. Reziduová věta a její aplikace. 7. Fourierova transformace. 8. Laplaceova transformace - výpočet inverze pomocí reziduí. 9. Transformace Z a její aplikace. 10. Spojité náhodné procesy a časové řady - autokovariance, typy stacionarit. 11. Základní příklady: Poissonův proces, gaussovské procesy, Wierův proces, bílý šum. 12. Spektrální hustota stacionárního procesu a její vyjádření pomocí Fourierovy transformace. Spektrální rozklad posloupnosti klouzavých součtů. 13. Markovské řetězce se spojitým časem a nekonečnou množinou stavů.literature:
1. J. Hamhalter, J.Tišer: Funkce komplexní proměnné, Skripta FEL ČVUT, 2017. 2. H. A. Priestly: Introduction to Complex Analysis, Oxford University Press, 2003. 3. A. D. Wunsch: Complex variables with Applications, Third Edition, Pearson 2005. 4. L. Debnath: Integral Transforms and their Applications, CRC Press, Inc., 1995 5. J. L. Schiff: The Laplace transform, Theory and Applications. Springer Verlag, 1996. 6. J. Veit: Integrální transformace, XIV, SNTL, Praha 1979. Elektronické materiály: 1. M. Bohata, J. Hamhalter: Integrální transformace: http://math.feld.cvut.cz/bohata/kan/transformace.pdf 2. M. Bohata, J. Hamhalter: Sbírka úloh z komplexní analýyzy a integrálních transformací: http://math.feld.cvut.cz/bohata/kan/sbirka.pdf
1. Základy modelování dat, E-R diagramy, relační model 2. Proces tvorby datového modelu 3. Dotazování v relačních databázích, základy jazyka SQL 4. Pokročilé dotazy, agregační funkce, vnořené dotazy ppt, pdf 5. Integritní omezení, referenční integrita, normální formy. 6. Transakce, jejich serializovatelnost, zamykání, stupně izolovanosti, uváznutí transkací 7. Indexy, efektivní implementace stromových struktur v databázích 8. Cursor, view, uložené procedury, triggery 9. Objektově-relační mapování, JPA 2.0 10. Pokročilé techniky JPA 2.0 11. GIS, prostorové indexační techniky 12. Datové sklady pdf 13. Zotavení z chyb, replikace dat, vysoká dostupnost, load balancing, 14. Moderní trendy databázových systémůlabs/seminars:
1. Motivace, seznámení s programovým vybavením, nabídka témat indiv. prací 2. Datové modelování, konceptuální a logický model 3. Návrh datového modelu, schválení tématu indiv. práce 4. SQL I. 5. SQL II. 6. SQL, CRUD, Kontrolní bod 1 (datový model) 7. Transakce, indexy 8. Pokročilé databázové techniky (pohledy, uložené procedury, triggery) 9. Přípojení k DB serveru: JDBC, JPA 2 - entity a manipulace s jimi, relace mezi entitami, JPQL 10.-11. Implementace semestrální práce 12. GIS ukázka, Datový sklad ukázka 13. Implementace semestrální práce 14. Odevzdání aplikace, zápočetliterature:
Pokorný J., Valenta M.: Databázové systémy, Nakladatelství ČVUT, Praha, 2013, ISBN 978-80-01-05212-9
1. Platformy a modely pro paralelní programování. 2. Masivně paralelní architektury (GPU, Xeon Phi, atd.) 3. Principy návrhu paralelních algoritmů. 4. Programování se sdíleným paměťovým prostorem. 5. Programování s MPI. 6. Základní paralelní řadící algoritmy. 7. Základní paralelní maticové algoritmy. 8. Modely a architektury distribuovaných výpočtů. 9. Čas v distribuovaných systémech: fyzické a logické hodiny, kauzalita. 10. Problém atomického commitu, distribuované zajištění výlučného přístupu. 11. Detekce chyb a prevence uváznutí výpočtu, distribuované ukončení výpočtu. 12. Problém konsensu, dosažení distribuované shody. 13. Map-reduce výpočetní model a jeho implementace. 14. Rezerva.labs/seminars:
NAliterature:
1. Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar: Introduction to Parallel Computing, Second Edition, Addison Wesley, 2003. 2. Distributed Systems: Principles and Paradigms (2nd Edition), Prentice Hall of India, 2007.
1. Úvod do deklarativních programovacích jazyků. Srovnání s klasickými imperativními jazyky. Hlavní principy a praktické aplikace funkcionálního programování. 2. LISP: základní jazykové idiomy, atomy, seznamy, rekurze 3. LISP: lambda abstrakce, vestavěné funkce, pokročilé datové struktury 4. LISP: vestavěné funkce vyšších řádů 5. LISP: nekonečné datové struktury, uzávěry (closures) 6. Úvod do Lambda kalkulu, vztah k funkcionálnímu programování 7. Ekvivalence funkcionálního programování s Turingovím strojem 8. Typy ve funkcionálních jazycích, jejich smysl a důsledky na vyjadřovací sílu jazyka, typovaný Lambda kalkulus 9. Haskell: typy, vzory, vestavěné funkce, lambda abstrakce 10. Haskell: líné vyhodnocování, částečná aplikace funkce 11. Haskell: monády 12. Automatické optimalizace ve funkcionálním programování, formální verifikace funkcionálních programů 13. Funkcionální programování a paralelní výpočty 14. Funkcionální rysy v populárních programovacích jazycích a nástrojíchlabs/seminars:
NAliterature:
Hudak, Paul, and Joseph H. Fasel. "A gentle introduction to Haskell." ACM Sigplan Notices 27.5 (1992): 1-52. Harvey, Brian, and Matthew Wright. Simply Scheme: introducing computer science. Mit Press, 1999.
1. Úvod do umělé inteligence, řešení problémů pomocí prohledávání stavového prostoru 2. Algoritmy neinformované prohledávání stavového prostoru 3. Informované algoritmy prohledávání stavového prostoru - algoritmus A*. 4. Pokročilé a netradiční metody prohledávání stavového prostoru. 5. Řešení problémů pomocí algoritmů založených na splňování omezujících podmínek (CSP) 6. Herní stromy a algoritmy pro řešení dvouhráčových her. 7. Reprezentace plánovacích problémů 8. Logika a reprezentace znalostí. 9. Reprezentace znalostí ve FOL, dokazovací nástroje. 10. Úvod do reprezentace nepřesné znalosti 11. Markovské modely nepřesného uvažování. 12. Markovské rozhodovací procesy. 13. Úvod do evolučních technik a genetických algoritmůlabs/seminars:
NAliterature:
Artificial Intelligence: A Modern Approach, Stuart Jonathan Russell, Peter Norvig, Prentice Hall, 2010
1) Entropie, informační divergence, vzájemná informace. Podmíněná entropie a podmíněná informace. 2) Rychlost entropie pro stacionární a ergodické zdroje informace. 3) Univerzální zdrojové kódování. Lempelovy-Zivovy kód. 4) Informační kanál, základní typy kanálů. 5) Kapacita kanálu. Blahutův-Arimotův algoritmus. 6) Shannonova věta o kapacitě kanálu. 7) Úvod do schémat pro sdílení tajemství. 8) Algebraické struktury používané při detekci a opravě chyb. Okruh Z_n, lineární prostory nad tělesem Z_p. 9) Lineární kódy - generující a kontrolní matice. Hammingovy kódy. 10) Polynomy nad Z_p a faktorové okruhy polynomů. 11) Cyklické kódy - generující a kontrolní polynom. 12) Galoisova tělesa, primitivní prvek, charakteristika tělesa. 13) Kořeny cyklických kódů, BCH kódy. 14) Rezerva.labs/seminars:
1) Entropie, informační divergence, vzájemná informace. Podmíněná entropie a podmíněná informace. 2) Rychlost entropie pro stacionární a ergodické zdroje informace. 3) Univerzální zdrojové kódování. Lempelovy-Zivovy kód. 4) Informační kanál, základní typy kanálů. 5) Kapacita kanálu. Blahutův-Arimotův algoritmus. 6) Shannonova věta o kapacitě kanálu. 7) Úvod do schémat pro sdílení tajemství. 8) Algebraické struktury používané při detekci a opravě chyb. Okruh Z_n, lineární prostory nad tělesem Z_p. 9) Lineární kódy - generující a kontrolní matice. Hammingovy kódy. 10) Polynomy nad Z_p a faktorové okruhy polynomů. 11) Cyklické kódy - generující a kontrolní polynom. 12) Galoisova tělesa, primitivní prvek, charakteristika tělesa. 13) Kořeny cyklických kódů, BCH kódy. 14) Rezerva.literature:
[1] Cover, T.M., Thomas, J.A.: Elements of Information Theory. Wiley, 2006. [2] Yeung, R.W.: Information Theory and Network Coding. Springer, 2008. [3] Adámek, J.: Kódování. SNTL, Praha, 1989. [4] Vajda, I.: Teorie informace. Vydavatelství ČVUT, 2004.
NAlabs/seminars:
NAliterature:
NA
1. Obecná formulace úloh spojité optimalizace. 2. Přeurčené lineární soustavy, metoda nejmenších čtverců. 3. Minimalizace kvadratických funkcí bez omezení. 4. Použití SVD v optimalizaci. 5. Algoritmy na volné lokální extrémy (gradientní, Newtonova, Newtonova-Gaussova, Levenbergova-Marquardtova metoda). 6. Lineární programování. 7. Simplexová metoda. 8. Konvexní množiny a mnohostěny. Konvexní funkce. 9. Úvod do konvexní optimalizace. 10. Lagrangeův formalismus, KKT podmínky. 11. Lagrangeova dualita. Dualita v LP. 12. Příklady nekonvexních úloh. 13. Úvod do vícekriteriální optimalizace.labs/seminars:
Ve cvičení se jednak procvičuje teorie na společně řešených příkladech, jednak studenti za domácí úkoly řeší optimalizační úlohy v jazyce Matlab.literature:
Základní: Elektronická skripta Tomáš Werner: Optimalizace (viz www stránka předmětu) Dále vybrané části z těchto knih: Lieven Vandenberghe, Stephen P. Boyd: Introduction to Applied Linear Algebra: Vectors, Matrices, and Least Squares, Cambridge University Press, 2018. Stephen Boyd and Lieven Vandenberghe: Convex Optimization, Cambridge University Press, 2004.
1. Abeceda, slova nad abecedou, zřetězení slov, jazyk. 2. Deterministický konečný automat a jeho stavový diagram. Jazyk přijímaný konečným automatem. Regulární jazyky. 3. Lemma o vkládání a Nerodova věta. Redukce konečného automatu. 4. Nedeterministické konečné automaty. Podmnožinová konstrukce. Uzavřenost třídy jazyků přijímaných konečným automatem na sjednocení, zřetězení a Kleeneho operaci. 5. Regulární výrazy. Vztah regulárních jazyků a regulárních výrazů ? Kleeneho věta. 6. Algoritmická složitost úloh souvisejících s regulárními jazyky. Pojem gramatiky. 7. Chomského hierarchie tříd jazyků generovaných gramatikou. Regulární gramatiky a regulární jazyky. Bezkontextové gramatiky a bezkontextové jazyky. 8. Lemma o vkládání. Redukce bezkontextové gramatiky. 9. Zásobníkové automaty a jazyky přijímané zásobníkovými automaty prázdným zásobníkem a koncovým stavem. 10. Vlastnosti třídy bezkontextových jazyků. 11. Deterministické zásobníkové automaty a jejich vlastnosti. Třída deterministických jazyků a třída bezprefixových jazyků. 12. Seznámení sTuringovými stroji. 13. Krátké seznámení s nerozhodnutelnými jazyky a algoritmicky neřešitelnými úlohami.labs/seminars:
1. Abeceda, slova nad abecedou, zřetězení slov, jazyk. 2. Deterministický konečný automat a jeho stavový diagram. Jazyk přijímaný konečným automatem. Regulární jazyky. 3. Lemma o vkládání a Nerodova věta. Redukce konečného automatu. 4. Nedeterministické konečné automaty. Podmnožinová konstrukce. Uzavřenost třídy jazyků přijímaných konečným automatem na sjednocení, zřetězení a Kleeneho operaci. 5. Regulární výrazy. Vztah regulárních jazyků a regulárních výrazů ? Kleeneho věta. 6. Algoritmická složitost úloh souvisejících s regulárními jazyky. Pojem gramatiky. 7. Chomského hierarchie tříd jazyků generovaných gramatikou. Regulární gramatiky a regulární jazyky. Bezkontextové gramatiky a bezkontextové jazyky. 8. Lemma o vkládání. Redukce bezkontextové gramatiky. 9. Zásobníkové automaty a jazyky přijímané zásobníkovými automaty prázdným zásobníkem a koncovým stavem. 10. Vlastnosti třídy bezkontextových jazyků. 11. Deterministické zásobníkové automaty a jejich vlastnosti. Třída deterministických jazyků a třída bezprefixových jazyků. 12. Seznámení sTuringovými stroji.literature:
1] J. E. Hopcroft, R. Motwani, J. D. Ullman: Introduction to Automata Theory, Languages, and Computation, 3rd Edition, Addison-Wesley, 2006.
1. Úvod. Formulace úloh řešených v rozpoznávání. Mapa předmětu. Pojmy. 2. Bayesovská úloha rozhodování. 3. Nebayesovské úlohy (Neyman-Pearson, Minimax, Wald, Linnik). 4. Odhady parametrů pravděpodobnostních modelů. Metoda maximální věrohodnosti. 5. Logistická regrese. 6. Učení klasifikátoru.Lineární klasifikátor. Perceptron. 7. Učení jako kvadratický optimalizační problém. Klasifikátor typu SVM. 8. Učení metodou Adaboost. 9. Neuronové sítě. Učení metodou backpropagation. 10. Metoda nejližších sousedů. Neparametricé odhady hustoty. 11. Shlukování metodou k-means 12. Rozhodovací stromy. 13. Princial compont analysi. Fisherův linární diskriminant. 14. Rezerva. Druhý průchod látkou.labs/seminars:
Studenti řeší několik rozpoznávacích úloh, např. rozpoznání ručně psaných znaků, identifikaci obličeje či detekci spamu pomocí jak klasických metod, tak pomocí učících se klasifikátorů. 1.Úvodní cvičení. Instalace STPR toolboxu, práce s Matlabem, jednoduchý příklad 2.Bayesovská úloha rozhodování. 3.Nebayesovské úlohy - úloha Neyman-Pearson 4.Nebayesovské úlohy - Minimaxní úloha 5.Maximálně věrohodný odhad 6.Neparametrické odhady Parzenova okénka 7.Lineární klasifikátor - Perceptron 8.AdaBoost 9.Support Vector Machines I 10.Support Vector Machines II 11.EM algoritmus I 12.EM algoritmus II 13.Odevzdávání a kontrola úloh 14.Odevzdávání a kontrola úlohliterature:
1. Duda, Hart, Stork: Pattern Classification, John Willey and Sons, 2nd edition, New York,2001. 2. Schlesinger, Hlavac: Ten Lectures on Statistical and Structural Pattern Recognition, 2002 (Deset přednášek z teorie statistického a strukturního rozpoznávání, 1997).
1. Základní pojmy a vlastnosti neorientovaných grafů. 2. Vrcholová a hranová souvislost, artikulace, mosty. 3. Základní pojmy a vlastnosti orientovaných grafů. 4. Tranzitivní uzávěr a tranzitivní redukce orientovaných grafů, minimálně silně souvislé grafy. 5. Hamiltonovské grafy (neorientované, orientované), Chvátalova věta. 6. Toky v sítích. Ford Fulkersonova věta. Myšlenky rychlých algoritmů pro toky v sítích. 7. Přípustné toky a otázky týkající se jejich existence. 8. Párování v obecných grafech a párovnáni v bipartitních grafech. 9. Nezávislé množiny, kliky, vrcholové pokrytí. 10. Hranové pokrytí., Obarvení s důrazem na vrcholové obarvení. 11. Grafy a vektorové prostory. Prostor kružnic a prosto řezů. 12. Dva pohledy na duální grafy; přes rovinné grafy a přes dualitu prostoru řezů a kružnic.labs/seminars:
Cvičení jsou vedeny formou domácí práce s možností konzultací.literature:
1. Reinhard Diestel: Graph Theory. Springer-Verlag, New York, 1997. Jiří Demel: Grafy a jejich aplikace, Academia, Praha, 2015 M.N.S. Swamy, K. Thulasiraman: Graphs, Networks, and Algorithms, Part 1, Graph Theory, John Wiley & Sons, New York, 1981
přednášky nejsoulabs/seminars:
určují vedoucí práceliterature:
určují vedoucí práce
1. Algebry a okruhy podmnožin. Měřitelné funkce. Míra na sigma-algebře. 2. Abstraktní Lebesgueův integrál a střední hodnota náhodné veličiny. 3. Lebesgueova míra v R^n (konstrukce z vnější míry). Lebesgueův integrál. 4. Konvergenční věty. 5. Součinová míra. Fubiniho věta. 6. Integrace v R^n - věta o substituci. 7. Normovaný prostor. Úplnost. Omezené operátory na normovaném prostoru. 8. Prostor se skalárním součinem. Hilbertův prostor. Projekční věta. 9. Prostor L^2(R) jako Hilbertův prostor. Hustota diferencovatelných funkcí s kompaktním nosičem. Fourierova transformace v L^2(R). Plancherelova věta. 10. Spektra operátorů na Hilbertově prostoru. Základní třídy operátorů na Hilbertově prostoru: samoadjungovaný, pozitivní, unitární operátor, projekce. 11. Diagonalizace normálního operátoru a matice. 12. Rozklady matic a operátorů - spektrální, polární, SVD. 13. Funkce operátoru a matice. 14. Rezerva.labs/seminars:
1. Algebry a okruhy podmnožin. Měřitelné funkce. Míra na sigma-algebře. 2. Abstraktní Lebesgueův integrál a střední hodnota náhodné veličiny. 3. Lebesgueova míra v R^n (konstrukce z vnější míry). Lebesgueův integrál. 4. Konvergenční věty. 5. Součinová míra. Fubiniho věta. 6. Integrace v R^n - věta o substituci. 7. Normovaný prostor. Úplnost. Omezené operátory na normovaném prostoru. 8. Prostor se skalárním součinem. Hilbertův prostor. Projekční věta. 9. Prostor L^2(R) jako Hilbertův prostor. Hustota diferencovatelných funkcí s kompaktním nosičem. Fourierova transformace v L^2(R). Plancherelova věta. 10. Spektra operátorů na Hilbertově prostoru. Základní třídy operátorů na Hilbertově prostoru: samoadjungovaný, pozitivní, unitární operátor, projekce. 11. Diagonalizace normálního operátoru a matice. 12. Rozklady matic a operátorů - spektrální, polární, SVD. 13. Funkce operátoru a matice. 14. Rezerva.literature:
[1] Rudin, W.: Analýza v reálném a komplexním oboru, Academia, 1977 [2] Kreyszig, E.: Introductory functional analysis with applications, Wiley 1989 [3] Lukeš, L.: Jemný úvod do funkcionální analýzy, Karolinum, 2005 [4] Meyer, C.D.: Matrix analysis and applied linear algebra, SIAM 2001.