Anotace kurzu:
Kurz seznamuje studenty s možnostmi funkcionálního programování na platformě Java a s moderními jazyky podporující funkcionální programování na této platformě.
Rámcový obsah kurzu:
1. Možnosti a omezení funkcionálního programování v jazyce Java.
2. Jazyk Clojure, jeho vlastnosti, kolekce, srovnání s jinými jazyky vycházejícími z LISPu.
3. Objektově orientované programovaní v jazyce Clojure a integrace s ostatními jazyky.
4. Paralelní programovaní v jazyce Clojure.
5. Pokročilé vlastnosti, makra, tvorba DSL v jazyce Clojure.
6. Jazyk Scala, základní vlastnosti a syntaxe.
7. Typový systém, řízení výpočtu v jazyce Scala.
8. Standardní knihovna a kolekce v jazyce Scala, integrace s ostatními jazyky.
9. Prostředky pro paralelní programovaní v jazyce Scala.
|
Anotace kurzu:
Předmět vysvětluje teoretické i praktické souvislosti bioinformatiky. Jsou zahrnuty biologické databáze, seřazování sekvencí ("alignment"), struktury genů a proteinů, predikce proteinové struktury, molekulární fylogenetika, genomika, proteomika a glykobiologie. Studenti získají praktické zkušenosti s nástroji bioinformatiky a budou rozvíjet dovednosti ve sběru a prezentaci bioinformatických dat, stejně jako základy programování ve skriptovacím jazyce.
Rámcový obsah kurzu:
1) Úvod do bioinformatiky a informačních zdrojů
definice bioinformatiky; historické a vědecké souvislosti vývoje bioinformatiky; problematika studovaná a řešená pomocí nástrojů bioinformatiky; druhy databází (primární vs. sekundární; formáty databázových dat); vysvětlení vztahu mezi DNA, RNA a proteiny; vysvětlení významu strukturní podobnosti a homologie; získávání relevantních informací o genomech a proteomech; odborná literatura z oblasti bioinformatiky; zdroje informací v databázi PubMed
2) Práce se sekvencemi (nukleotidovými a aminokyselinovými)
struktura genů a genomů; rozdíly mezi prokaryontními a eukaryontními geny; získání informací o daném genu; interpretace záznamu v GenBank; analýza celých genomů; nalezení chyb v sekvenci DNA; analýza DNA sekvencí (stanovení obsahu GC, hledání kodonů, vnitřní repetice); hledání ORF, exonů a intronů; sestavování fragmentů sekvencí; interpretace záznamu v databázi Swiss-Prot; popis primární struktury proteinu; databáze proteinových struktur a obsažené informace; predikce fyzikálně-chemických vlastnosti proteinu ze sekvence; analýza primární struktury proteinu; popis sekundární struktury proteinu; nalezení známých domén daného proteinu
3) Porovnávání sekvencí a vyhledávání na základě podobnosti ("similarity search")
význam sekvenční homologie; interpretace výsledků vyhledávání BLAST; interpretace střední hodnoty (e, "expectation value"); použití aplikace BLASTP pro porovnávání proteinových sekvencí; použití BLASTn pro porovnávání sekvencí DNA; nastavení parametrů BLAST pro efektivnější porovnávání; použití PSI-BLAST k nalezení příbuzných proteinových sekvencí; konstrukce a interpretace "dot plots" pro porovnání sekvencí; algoritmy pro seřazování sekvencí; použití online nástrojů pro lokální alignment proteinových sekvencí; použití online nástrojů pro globální alignment proteinových sekvencí; získávání vhodných sekvencí pro vícenásobné seřazení sekvencí (MSA, "multiple sequence alignments"); použití online nástrojů pro MSA; interpretace výsledků MSA; praktické použití MSA
4) Proteinové struktury
význam skládání ("folding") a trojrozměrné struktury proteinů; predikce sekundární struktury proteinů; nalezení strukturních analogů proteinové sekvence; získávání 3-D struktur z databáze PDB; instalace a konfigurování prohlížeče proteinových struktur; prohlížení a manipulace s proteinovými strukturami na počítači; popis strukturních elementů (alfa šroubovice, beta skládané listy, klubka); strukturní klasifikace proteinů pomocí online nástrojů
5) RNA struktury, SNP and haplotypy
definice genomiky a popis bioinformatických aplikací, které využívá; definování jednonukleotidových polymorfismů (SNP, "single nucleotide polymorphism") a popis jejich obecného rozšíření v lidském genomu; definování haplotypů a jejich význam pro bioinformatickou analýzu; vysvětlení aplikací analýzy SNP a haplotypů; získání a interpretace dat o SNP a haplotypech z prohlížeče genomu; popis sekundární struktury RNA; použití online nástrojů pro získání RNA sekvencí a strukturní predikce RNA; popis rozdílných typů RNA včetně miRNA; použití online nástrojů k nalezení elementů popisujících sekundární strukturu RNA; použití online nástrojů pro hledání miRNA v RNA sekvencích
6) Fylogenetika a srovnávací genomika
definice fylogeneze a hledání fylogenetických vztahů pomocí bioinformatických nástrojů; seřazení sekvencí s použitím programu ClustalW; odhad vzdálenosti mezi sekvencemi; rozdíl mezi orthology, paralogy a xenology; konstrukce fylogenetických stromů s použitím programu ClustalW; popis algoritmů pro konstrukci fylogenetických stromů (UPGMA, fitch, neighbor-joining); konstrukce stromů použitím programového balíku Phylip
7) Bioinformatika v glykobiologii
struktury sacharidů; databáze glykoenzymů; glykosylace proteinů; bioinformatická analýza glykanových struktur; predikce proteinové glykosylace; program Glycoworkbench; experimentální metody analýzy glykosylace proteinů; 3-D struktura komplexních sacharidů; int
|
Anotace kurzu:
Studenti se seznámí se základními pojmy z formální konceptuální analýzy.
Rámcový obsah kurzu:
Předmět je úvodem do formální konceptuální analýzy.
" Úvod, historie, motivace.
" Formální kontext, formální koncept, konceptuální svaz.
" Galoisovy konexe a uzávěrové operátory.
" Hlavní věta konceptuálních svazů.
" Algoritmy pro výpočet konceptuálního svazu.
" Vícehodnotové kontexty.
" Atributové implikace, Armstrongovy axiomy, úplnost.
" Báze, algoritmus pro výpočet báze.
" Úvod fo formální konceptuální analýzy dat s fuzzy atributy.
" Vybrané aplikace formální konceptuální analýzy.
|
Anotace kurzu:
Studenti se seznámí se základními pojmy z logického programování.
Rámcový obsah kurzu:
Kurz seznamuje posluchače s logickým programováním a jeho teoretickým modelem založeným na predikátové logice. Kurz obsahuje teoretické pasáže věnující se syntaxi a sémantice logických programů a jejich vztahu k teoriím v predikátové logice. Pozornost je dále věnována činnosti překladače jazyka PROLOG. Na závěr kurzu jsou ukázány aplikace logického programování v expertních systémech.
- Základy logického programování. Logický program a jeho sémantika. Logické paradigma jako jedno z paradigmat programování.
- Definitní programy a jejich syntaxe. Klauzule, fakta, pravidla a dotazy.
- Deklarativní sémantika definitního programu: herbrandova struktura, herbrandův model, nejmenší herbrandův model a jeho nalezení. Sémantické vyplývání z definitních programů. Substituce, aplikace substituce, uzavřené instance klauzulí, korektní odpovědi. Čisté logické programování a PROLOG.
- Procedurální sémantika logického programu. Rekurzivní datové struktury. Konečné a nekonečné herbrandovy modely. Rekurzivní pravidla. Rekurzivní datové struktury. Unifikace. Nedeterministická inference. Metody odstranění nedeterminismu. Nejobecnější unifikátor a jeho nalezení. Procedurální sémantika definitního programu. Vztah deklarativní a procedurální sémantiky: korektní odpovědi versus vypočtené odpovědi.
- Činnost zásobníku během výpočtu PROLOGu, backtracking, nalezení alternativních řešení.
- Řezy a negace, aritmetika, modifikace databáze. Metalogický predikát řezu. Výpočtová efektivita a řezy. Řízení výpočtu pomocí řezů. Činnost zásobníku během výpočtu PROLOGu obohaceného o řezy. Vytváření podmínek a cyklů pomocí vestavěných predikátů.
- Teoretické přístupy k negaci: předpoklad uzavřenosti světa; negace pomocí neúspěchu v konečně mnoha krocích. Problém neexistence herbrandovského modelu při použití negace. Zavedení negace pomocí řezu. Zabudovaná aritmetika. Modifikace databáze faktů a pravidel.
- Aplikace logického programování v databázových a expertních systémech.
|
Anotace kurzu:
Předmět poskytuje základy problematiky digitálního videa a audia a jeho distribuce po datové síti.
Rámcový obsah kurzu:
V předmětu jsou probírány reprezentace a formáty digitálního obrazu, videa a audia, jejich získávání, zpracování, komprese a distribuce po datové sítí. Zmíněna je i problematika DRM.
Obsahem cvičení je praktické zacházení s obrazem, videem a audiem od jejich získání, přes editaci a kompresi až po distribuci - studenti si zkusí vytvořit DVD a zprovoznit streamovací server.
1. Úvod: Historie, multimediální data a systémy, klasifikace.
2. Získání obsahu: Digitalizace analogového signálu (vzorkování a kvantizace), Fourierova transformace, vzorkovací věta (Sampling theorem), filtrace.
3. Reprezentace a formáty, barvy: Reprezentace a formáty obrazu, videa, audia a grafiky, problém barev, barevné prostory (modely).
4. Zpracování obsahu (authoring): Authoring a nástroje. Tvorba DVD (DVD authoring).
5. Komprese: Základní pojmy z teorie informace, kódování a komprese, základní bezeztrátové metody.
6. Základní ztrátové kompresní metody: DPCM, transformační (DCT, DFT) a podpásmové (wavelet) kódování.
7. Komprese obrazu: Bezeztrátové (GIF, PNG, TIFF), JPEG, waveletová, fraktálová, WebP.
8. Komprese videa: Bezeztrátové (M-JPEG, DV), predikce pohybu, MPEG/H.26*, VP*, Theora, AV1, kontejnery (MPEG, Ogg, WebM, AVI).
9. Komprese audia: Predikce (PCM), psychoakustika, syntetizace, MPEG (MP3, AAC), Dolby (AC-3), Vorbis, Speex, FLAC, MIDI.
10. Komprese grafiky: Reprezentace (polygonální sítě), topological surgery, progresivní sítě, waveletová komprese, MPEG.
11. Distribuce: Streaming, webcasting, video on demand, Quality of Service, VOIP, internetová televize (IPTV).
12. Digital Rights Management (watermark, šifrování).
|