460-2022/03 – 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 languageCzech
Year of introduction2019/2020Year of cancellation
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 2+2
Part-time Graded credit 0+18

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

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 algorithms.

E-learning

Other requirements

No additional requirements are placed on the student.

Prerequisities

Subject has no prerequisities.

Co-requisities

Subject has no co-requisities.

Subject syllabus:

Lectures: 1. Introduction. Time complexity. Asymptotic notation. 2. Data structures. 3. Recursive algorithms. 4. Greedy algorithms. 5. Dynamic programming. 6. Dynamic programming (cont). 7. Graph algorithms. 8. Graph algorithms (cont.). 9. Number theory. 10. Combinatorics. 11. Games. 12. Permutations and their usage for solving of puzzles. 13. Computational geometry. Tutorials: (Remark: The topics of tutorials correspond to the topics of lectures.) 1. Introduction. Time complexity. Asymptotic notation. 2. Data structures. 3. Recursive algorithms. 4. Greedy algorithms. 5. Dynamic programming. 6. Dynamic programming (cont). 7. Graph algorithms. 8. Graph algorithms (cont.). 9. Number theory. 10. Combinatorics. 11. Games. 12. Permutations and their usage for solving of puzzles. 13. Computational geometry.

Conditions for subject completion

Part-time form (validity from: 2019/2020 Winter semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of pointsMax. počet pokusů
Graded credit Graded credit 100  51 3
Mandatory attendence participation: Attendance on exercises is mandatory and it is examined. The guarantor of the course will inform students about the extent of the mandatory attendance at the beginning of a semester.

Show history

Conditions for subject completion and attendance at the exercises within ISP: Completion of all mandatory tasks within individually agreed deadlines.

Show history

Occurrence in study plans

Academic yearProgrammeBranch/spec.Spec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2024/2025 (B0613A140014) Computer Science P Czech Ostrava 3 Optional study plan
2024/2025 (B0613A140014) Computer Science K Czech Ostrava 3 Optional study plan
2024/2025 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2024/2025 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2023/2024 (B0613A140014) Computer Science K Czech Ostrava 3 Optional study plan
2023/2024 (B0613A140014) Computer Science P Czech Ostrava 3 Optional study plan
2023/2024 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2023/2024 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2022/2023 (B0613A140014) Computer Science K Czech Ostrava 3 Optional study plan
2022/2023 (B0613A140014) Computer Science P Czech Ostrava 3 Optional study plan
2022/2023 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2022/2023 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2022/2023 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P Czech Ostrava 3 Optional study plan
2022/2023 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K Czech Ostrava 3 Optional study plan
2021/2022 (B0613A140014) Computer Science P Czech Ostrava 3 Optional study plan
2021/2022 (B0613A140014) Computer Science K Czech Ostrava 3 Optional study plan
2021/2022 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2021/2022 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (1103R031) Computational Mathematics P Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology P Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (1103R031) Computational Mathematics K Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2601R013) Telecommunication Technology K Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R059) Mobile Technology P Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R059) Mobile Technology K Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K Czech Ostrava 3 Optional study plan
2020/2021 (B0613A140014) Computer Science K Czech Ostrava 3 Optional study plan
2020/2021 (B0613A140014) Computer Science P Czech Ostrava 3 Optional study plan
2020/2021 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2020/2021 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2019/2020 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2019/2020 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2019/2020 (B0613A140014) Computer Science P Czech Ostrava 3 Optional study plan
2019/2020 (B0613A140014) Computer Science K Czech Ostrava 3 Optional study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner

Assessment of instruction



2023/2024 Winter
2022/2023 Winter
2021/2022 Winter