Předmět: Algoritmizace a programování 1

« Zpět
Název předmětu Algoritmizace a programování 1
Kód předmětu MTI/ALG1
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Bakalářský
Rok studia 1
Semestr Zimní
Počet ECTS kreditů 7
Vyučovací jazyk Čeština
Statut předmětu Povinný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Vitvarová Jana, Ing. Ph.D.
  • Královcová Jiřina, doc. Ing. Ph.D.
Obsah předmětu
Předmět je úvodem do problematiky programování v programovacím jazyce vyšší úrovně. Studenti se seznámí se základními postupy při algoritmizaci úloh a s realizací algoritmů zaměřených na zpracování čísel a jejich posloupností pomocí výrazových prostředků programovacího jazyka Java. Cílem je naučit studenty analyzovat vybrané třídy úloh, navrhnout elementární algoritmy k jejich řešení a implementovat v programovacím jazyce včetně odladění a testování. Studenti se v průběhu kurzu seznámí se základními prostředky programovacího jazyka vyšší úrovně tak, aby byli schopni ho nadále používat při řešení praktických úloh, včetně návrhu vhodných datových struktur a použití vhodných výrazových prostředků pro řešení těchto úloh. Témata přednášek: 1. Základní informace. Úloha, algoritmus, program, programovací jazyk. Základní struktura programu, jazyce Java. Kód programu. Syntaxe a sémantika. Základní lexikální elementy. Ukázka jednoduchého programu. 2. Algoritmus. Formální zápis algoritmu. Vybrané způsoby a úrovně formálního zápisu. Blokové schéma, vývojový diagram, pseudokód, strukturovaný text. Případy užití. 3. Datový typ. Jednoduché a vybrané složené datové typy. Kódování informace. Reprezentace hodnot základních datových typů v paměti počítače. 4. Proměnné, konstanty, typy. Primitivní datové typy. Deklarace, použití. Kompatibilita typů. Operace, operátory. Priorita operátorů. Standardní vstup/výstup. 5. Třída jako objektový typ. Třídy, objekty. Atributy, metody. Statické metody a knihovní třída. Přehled vybraných tříd programovacího jazyka, obalové třídy primitivních datových typů. 6. Základní řídící struktury programu. Příkazy. Logický příkaz. Příkazy cyklu. 7. Dokončení příkazů. Další příkazy jazyka - přepínač, ukončení metody apod. Efektivní použití a řízení příkazů cyklu, vzájemné porovnání, standardní případy užití. Ladění a testování programu. 8. Sekvenční zpracování posloupnosti čísel. Základní algoritmická primitiva. Inicializační, výkonná a případně inkrementační část algoritmu. Výpočet součtu, minimálních a maximálních hodnot, test výskytu hodnoty, počet výskytů hodnoty, vlastnost posloupnosti. 9. Pole - deklarace, vytvoření, použití. Pole hodnot různého typu. Statický inicializátor. Parametry metody a návratová hodnota metody typu pole. 10. Vícerozměrná pole. Vícerozměrné pole s vektory nestejné délky - vytvoření, použití. Procházení vícerozměrného pole v potřebném (omezeném) rozsahu odpovídajícím potřebám právě řešené úlohy. 11. Textové řetězce. Typ String a pole znaků. 12. Základní algoritmy s polem hodnot. Vkládání, odstraňování, vyhledání hodnoty, uspořádání dat. 13. Základy práce s textovým souborem. Načtení dat (čísel, textových řetězců) z formátovaného textového souboru. Formátovaný výstup dat z programu do textového souboru. 14. Vybrané prostředky jazyka Java a ukázka jejich použití - Arrays, ArrayList, LinkedList apod. Náplň cvičení: 1. Seznámení s prostředím jazyka Java. Struktura programu. 2. Vývojové prostředí, základní prostředky. 3. Formální zápis algoritmu základních typů úloh. 4. Číselné soustavy, převody mezi nimi. 5. Primitivní typy. Výpočty reálných a celočíselných výrazů. 6. Objektový typ. Metody. 7. Použití logických příkazů pro řízení běhu programu. Rozhodovací algoritmus. Formální zápis rozhodovacího stromu. 8. Použití cyklů pro řízení běhu programu. 9. Sekvenční zpracování dat. Základní algoritmická primitiva. 10. Použití datové struktury pole pro uchování dat. 11. Vícerozměrná pole a jejich použití. 12. Zpracování textové informace. 13. Zpracování dat v textovém souboru. 14. Zápočtový test. Předání samostatných zápočtových prací.

Studijní aktivity a metody výuky
Monologický výklad (přednáška, prezentace, vysvětlování), Cvičení
Výstupy z učení
Předmět je úvodem do problematiky programování v programovacím jazyce vyšší úrovně. Studenti se seznámí se základními postupy při algoritmizaci úloh a s realizací algoritmů zaměřených na zpracování čísel a jejich posloupností a textových informací pomocí výrazových prostředků programovacího jazyka Java.
Student získá znalosti v oblasti základních postupů algoritmizace úloh a realizace algoritmů zaměřených na zpracování čísel, jejich posloupností a textových informací v programovacím jazyce Java.
Předpoklady
Nespecifikováno

Hodnoticí metody a kritéria
Kombinovaná zkouška

Účast na cvičeních. Realizace zadané samostatné práce. Zápočtové testy. Složení zkoušky.
Doporučená literatura
  • CORMEN, T. H. Introduction to algorithms. 3rd ed.. Cambridge, Mass.: MIT Press, 2009. ISBN 978-02-6203-384-8.
  • HEROUT, P. Java - bohatství knihoven. České Budějovice, 2006. ISBN 80-7232-288-5.
  • HEROUT, P. Učebnice jazyka Java. Kopp, České Budějovice., 2003.
  • SCHILDT, H. Java 7: výukový kurz. Computer Press, Brno, 2008. ISBN 978-80-251-3748-2.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr
Fakulta: Fakulta mechatroniky, informatiky a mezioborových studií Studijní plán (Verze): Aplikované vědy v inženýrství (2019) Kategorie: Speciální a interdisciplinární obory 1 Doporučený ročník:1, Doporučený semestr: Zimní