Pokročilé programování a algoritmizace - N409031
Anglický název: Advanced Programming and Algoritmization Techniques
Zajišťuje: Ústav chemického inženýrství (409)
Fakulta: Fakulta chemicko-inženýrská
Platnost: od 2019
Semestr: zimní
Body: zimní s.:4
E-Kredity: zimní s.:4
Způsob provedení zkoušky: zimní s.:
Rozsah, examinace: zimní s.:2/2, KZ [HT]
Počet míst: neurčen / neurčen (neurčen)
Minimální obsazenost: neomezen
Jazyk výuky: čeština
Způsob výuky: prezenční
Způsob výuky: prezenční
Úroveň:  
Pro druh:  
Poznámka: předmět je možno zapsat mimo plán
povolen pro zápis po webu
Garant: Nevoral Vladislav Ing. Ph.D.
Termíny zkoušek   Rozvrh   
Anotace -
Poslední úprava: Vaněk Tomáš doc. RNDr. CSc. (21.11.2012)
Předmět je určen pro posluchače, kteří potřebují programování jako užitečný nástroj pro vědecko-technické a další obory. Hlavní zaměření je na jazyky třídy Fortran, C a C++. Kromě seznámení se se syntaxí a využitím příkazů i datových struktur je kladen důraz na systematičnost programování, používání programovacích technologií a programátorského rukopisu. Posluchači se také seznámí s teoretickým zázemím programovacích jazyků, definicí a využíváním algoritmů společně s hodnocením jejich časové a prostorové náročnosti. V přehledu budou charakterizovány i další proramovací jazyky, zejména v souvislosti s jednotlivými programovacími technologiemi. Praktická část tohoto předmětu je zaměřena na programování v uvedených jazycích s využitím integrovaných vývojových prostředí.
Výstupy studia předmětu -
Poslední úprava: Vaněk Tomáš doc. RNDr. CSc. (21.11.2012)

Student bude umět

Teoretické základy programovacích jazyků

Orientovat se v nejdůležitějších programovacích technologiích a používat programátorský rukopis

Teorii, charakteristiky a realizací algoritmů pro různé účely

Používat jazyky třídy Fortran (FORTRAN 77, Fortran 90 a 95)

Používat jazyky C a C++

Literatura -
Poslední úprava: Vaněk Tomáš doc. RNDr. CSc. (10.08.2016)

  1. Vaněk T.: Přednášky pro předmět PPA (elektronická forma).
  2. Walraet B.: Programming, the impossible challenge. North-Holland, 1989.
  3. Töpfer P.: Algoritmy a programovací techniky. PROMETHEUS, Praha 1995 (ISBN: 80-85849-83-6).
  4. Wróblewski P.: Algoritmy – datové struktury a programovací techniky. Computer Press, Brno 2004 (ISBN: 80-251-0343-9).
  5. Čada O.: Objektové programování - naučte se pravidla objektového myšlení. Grada Publishing, Praha 2009 (ISBN: ISBN 978-80-247-2745-5, elektronická verze ISBN: 978-80-247-6699-7).
  6. Hřebíček J. a kol.: Programovací jazyk FORTRAN 77 a vědeckotechnické výpočty. Academia Praha, 1989.
  7. Zahradník V.: Programování - Fortran 90. Skriptum ČVUT, Fakulta stavební, 1996.
  8. Davies R., Rea A., Tsaptsinos D.: Introduction to Fortran 90. An introduction course for novice students. Version 1. Cardiff HPC Training & Education Centre, 2000? (elektronická podoba).
  9. Sandu A.: Introduction to Fortran 95 and Numerical Computing. A Jump-Start for Scientists and Engineers. Lecture Notes. Computer Science Department, Michigan Technological University, 2001 (elektronická forma).
  10. Compaq Visual Fortran Language Reference. Visual Fortran Version 6.6 (elektronická forma). Compaq Computer Corporation, 2001.
  11. ISO/IEC: Normy pro jazyky třídy Fortran (elektronická forma).
  12. Virius M.: Jazyky C a C++. Kompletní kapesní průvodce programátora. Grada Publishing, Praha 2005/2010.
  13. Virius M.: Pasti a propasti jazyka C++. Grada Publishing, 1997.
  14. Eckel B.: Myslíme v jazyku C++. Grada Publishing, 2000.
  15. Kruglinski D.J.: Mistrovství ve Visual C++. Computer Press, 1999.
  16. Horton I.: Wrox Press C++ tutorial. Wrox Press, 1998 (elektronická učebnice).
  17. Horton I.: Introduction to Visual C++ 6.0 Standard Edition. Wrox Press, 1998.
  18. Jinoch J., Müller K., Vogel J.: Programování v jazyku Pascal. SNTL, Praha, 1986.
  19. Jirků P. a kol.: Programování v jazyku Prolog. SNTL, Praha 1991.

Studijní opory -
Poslední úprava: Vaněk Tomáš doc. RNDr. CSc. (02.10.2013)

žádné

Sylabus -
Poslední úprava: Vaněk Tomáš doc. RNDr. CSc. (10.08.2016)

  1. Úvod - obecná problematika vytváření programového vybavení. Životní cyklus a kategorizace softwaru. Teorie formálních systémů a jejich použití pro programovací jazyky. Syntaktický a sémantický popis, formy zápisu syntaxe jazyka. Přehled vybraných aktuálních programovacích jazyků.
  2. Programovací technologie (metodiky) a jejich vztah k programovacím jazykům. Přehled používaných programovacích technologií. Principy strukturovaného programování. Programátorský rukopis.
  3. Algoritmy, jejich formální zápis a programová realizace. Časové a prostorové charakteristiky algoritmů. Datové struktury využívané v algoritmech. Některé obecně využitelné algoritmy.
  4. Jazyky kategorie Fortran - obecné charakteristiky a přehled verzí. Struktura programu, pevný a volný způsob zápisu. Datové typy, deklarace, operátory, standardní funkce, výrazy.
  5. Výkonné příkazy jazyka Fortran. Podprogramy. Vstupy a výstupy v jazyku Fortran.
  6. Pokročilejší prvky a konstrukce jazyka Fortran. Efektivní využívání polí a specifické operace s nimi. Ukazatelé a dynamická alokace. Moduly. Různé.
  7. Jazyk C. Základní charakteristiky a využití. Stavba programu, datové typy a operátory. Priorita operátorů.
  8. Jazyk C. Příkazy jazyka. Direktivy kompilátoru, symbolické konstanty a makra.
  9. Jazyk C. Definice a využití ukazatelů, struktur a odvozených datových typů. Další pokročilejší prvky jazyka.
  10. Jazyk C. Funkce (podprogramy), využívání funkční hodnoty a parametrů funkce.
  11. Jazyk C. Vybrané funkce ze standardních knihoven. Vstupní a výstupní operace. Operace s řetězci znaků. Vybrané matematické funkce. Operace s kalendářními daty. Funkce pro dynamickou alokaci a dealokaci paměti.
  12. Jazyk C++. Účel a základní vlastnosti. Rozdíly mezi C a C++.
  13. Jazyk C++. Objektově orientované a vizuální programování. Deklarace objektových tříd a jejich využití. Polymorfismus, dědičnost, přetěžování.
  14. Jazyk C++. Základní principy tvorby aplikací pro Windows.

Vstupní požadavky -
Poslední úprava: Vaněk Tomáš doc. RNDr. CSc. (21.11.2012)

Znalost práce v prostředí operačních systémů typu Windows.

Výhodou je znalost programování v některém vyšším programovacím jazyku, přednostně FORTRAN 77/90/95, C, C++, a znalost některé programovací technologie, přednostně strukturovaného a objektového programování.

Studijní prerekvizity -
Poslední úprava: TAJ409 (07.10.2013)

Nejsou.

Zátěž studenta
Činnost Kredity Hodiny
Účast na přednáškách 1 28
Práce na individuálním projektu 1.5 42
Příprava na zkoušku a její absolvování 0.5 15
Účast na seminářích 1 28
4 / 4 113 / 112
Hodnocení studenta
Forma Váha
Aktivní účast na výuce 10
Protokoly z individuálních projektů 40
Průběžné a zápočtové testy 50