|
|
Main menu for Browse IS/STAG
Course info
KIV / PRO
:
Course description
Department/Unit / Abbreviation
|
KIV
/
PRO
|
Academic Year
|
2023/2024
|
Academic Year
|
2023/2024
|
Title
|
Programming Strategies
|
Form of course completion
|
Exam
|
Form of course completion
|
Exam
|
Accredited / Credits
|
Yes,
5
Cred.
|
Type of completion
|
Combined
|
Type of completion
|
Combined
|
Time requirements
|
Lecture
2
[Hours/Week]
Tutorial
2
[Hours/Week]
|
Course credit prior to examination
|
Yes
|
Course credit prior to examination
|
Yes
|
Automatic acceptance of credit before examination
|
No
|
Included in study average
|
YES
|
Language of instruction
|
Czech
|
Occ/max
|
|
|
|
Automatic acceptance of credit before examination
|
No
|
Summer semester
|
0 / -
|
0 / -
|
0 / -
|
Included in study average
|
YES
|
Winter semester
|
0 / -
|
39 / -
|
0 / -
|
Repeated registration
|
NO
|
Repeated registration
|
NO
|
Timetable
|
Yes
|
Semester taught
|
Winter semester
|
Semester taught
|
Winter semester
|
Minimum (B + C) students
|
10
|
Optional course |
Yes
|
Optional course
|
Yes
|
Language of instruction
|
Czech
|
Internship duration
|
0
|
No. of hours of on-premise lessons |
|
Evaluation scale |
1|2|3|4 |
Periodicity |
každý rok
|
Evaluation scale for credit before examination |
S|N |
Periodicita upřesnění |
|
Fundamental theoretical course |
No
|
Fundamental course |
Yes
|
Fundamental theoretical course |
No
|
Evaluation scale |
1|2|3|4 |
Evaluation scale for credit before examination |
S|N |
Substituted course
|
None
|
Preclusive courses
|
KIV/PRO-E
|
Prerequisite courses
|
N/A
|
Informally recommended courses
|
N/A
|
Courses depending on this Course
|
N/A
|
Histogram of students' grades over the years:
Graphic PNG
,
XLS
|
Course objectives:
|
To teach the students such algorithmic strategies which are not presented in the fundamental algoritmic courses, and improve knowledge of those which are already known to the students. To lead them to algorithmical thinking and to improvement of their ability to solve computer science problems.
|
Requirements on student
|
Processing of a set of smaller projects from the area of algorithmics and programming and presentation of developed solutions to classmates together with a defence of the solution and discussion about it. The student chooses an amount, topics and a type of work (theoretical, prsentational, implementational) him or herself from the given list in such a way to achieve at least the minimum required ammount of points. Other points can be obtained for activity in seminars. Points are included to the exam.
|
Content
|
1. Introduction into algorithms - correctness and efficacy of algorithms, robustness, analyses, problem solving
2.-6. Algorithmical strategies - brute force, greedy, incremental algorithms, divide & conquer, dynamic programmimg, backtracking
7. Randomized algorithms
8. Data stream algorithms
9. In-place and in situ algorithms
10. Heuristics and approximate solutions
11. Algorithmical complexity in real life
12. News and trends
13. Selected interesting "recreational" problems
|
Activities
|
|
Fields of study
|
Podklady přednášek v ČJ a AJ (soubory formátu pdf).
Namluvená česká verze přednášek (soubory formátu MP4).
|
Guarantors and lecturers
|
|
Literature
|
-
Basic:
Podklady k přednáškám a cvičením na I:\public_html\vyukaZCU.html
(Kolingerová, Ivana)
-
Basic:
Příklady ze soutěže ACM Programming Contest
(ACM)
-
Basic:
Skiena, Steven S. The algorithm design manual. New York : Springer, 1998. ISBN 0-387-94860-0.
-
Recommended:
Hromkovič, Juraj. Algorithmics for hard problems : introduction to combinatorial optimization, randomization, approximation, and heuristics. 2nd ed. Berlin : Springer, 2003. ISBN 3-540-44134-4.
-
Recommended:
Moret, Bernard M. E.; Shapiro, H. D. Algorithms from P to NP. Vol. 1, Design & efficiency. Redwood City : Benjamin/Cummings Publishing, 1991. ISBN 0-8053-8008-6.
-
Recommended:
Rawlins, Gregory J. E. Compared to what? : an introduction to the analysis of algorithms. New York : Computer Science Press, 1992. ISBN 0-7167-8243-X.
-
Recommended:
Dvořák, Stanislav. Dekompozice a rekursivní algoritmy. Praha : Grada, 1992. ISBN 80-85424-76-2.
-
Recommended:
Gonnet, Gaston H.; Baeza-Yates, R. Handbook of algorithms and data structures : in Pascal and C. Wokingham : Addison-Wesley, ----. ISBN 0-201-41607-7.
-
Recommended:
Michalewicz, Z.; Fogel, D.B. How to solve it: Modern Heuristics. Springer-Verlag, 2000.
-
On-line library catalogues
|
Time requirements
|
All forms of study
|
Activities
|
Time requirements for activity [h]
|
Contact hours
|
52
|
Preparation for an examination (30-60)
|
40
|
Presentation preparation (report) (1-10)
|
5
|
Individual project (40)
|
40
|
Total
|
137
|
|
Prerequisites
|
Knowledge - students are expected to possess the following knowledge before the course commences to finish it successfully: |
samostatně vytvořit jednoduchý algoritmus |
využívat v algoritmizaci datové struktury pole, seznam, strom |
Skills - students are expected to possess the following skills before the course commences to finish it successfully: |
programovat v jazyce Java nebo C nebo C++ nebo C# nebo Pascal/Delphi |
samostatně studovat odbornou literaturu z oblasti informatiky |
Competences - students are expected to possess the following competences before the course commences to finish it successfully: |
N/A |
N/A |
|
Learning outcomes
|
Knowledge - knowledge resulting from the course: |
- fundamental algorithmic strategies andtheir use to solve a particular problem with a particular type of data, |
- knowledge of further modern methods, such as randomized, data stream and in-place algorithms, |
- brief information about news and trends in the area of algorithmics, |
Skills - skills resulting from the course: |
- design of algorithms to solve particular problems. |
- evaluation of suitability of an algorithm for a given problem |
- understanding and shortened survey of a computer science text |
- analysis of a simpler programming work with documentation |
Competences - competences resulting from the course: |
N/A |
N/A |
N/A |
|
Assessment methods
|
Knowledge - knowledge achieved by taking this course are verified by the following means: |
Written exam |
Oral exam |
Project |
Individual presentation at a seminar |
Skills - skills achieved by taking this course are verified by the following means: |
Project |
Individual presentation at a seminar |
|
Teaching methods
|
Knowledge - the following training methods are used to achieve the required knowledge: |
Lecture |
Task-based study method |
Individual study |
Students' portfolio |
Textual studies |
Skills - the following training methods are used to achieve the required skills: |
Practicum |
Task-based study method |
Students' portfolio |
Individual study |
|
|
|
|