F1400 Programování

Přírodovědecká fakulta
podzim 2021
Rozsah
1/1/0. 2 kr. Ukončení: z.
Vyučováno prezenčně.
Vyučující
doc. RNDr. Petr Mikulík, Ph.D. (přednášející)
Garance
doc. RNDr. Petr Mikulík, Ph.D.
Ústav fyziky kondenzovaných látek – Fyzikální sekce – Přírodovědecká fakulta
Kontaktní osoba: doc. RNDr. Petr Mikulík, Ph.D.
Dodavatelské pracoviště: Ústav fyziky kondenzovaných látek – Fyzikální sekce – Přírodovědecká fakulta
Rozvrh
Út 13:00–13:50 A,01026
  • Rozvrh seminárních/paralelních skupin:
F1400/01: Út 14:00–14:50 Fcom,01034, P. Mikulík
F1400/02: Po 14:00–14:50 Fcom,01034, P. Mikulík
Předpoklady
základní znalosti práce s PC
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
Cílem předmětu je:
- popsat a vysvětlit základní algoritmy numerické matematiky,
- využít získaných programovacích znalostí k tvorbě krátkých programů pro jednoduché výpočetní problémy v jazyku C nebo GNU Octave,
- využít grafický systém gnuplot pro tvorbu grafů funkcí a zobrazování datových souborů,
- využít programy GNU Octave a Matlab pro řešení základních úloh lineární algebry,
- použít typografický systém LaTeX pro tvorbu odborných textů.
Výstupy z učení
Po úspěšném absolvování tohoto kursu by studenti měli být schopni
- popsat a vysvětlit základní algoritmy numerické matematiky (řady, iterace, vektorová a maticová algebra),
- využít získaných programovacích znalostí k tvorbě krátkých programů pro jednoduché výpočetní problémy ve vyšším programovacím jazyce (C nebo GNU Octave),
- využít grafický systém gnuplot pro tvorbu grafů funkcí a zobrazování datových souborů,
- využít programy GNU Octave a Matlab pro řešení základních úloh lineární algebry,
- použít typografický systém LaTeX pro tvorbu odborných textů.
Osnova
  • 1. Operační systémy. Programovací jazyky, programování. Psaní skriptů. Editory a vývojová prostředí. Dokumentace. Kreslení grafů. 2. Zobrazování čísel v počítači. Chyby výpočtu, systematická chyba, chyba metody, zaokrouhlovací chyby. Zákon šíření chyb. Špatně a dobře podmíněné úlohy. 3. Jazyk C. Základní struktura jazyka. Struktura programu. Identifikátory, proměnné a konstanty. Typy dat. Deklarace proměnných. Pole, alokování paměti. Řetězce. Přiřazovací příkazy. Aritmetické operace. Přiřazování různých typů dat. Příkazy vstupu a výstupu. Standardní I/O zařízení, vstup a výstup do souboru. Standardní funkce, knihovny. Podprogramy a makra. Skutečné a formální parametry. Knihovny. Jazyk C++. 4. Program gnuplot. Kreslení grafů funkcí a měřených či simulovaných dat. 5. Program a jazyk Octave / Matlab. Práce s programem a základní příkazy. M-soubory. Příkazy pro grafický výstup. Vstup a výstup dat. 6. Psaní vědeckých textů v typografickém systému LaTeX. Základní příkazy. Balíčky. Základy typografie. Typ a velikost písma. Definice prostředí. Psaní matematických vzorců a tabulek. Formátování textu. Bibliografie, vkládání obrázků.
Literatura
  • KERNIGHAN, Brian W. a Dennis M. RITCHIE. Programovací jazyk C : The C Programming Language (Orig.). Translated by Vladimír Benko. 1. vyd. Bratislava, Praha: Alfa, Státní nakladatelství technické literatury. 249 s. 1988. info
  • KERNIGHAN, Brian W. a Dennis M. RITCHIE. Programovací jazyk C. 2. vyd. Bratislava: Alfa. 249 s. ISBN 80-05-00154-1. 1989. info
  • STROUSTRUP, Bjarne. C++ : programovací jazyk : The C++ programming language (Orig.). 1. české vyd. Praha: Softwarové Aplikace a Systémy. 686 s. ISBN 80-901507-2-1. 1997. info
  • RYBIČKA, Jiří. Latex pro začátečníky. 2. vyd. Brno: Konvoj. 190 s. ISBN 8085615746. 1999. info
  • LAMPORT, Leslie. LATEX : a document preparation system : user's guide & reference manual. Illustrated by Duane Bibby. Reading: Addison-Wesley Publishing Company. 242 s. ISBN 0-201-15790-X. 1986. info
  • GOOSSENS, Michel, Frank MITTELBACH a Alexander SAMARIN. The LaTeX companion. Reading, Mass.: Addison Wesley. 528 s. ISBN 0-201-54199-8. 1994. info
  • http://www.octave.org/docs.html; http://octave.sourceforge.net
  • HERINGOVÁ, Blanka a Petr HORA. Matlab pro Windows. Praha: H-S. 147 s. 1995. info
  • HERINGOVÁ, Blanka a Petr HORA. Matlab pro Windows. Praha: H-S. l sv. 1995. info
  • GANDER, W. a Jiří HŘEBÍČEK. Solving Prolems in Scientific Computing Using Maple and MATLAB. 3. vyd. Heidelberg: Springer Verlag. 408 s. ISBN 3-540-61793-0. 1997. info
Výukové metody
Výuka probíhá formou přednášky a praktických cvičení v počítačové učebně. Seminář přímo navazuje na problematiku probranou na předchozí přednášce. Doporučuji zapsat i seminář F1400a pro rozšíření cvičení na 2 hodiny (cvičení na sebe navazují, zápočtové úlohy jsou identické).
Metody hodnocení
Během semestru student prokáže 1. funkčnost programů, které ve cvičeních vypracoval, 2. text (např. protokol do praktika, zpráva apod.), který napsal v LaTeXu, 3. zvládnutí testu o základní počítačové gramotnosti. Pro udělení zápočtu každý student předloží funkční program řešící konkrétní úlohu z numerické matematiky, zdokumentovaný pomocí systému LaTeX.
Navazující předměty
Informace učitele
http://www.physics.muni.cz/~mikulik/vyuka/
Na webové stránce předmětu budou uveřejněny zápočtové úlohy. The web page given of the course will list the credit problems.
Další komentáře
Studijní materiály
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích podzim 2007 - akreditace, podzim 1999, podzim 2010 - akreditace, podzim 2000, podzim 2001, podzim 2002, podzim 2003, podzim 2004, podzim 2005, podzim 2006, podzim 2007, podzim 2008, podzim 2009, podzim 2010, podzim 2011, podzim 2011 - akreditace, jaro 2012 - akreditace, podzim 2012, podzim 2013, podzim 2014, podzim 2015, podzim 2016, podzim 2017, podzim 2018, podzim 2019, podzim 2020, podzim 2022, podzim 2023.