460-2022/02 – Programming Seminar (SPR)

Gurantor departmentDepartment of Computer ScienceCredits4
Subject guarantordoc. Ing. Zdeněk Sawa, Ph.D.Subject version guarantordoc. Ing. Zdeněk Sawa, Ph.D.
Study levelundergraduate or graduateRequirementOptional
Year3Semesterwinter
Study languageEnglish
Year of introduction2015/2016Year of cancellation2020/2021
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
SAW75 doc. Ing. Zdeněk Sawa, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Graded credit 0+2
Combined Graded credit 0+10

Subject aims expressed by acquired skills and competences

Students will be able to design and implement efficient algorithms for solving different problems, they will be able to analyse computational complexity of algorithms and to use different techniques such as dynamic programming, greedy algorithms and different techniques of searching. Student will know algoritms for solving of some classical combinatorial problems. One of the goals of the seminar is to prepare students for ACM programming contest, so the emphasis will be put on implementation of algorithms in programming languages C/C++ and Java. - the knowledge of different programming techniques that can be used in design of algoritms - the ability to analyse computational complexity of algorithms - the ability to implement algorithms efficiently

Teaching methods

Seminars
Project work

Summary

The subject is devoted to design, analysis and verification of algorithms with emphasis on finding of efficient algorithms from the point of view of computational complexity. The aim of the course is to learn different techniques commonly used in the design of algorithms, such as dynamic programming, greedy algorithms, and some metheds used for a searching in a state space. The use of these techniques is illustrated on many problems from different areas of computer science.

Compulsory literature:

- Skiena, S. S., Revilla, M. A.: Programming Challenges: The Programming Contest Training Manual, Springer, 2003. - Cormen, T. H., Leiserson, R. L., Rivest, R. L., Stein, C.: Introduction to Algorithms, MIT Press 2001. - Dasgupta, S., Papadimitriou, C., Vazirani, U.: Algorithms, McGraw-Hill, 2006.

Recommended literature:

- Skiena, S. S.: The Algorithm Design Manual, Springer, 1998. - Knuth, D. E.: The Art of Computer Programming, Volumes 1-3, (2nd edition), Addison-Wesley Professional, 1998. - Graham, R. L., Knuth, D. E., Patashnik, O.: Concrete Mathematics: A Foundation for Computer Science, Addison-Wesley Professional, 1994. - Sedgewick, R.: Algorithms in C (3rd edition), Addison-Wesley Professional, 1997.

Way of continuous check of knowledge in the course of semester

Conditions for credit: To obtain credits, a student must work actively on seminars and solve enough problems to get at least 51 point for solved problems. (Remark: Some point can be also obtained for problems solved in the programming contest CTU Open). By solving the problems the students show their ability to find and implement efficient algoritms.

E-learning

Další požadavky na studenta

Additional requirements are placed on the student.

Prerequisities

Subject has no prerequisities.

Co-requisities

Subject has no co-requisities.

Subject syllabus:

1. Introduction. Time complexity. Asymptotic notation. 2. Data structures. 3. Recursive algorithms. 4. Dynamic programming. 5. Greedy algorithms. 6. Graph algorithms. 7. Graph algorithms (cont.). 8. Number theory. 9. Combinatorics. 10. Games. 11. Permutations and their usage for solving of puzzles. 12. Computational geometry.

Conditions for subject completion

Combined form (validity from: 2015/2016 Winter semester, validity until: 2020/2021 Summer semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of points
Graded credit Graded credit 100  51
Mandatory attendence parzicipation: attendance at at least 4 tutorials

Show history

Occurrence in study plans

Academic yearProgrammeField of studySpec.FormStudy language Tut. centreYearWSType of duty
2019/2020 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P English Ostrava 3 Optional study plan
2019/2020 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P English Ostrava 3 Optional study plan
2019/2020 (B2647) Information and Communication Technology (2612R059) Mobile Technology P English Ostrava 3 Optional study plan
2019/2020 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K English Ostrava 3 Optional study plan
2019/2020 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K English Ostrava 3 Optional study plan
2019/2020 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K English Ostrava 3 Optional study plan
2019/2020 (B2647) Information and Communication Technology (2612R059) Mobile Technology K English Ostrava 3 Optional study plan
2019/2020 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 3 Optional study plan
2018/2019 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P English Ostrava 3 Optional study plan
2018/2019 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P English Ostrava 3 Optional study plan
2018/2019 (B2647) Information and Communication Technology (2612R059) Mobile Technology P English Ostrava 3 Optional study plan
2018/2019 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K English Ostrava 3 Optional study plan
2018/2019 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K English Ostrava 3 Optional study plan
2018/2019 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K English Ostrava 3 Optional study plan
2018/2019 (B2647) Information and Communication Technology (2612R059) Mobile Technology K English Ostrava 3 Optional study plan
2018/2019 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 3 Optional study plan
2017/2018 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P English Ostrava 3 Optional study plan
2017/2018 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K English Ostrava 3 Optional study plan
2017/2018 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P English Ostrava 3 Optional study plan
2017/2018 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K English Ostrava 3 Optional study plan
2017/2018 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 3 Optional study plan
2017/2018 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K English Ostrava 3 Optional study plan
2017/2018 (B2647) Information and Communication Technology (2612R059) Mobile Technology P English Ostrava 3 Optional study plan
2017/2018 (B2647) Information and Communication Technology (2612R059) Mobile Technology K English Ostrava 3 Optional study plan
2016/2017 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P English Ostrava 3 Optional study plan
2016/2017 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K English Ostrava 3 Optional study plan
2016/2017 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P English Ostrava 3 Optional study plan
2016/2017 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K English Ostrava 3 Optional study plan
2016/2017 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 3 Optional study plan
2016/2017 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K English Ostrava 3 Optional study plan
2016/2017 (B2647) Information and Communication Technology (2612R059) Mobile Technology P English Ostrava 3 Optional study plan
2016/2017 (B2647) Information and Communication Technology (2612R059) Mobile Technology K English Ostrava 3 Optional study plan
2015/2016 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P English Ostrava 3 Optional study plan
2015/2016 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K English Ostrava 3 Optional study plan
2015/2016 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P English Ostrava 3 Optional study plan
2015/2016 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K English Ostrava 3 Optional study plan
2015/2016 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 3 Optional study plan
2015/2016 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K English Ostrava 3 Optional study plan
2015/2016 (B2647) Information and Communication Technology (2612R059) Mobile Technology P English Ostrava 3 Optional study plan
2015/2016 (B2647) Information and Communication Technology (2612R059) Mobile Technology K English Ostrava 3 Optional study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner