456-0549/01 – Algorithms I (ALG I)
Gurantor department | Department of Computer Science | Credits | 6 |
Subject guarantor | doc. Mgr. Jiří Dvorský, Ph.D. | Subject version guarantor | doc. Mgr. Jiří Dvorský, Ph.D. |
Study level | undergraduate or graduate | Requirement | Compulsory |
Year | 1 | Semester | winter |
| | Study language | Czech |
Year of introduction | 2009/2010 | Year of cancellation | 2009/2010 |
Intended for the faculties | FEI | Intended for study types | Bachelor |
Subject aims expressed by acquired skills and competences
Acquaint students with the basics of structured programming, the basics of C + +. After completing the course, students will be able to:
Work with integrated development environment for C++.
Develop and debug a simple program C++.
Use data structures such as. array, list, etc.
Write a recursive function.
Use sorting and searching algorithms in their programs.
Teaching methods
Lectures
Tutorials
Summary
This subject is the introductory programming course. For students it is assumed the general orientation in computer technology and secondary mathematics. Discussed algorithms and data structures will be demonstrated in C++. A large emphasis is placed on practical implementation discussed algorithms and data structures. Students are encouraged analysis and synthesis solutions to the problems of smaller units.
Compulsory literature:
Cormen, Leiserson, Rievest: Introduction to Algorithms, The MIT Press; 3rd edition, 2009, ISBN-13: 978-0262033848
Sedgewick: Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching, Addison-Wesley Professional; 3rd edition, 1998, ISBN-13: 978-0201350883
Schildt: Teach Yourself C++, McGraw-Hill Companies; 3rd edition, 1997, ISBN-13: 978-0078823923
Recommended literature:
Cormen, Leiserson, Rievest: Introduction to Algorithms, MIT Press, 2001.
Way of continuous check of knowledge in the course of semester
Podmínky udělení zápočtu
Realizace a obhajoba projektu.
Programování jednoduchých aplikací na cvičeních
E-learning
Other requirements
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Náplň přednášek
Úvodní přednáška, organizační záležitosti
První program v C++, algoritmus, program, překlad, procesor, proces
Proměnné, konstanty, datové typy
Řídící konstrukce jazyka (sekvence, větvení, cyklus)
Strukturované programování v C++, funkce a jejich parametry, volání funkcí
Pole
Vyhledávání v poli (sekvenční, půlením intervalu)
Seznam, fronta, zásobník
Rekurze, vymezení pojmu, příklady, jednoduchý backtracking
Třídění, vymezení problému, adresní třídění
Základní třídící algortimy (třídění vkládáním, výběrem, bublinové)
Pokročilé třídící algoritmy (QuickSort, HeapSort, MergeSort)
Náplň počítačových cvičení
Seznámení se s vývojovým prostředím, plánováno Visual Studio 2008
Implementace a ladění triviálních programů - Hello world
Implementace a ladění programů se základními konstrukcemi např. výpočet největšího společného dělitele
Práce s funkcemi, parametry volané hodnotou, odkazem, konstantní parametry
Práce s polem
Implementace algoritmů vyhledávání v poli
Implementace zásobníku, ukázky využití
Rekurzivní funkce
Rekurzivní funkce
Třídící algoritmy
Náplň projektů
Zadání projektů budou směřována k využití třídících a vyhledávacích algoritmů, práci s poli a podobně.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction