IB053 Metody efektivního programování

Fakulta informatiky
jaro 2021
Rozsah
1/1/0. 2 kr. (plus ukončení). Doporučované ukončení: k. Jiná možná ukončení: z.
Vyučující
Mgr. Petr Steinmetz (přednášející)
RNDr. Nikola Beneš, Ph.D. (pomocník)
Garance
RNDr. Nikola Beneš, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Kontaktní osoba: Mgr. Petr Steinmetz
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh
Út 17:00–17:50 Virtuální místnost
  • Rozvrh seminárních/paralelních skupin:
IB053/01: Út 18:00–18:50 Virtuální místnost, P. Steinmetz
Předpoklady
Znalost programování v některém z jazyků C, C++, Pascal, Delphi, Java, C#; znalost objektového programování; základní povědomí o strojovém kódu procesorů
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 40 stud.
Momentální stav registrace a zápisu: zapsáno: 0/40, pouze zareg.: 0/40, pouze zareg. s předností (mateřské obory): 0/40
Mateřské obory/plány
Cíle předmětu
Účelem tohoto kursu je předat studentům znalosti a zkušenosti potřebné pro vývoj software. Pojem efektivní programování je zde chápán ve dvou smyslech. Jednak z hlediska práce vynaložené na tvorbu programu, která má být samozřejmě co nejefektivnější a jednak z hlediska samotného programu, jehož implementace má být též co nejefektivnější, t.j. aby počítač při vykonávání programu prováděl minimum režijních (nevýkonných) činností. Obsahem kursu není samotný návrh algoritmu z hlediska jeho složitosti.
Výstupy z učení
Na konci tohoto kursu získá student znalosti a návyky vedoucí k efektivnější tvorbě software včetně efektivnější implementace algoritmu.
Osnova
  • Efektivita práce při návrhu algoritmu.
  • Snížení chybovosti při tvorbě programu.
  • Snížení doby potřebné k odstraňování chyb.
  • Využití dříve napsaných částí programů.
  • Nezávislost programu na pozdějších úpravách.
  • Přenositelnost do jiných prostředí.
  • Efektivita programu.
  • Mechanismus přístupu k datům.
  • Implementace programových struktur.
  • Rozdíl v interpretovaných a překládaných jazycích.
Literatura
  • HONZÍK, Jan M. Programovací techniky. 1. vyd. Brno: Rektorát Vysokého učení technického v Brně, 1985, 357 s. info
Výukové metody
Přednášky, cvičení, domácí práce
Metody hodnocení
Předmět má formu přednášky (nepovinné) a cvičení (povinný, případně dle domluvy), včetně vypracování projektu s podporou na semináři (samostatné nebo částečně kolektivní). Předmět je ukončen kolokviem.
Informace učitele
Předmět bývá z organizačních důvodů nasazen v rozvrhu takto:
- okrajový den v rámci týdne (zpravidla pátek)
- okrajový čas v rámci dne (zpravidla od 7:00)
- rezervovány jsou 3 hodiny namísto dvou, ale počet hodin za semestr je vždy počet týdnů semestru krát dvě a tedy výuka v některých týdnech se neuskuteční
- rozdělení přednášek a cvičení určuje vyučující průběžně
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích jaro 2003, jaro 2004, jaro 2005, jaro 2006, jaro 2007, jaro 2009, jaro 2010, jaro 2011, jaro 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2022, jaro 2023.