456-0549/01 – Algorithms I (ALG I)

Gurantor departmentDepartment of Computer ScienceCredits6
Subject guarantordoc. Mgr. Jiří Dvorský, Ph.D.Subject version guarantordoc. Mgr. Jiří Dvorský, Ph.D.
Study levelundergraduate or graduate
Study languageCzech
Year of introduction2009/2010Year of cancellation2009/2010
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
ABD006 Ing. Hussam Abdulla, Ph.D.
DVO26 doc. Mgr. Jiří Dvorský, Ph.D.
GAJ03 doc. Ing. Petr Gajdoš, Ph.D.
HAV267 Ing. Petr Havrlant
OH140 RNDr. Eliška Ochodková, Ph.D.
PLA06 doc. Ing. Jan Platoš, Ph.D.
POH034 Ing. Milan Pohančeník
SCH317 Ing. Peter Scherer
SIL055 Ing. Tomáš Šilhavý
STA514 Ing. Martin Staník
VAJ049 Ing. Robert Vajdík
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Graded credit 2+2
Combined Graded credit 10+0

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

Další požadavky na studenta

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

Conditions for completion are defined only for particular subject version and form of study

Occurrence in study plans

Academic yearProgrammeField of studySpec.FormStudy language Tut. centreYearWSType of duty
2009/2010 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P Czech Ostrava 1 Compulsory study plan
2009/2010 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P Czech Ostrava 1 Compulsory study plan
2009/2010 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P Czech Ostrava 1 Compulsory study plan
2009/2010 (B2647) Information and Communication Technology (2612R059) Mobile Technology P Czech Ostrava 1 Compulsory study plan
2009/2010 (B2647) Information and Communication Technology P Czech Ostrava 1 Compulsory study plan
2009/2010 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K Czech Ostrava 1 Compulsory study plan
2009/2010 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K Czech Ostrava 1 Compulsory study plan
2009/2010 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K Czech Ostrava 1 Compulsory study plan
2009/2010 (B2647) Information and Communication Technology (2612R059) Mobile Technology K Czech Ostrava 1 Compulsory study plan
2009/2010 (B2647) Information and Communication Technology K Czech Ostrava 1 Compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner