|
|
Hlavní nabídka Prohlížení IS/STAG
Nalezené předměty, počet: 1
Stránkování výsledků vyhledávání
Nalezeno 1 záznamů
Export do Xls
Informace o předmětu
KIV / ZEP-E
:
Popis předmětu
Pracoviště / Zkratka
|
KIV
/
ZEP-E
|
Akademický rok
|
2023/2024
|
Akademický rok
|
2023/2024
|
Název
|
Základy efektivního programování
|
Způsob zakončení
|
Zkouška
|
Způsob zakončení
|
Zkouška
|
Akreditováno / Kredity
|
Ano,
4
Kred.
|
Forma zakončení
|
Písemná
|
Forma zakončení
|
Písemná
|
Rozsah hodin
|
Přednáška
2
[HOD/TYD]
|
Zápočet před zkouškou
|
Ano
|
Zápočet před zkouškou
|
Ano
|
Automatické uznávání zápočtu před zkouškou
|
Ne
|
Počítán do průměru
|
ANO
|
Vyučovací jazyk
|
Angličtina
|
Obs/max
|
|
|
|
Automatické uznávání zápočtu před zkouškou
|
Ne
|
Letní semestr
|
0 / -
|
44 / -
|
4 / -
|
Počítán do průměru
|
ANO
|
Zimní semestr
|
0 / -
|
0 / -
|
0 / -
|
Opakovaný zápis
|
NE
|
Opakovaný zápis
|
NE
|
Rozvrh
|
Ano
|
Vyučovaný semestr
|
Letní semestr
|
Vyučovaný semestr
|
Letní semestr
|
Minimum (B + C) studentů
|
10
|
Volně zapisovatelný předmět |
Ano
|
Volně zapisovatelný předmět
|
Ano
|
Vyučovací jazyk
|
Angličtina
|
Počet dnů praxe
|
0
|
Počet hodin kontaktní výuky |
|
Hodnotící stupnice |
1|2|3|4 |
Periodicita |
každý rok
|
Hodnotící stupnice pro zp. před zk. |
S|N |
Periodicita upřesnění |
|
Základní teoretický předmět |
Ne
|
Profilující předmět |
Ano
|
Základní teoretický předmět |
Ne
|
Hodnotící stupnice |
1|2|3|4 |
Hodnotící stupnice pro zp. před zk. |
S|N |
Nahrazovaný předmět
|
Žádný
|
Vyloučené předměty
|
KIV/ZEP
|
Podmiňující předměty
|
Nejsou definovány
|
Předměty informativně doporučené
|
Nejsou definovány
|
Předměty,které předmět podmiňuje
|
Nejsou definovány
|
Graf četnosti udělených hodnocení studentům napříč roky:
Obrázek PNG
,
XLS
|
Cíle předmětu (anotace):
|
Prohloubení znalostí metod pro návrh efektivních a robustních algoritmů. Předmět doplňuje a rozšiřuje předměty bakalářského studia KIV/PPA a KIV/ADT (resp. KIV/PPA1, KIV/PPA2, KIV/PT a KIV/PRO). Je vyučován v jazyce anglickém.
|
Požadavky na studenta
|
Zápočet:
Student musí vypracovat čtyři sady úloh zadávané v týdnech výuky s pevně stanoveným termínem řádného odevzdání. Tyto sady obsahují jak teoretické příklady (např. navrhněte efektivní algoritmus, který nalezne v zadaném poli, zda jsou tam nějaké duplicitní hodnoty), tak praktické (např. napište program, který spočte odmocninu ze dvou s přesností na 100 míst). Příklady jsou různě obtížné. Každá sada je ohodnocena minimálně 20 body.
Pro získání zápočtu musí student získat minimálně 50 bodů.
Zkouška:
Písemný test, ve kterém student demonstruje získané znalosti na návrhu metody řešící o něco složitější problém. Test je hodnocen 20 body, které se sčítají s body ze semestru (viz zápočet). Celkem lze tedy v předmětu získat 100 bodů. Výsledná známka je stanovena takto: 1 = 86 - 100, 2 = 71 - 85, 3 = 56 - 70, 4 = < 55 bodů
Upozornění:
Termíny a forma ověřování splnění požadavků mohou být upraveny s ohledem na opatření vyhlášená v souvislosti s vývojem epidemiologické situace v ČR.
|
Obsah
|
- Posuzování algoritmů, časová a paměťová složitost. Master theorem.
- Často se vyskytující zbytečné, časově náročné operace v kódu a jejich eliminace.
- Robustnost algoritmů, singulární případy, přesnost numerických výpočtů.
- Maticové a vektorové operace (Strassen formula, skalární a vektorový součin). Řešení soustav lineárních i nelineárních rovnic (včetně přeurčených soustav).
- Správa paměti. Alokace a dealokace paměti, garbage collector, úniky paměti. Příliš velká data (nevejdou se do paměti).
- Cache v současných počítačích a její efektivní využití (technika bricking)
- Rozděl a panuj. Binární vs. interpolační hledání, Medián. Dělení prostoru.
- Práce s velkými daty. Redukce dimenze problému. Redukce dat vzorkováním, Sobolovy sekvence. Vlastní správa paměti. Komprese. Checksums (LUHN, CRC, Adler32, MD5).
- Reprezentace grafů, algoritmy Dijkstra a Floyd-Warshall.
- Heuristické přístupy k řešení. Stavový automat, prořezávání stavů. Problém optimálního přiřazení - Hungarian marriage.
|
Aktivity
|
|
Studijní opory
|
Předmět má vedené stránky na CourseWare (https://courseware.zcu.cz/portal/studium/courseware/kiv/zep-e), kde jsou pro studenty k dispozici kompletní prezentace z přednášek, a to jak v angličtině, tak češtině (pro studenty, kteří by měli problém s úrovní angličtiny).
Pro předmět dále existuje zřízený Discord server ZEP-E (pozvánka je rozesílána zapsaným studentům před zahájením semestru), kde studenti mezi sebou nebo s vyučujícími mohou řešit problémy s řešením semestrální práce, ale i diskutovat zkouškové příklady apod. Odezvy od vyučujících jsou do 24 hodin, většinou "okamžité".
|
Garanti a vyučující
|
|
Literatura
|
|
Časová náročnost
|
Všechny formy studia
|
Aktivity
|
Časová náročnost aktivity [h]
|
Projekt individuální [40]
|
40
|
Příprava na zkoušku [10-60]
|
30
|
Kontaktní výuka
|
26
|
Celkem
|
96
|
|
Předpoklady
|
Odborné znalosti - pro úspěšné zvládnutí předmětu se předpokládá, že je student před zahájením výuky schopen: |
popsat principy vykonávání programu počítačem |
popsat principy programování v imperativních jazycích, tj. řídící struktury, cykly, metody, aj. |
orientovat se v matematických pojmech na úrovni středoškolské matematiky |
Odborné dovednosti - pro úspěšné zvládnutí předmětu se předpokládá, že student před zahájením výuky dokáže: |
vytvořit počítačový program v libovolném programovacím jazyce pro řešení jednoduchého problému (např. rozhodnutí, zda v poli čísel se nachází duplicity) |
Obecné způsobilosti - před zahájením studia předmětu je student schopen: |
bc. studium: své učení a pracovní činnost si sám plánuje a organizuje, |
|
Výsledky učení
|
Odborné znalosti - po absolvování předmětu prokazuje student znalosti: |
posuzování časové a paměťové složitosti rekurentních i nerekurentních algoritmů |
základních principů užívaných pro návrh efektivního algoritmu (např. řazení, rozděl a panuj, dělení prostoru) |
základních principů využívaných pro zvýšení efektivity nebo robustnosti implementace (např. eliminace konstatních výpočtů v cyklu, zarovnání dat pro lepší využití cache, komprese dat, apod.) |
Odborné dovednosti - po absolvování předmětu prokazuje student dovednosti: |
navrhnout algoritmus řešící zadaný netriviální problém (např. volba optimálního umístění obchodů ve městě) |
posoudit očekávanou složitost navrženého algoritmu |
Obecné způsobilosti - po absolvování předmětu je student schopen: |
bc. studium: používají své odborné znalosti, odborné dovednosti a obecné způsobilosti alespoň v jednom cizím jazyce, |
|
Hodnoticí metody
|
Odborné znalosti - odborné znalosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Písemná zkouška, |
Seminární práce, |
Odborné dovednosti - odborné dovednosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Písemná zkouška, |
Seminární práce, |
Obecné způsobilosti - obecné způsobilosti dosažené studiem předmětu jsou ověřovány hodnoticími metodami: |
Písemná zkouška, |
Seminární práce, |
|
Vyučovací metody
|
Odborné znalosti - pro dosažení odborných znalostí jsou užívány vyučovací metody: |
Přednáška s aktivizací studentů, |
Samostatná práce studentů, |
Individuální konzultace, |
Seminární výuka (badatelské metody), |
Odborné dovednosti - pro dosažení odborných dovedností jsou užívány vyučovací metody: |
Přednáška s aktivizací studentů, |
Samostatná práce studentů, |
Obecné způsobilosti - pro dosažení obecných způsobilostí jsou užívány vyučovací metody: |
Přednáška s aktivizací studentů, |
Diskuse, |
Individuální konzultace, |
|
|
|
|