[[https://intranet.fel.cvut.cz/cz/education/rozvrhy-ng.B251/public/html/predmety/43/56/p4356206.html|FEE timetable]] [[https://intranet.fel.cvut.cz/cz/education/rozvrhy-ng.B251/public/html/predmety/43/56/fsl-p4356206.html|ALG students]] [[https://cw.felk.cvut.cz/brute/|Upload system BRUTE]] ====== Practices ====== ===== Semester organization ===== **Homework** * There are 6 homework programming tasks in the semester. * The total value of the tasks is 36 points, the value of each one task is 6 points. * The tasks are assigned and the solutions are evaluated in the [[https://cw.felk.cvut.cz/brute/|upload system BRUTE]]. * Each task relates to some lecture topics. Sometimes that topics might be only a part of the homework. assignment -- deadline 1. 22.9. -- 13.10. ( Asymptotic complexity ) 2. 6.10. -- 27.10. ( Tree traversal ) 3. 20.10. -- 10.11. ( Tree traversal ) 4. 3.11. -- 24.11. ( Graph search ) 5. 24.11. -- 22.12. ( Graph search ) 6. 1.12. -- 12.1. ( Graph search ) Correct 10 of given 10 test cases ... 6 pts Correct 9 of given 10 test cases ... 5 pts Correct 8 of given 10 test cases ... 4 pts Correct 7 of given 10 test cases ... 3 pts Correct 6 of given 10 test cases ... 2 pts Correct 5 of given 10 test cases ... 1 pts Correct <5 of given 10 test cases ... 0 pts A penalty is applied to each homework solution submitted after the deadline: -1 point immediately, and an additional -1 point for each subsequent week of delay, up to a maximum of -3 points. The final score for a homework assignment, however, cannot be negative. **Upload system** * Communication with the upload system is described on the page [[courses:be5b33alg:upload_system| Upload System]]. Read it carefully. * A successful solution has to be effectively implemented. * A time limit is specified for each input data file. * The limit varies between 1 and few tens of seconds for different inputs. * The solution must produce the result within the time limit. * The deadlines of the homework are fixed. Individual plan can be agreed upon in case of prolonged sickness, foreign trip or other important causes. * The [[https://cw.felk.cvut.cz/forum/forum-1683.html|Discussion board]] may help with discussions about the homeworks and other issues of the course. **Mid-term tests** There will be two short midterm tests on the practicals, each worth 6 points. - November 3rd 2025 on complexity and trees; - December 1st 2025 on search algorithms. Tests are not supposed to be hard nor long; expect around 5 questions and roughly 20 minutes time budget. There is no required minimum of obtained points per either of the test. **Assessment** Remember, that you are required to obtain at least 24 points from the semester, i.e., from the homework and midterm tests combined in order to obtain "assessment". You are allowed to attempt the exam even before obtaining the assessment. However, obtaining an "assessment" is a necessary condition to pass the course and obtain a final grade. **Plagiarism and Ethics** It is vitally important to avoid plagiarism in the homeworks, read carefully the rules of [[:help/common/plagiarism_cheating| Plagiarism]]. Consult the teacher //in advance// if there is anything unclear to you in this regard. ===== Practices problems ===== Practices 1. problems -- (complexity) -- {{ :courses:be5b33alg:semin_02e.pdf | pdf }}, additional: {{ :courses:be5b33alg:algesem01.pdf | pdf }}.\\ Practices 2. problems -- (tree traversal) -- {{ :courses:be5b33alg:semin_03e.pdf | pdf}}. With solutions: {{:courses:ae4b33alg:cv3esol.docx| here}}. Other solutions. {{ :courses:be5b33alg:lab03e_sol2.pdf |}} Online version: {{ :courses:be5b33alg:practices_02e_slow.pdf | pdf }}.\\ Practices 3. problems -- {{ :courses:be5b33alg:bintreeexample_new.py | new example of binary tree implementation }} {{ :courses:be5b33alg:bintreeexamples.py | old binary tree example }} {{ :courses:be5b33alg:bintreeproblems.py | A. binary tree problems}}, {{ :courses:be5b33alg:recproblems.py | B. more recursive problems}} -- write as many as possible working solutions of problems in A. and B. \\ Practices 4. problems -- continue with recursion and tree problems \\ Practices 5. problems -- (graph traversal) -- {{:courses:be5b33alg:cv05e.docx| doc}}. With solutions: {{:courses:be5b33alg:cv05esol.docx| doc}}. \\ Practices 6. problems -- (recursion, recurrences) -- {{ :courses:be5b33alg:semin_02ee.pdf |pdf }}. With solutions: {{ :courses:be5b33alg:cv3esol.docx |here}}.\\ [[https://nrich.maths.org/content/00/12/game1/frogs/index.html#/student/2/2|jumping frogs/BFS]] Practices 7. problems -- (search trees, state space search){{ :courses:be5b33alg:cv6e.docx | docx }}. \\ Practices 8. problems -- (AVL and B-trees) -- {{ :courses:be5b33alg:cv7e.docx | docx }} .\\ Practices 9. problems -- (O(n^2) and O(n log(n)) sorts, binary heap) -- {{ :courses:be5b33alg:cv4e.docx |docx}}, {{ :courses:be5b33alg:cv8e.docx | doc}}\\ Practices 10. problems -- (O(n) sorts) -- {{ :courses:be5b33alg:semin_09e.pdf |pdf}}.\\ Practices 11. problems -- (Dynamic programming I) -- {{ :courses:be5b33alg:cv10e.doc | doc}}. With solutions: {{ :courses:be5b33alg:cv10res_e.doc | doc}}. \\ Practices 12. problems -- (Dynamic programming II) -- {{ :courses:be5b33alg:cv11e.docx | doc}} \\ Practices 13. problems -- (Hash tables I) -- //I and II: {{ :courses:be5b33alg:cv14e.docx | doc}} // \\ Practices 14. problems -- (Hash tables II) -- dtto \\ Practices 14. problems -- (Multi Dim sorts, median search) -- //In preparation.// \\