[[https://intranet.fel.cvut.cz/en/education/rozvrhy-ng.B231/public/html/predmety/43/56/p4356206.html|FEE timetable]] [[https://intranet.fel.cvut.cz/en/education/rozvrhy-ng.B231/public/html/paralelky/P43/56/par4356206.1.html|ALG students]] [[https://cw.felk.cvut.cz/brute/|Upload system BRUTE]] ====== Practices ====== ===== Semester organization ===== **Programming homeworks**\\ There are 6 programming homeworks in the semester. The total value of the homeworks is 12 points, the value of each one homework is 2 points. To obtain the assessment it it necessary to solve successfully a number of problems which yields at least 8 points. The homeworks are assigned and the solutions are evaluated in the [[https://cw.felk.cvut.cz/brute/|upload system BRUTE]]. **Upload system** \\ Communication with the upload system is described on the page [[courses:be5b33alg:upload_system| Upload System]].\\ Read it carefully. * Each homework implements some lecture topics, sometimes that topics might be only a part of the homework. To solve an advanced homework it may be necessary to acquaint oneself with another basic algorithm not covered in the lectures, for example shortest paths in weighted graphs, minimum spanning tree etc. * A successful solution of a homework must produce a correct result on at least 9 of 10 input data files. * 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 homeworks 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. **Homework deadlines **\\ assignment -- deadline 1. 29.9. -- 20.10. ( Asymptotic complexity ) 2. 13.10. -- 3.11. ( Tree traversal ) 3. 27.10. -- 17.11. ( Tree traversal ) 4. 10.11. -- 1.12. ( Graph search ) 5. 24.11. -- 15.12. ( Graph search ) 6. 8.12. -- 12.1. ( Graph search ) Correct 10 of given 10 test cases ... 2 pts Correct 9 of given 10 test cases ... 1 pt Correct 8 or less of 10 test cases ... 0 pts **Assessment**\\ * It is necessary to obtain at least 8 points for solving the programming homeworks. * 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}}. Online version: {{ :courses:be5b33alg:practices_02e_slow.pdf | pdf }}.\\ Practices 3. problems -- {{ :courses:be5b33alg:bintreeexamples.py | binary tree examples}}, {{ :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.// \\