Design and Analysis of Algorithms (4 cu) Period I, Fall 2013 Summary and comments on course feedback November 11, 2013 (MK), revised December 3, 2013 (MK) Added comments based on the renewal exam: Over 20 students were registered for the renewal exam. However, apparently only 13 attended the actual exam session, of which only 8 returned at least onee signed paper sheet. Three (3) got 24 or more points, out of the maximum 60 (including exercise points), and so passed the exam; the rest 5 failed. The failed answers suggest that there are severe deficiencies in quite basic mathematical reasoning. The students seem not ready for taking the advanced level course. The instructor wonders how they could have passed earlier courses in math, in algorithms and data structures, and in programming. By Dec 3, no new course feedback was received via the anonymous course feedback system. Basic information: The course belongs to advanced studies and is mandatory to students in the specialization area of algorithms and machine learning. The course takes a traditional form: six weeks of lectures, 4 hours per week; weekly exercise sessions; a 2.5-hour exam (held on Oct 15). The course follows very closely selected chapters of the course book (CLRS, 3rd ed.). Lectures are given mostly using a black board, essentially no lecture slides are made available. A large number of students (52) registered for the course, 34 attended at least some of the course activities. The course exam was attended by 34 students, of which 15 passed the course, with grade distribution (5*** 4** 3**** 2** 1****). The renewal exam will take place on Nov 26 ---at the moment, 22 students have registered for the renewal exam. Student feedback: By Nov 11, we received a total of 18 entries via the anonymous course feedback system. The variance among the entries is generally very high for most of the five specific feedback questions, however always peaking at the best grade 5. Regarding the clarity of learning objectives and the supportiveness of learning material, about a half of the responses were nearly uniformly distributed between 1 and 4, the other half falling in 5. Regarding the supportiveness of the activities and the assessment of the course, the grade distributions again peaked at 5, even if less heavily; the second highest peak was at 4. The average grade on the first four questions varied from 3.6 to 3.9. In almost all feedback entries the course was marked as quite laborious (mode at 4-5), the average being 4.4. As a whole, the course was graded as follows: 5***, 4******, 3******, 2**, 1*, the average being 3.4. While the verbal comments also show high variability, reflecting the numeric scores, a couple of issues occur repeatedly. First, many thought the exercises were really hard. Second, some thought the lectures were not that useful, since one has to study the course book anyway. Reflections by the instructor: The feedback seems to stem from the students' heterogeneous background and somewhat unjustified expectations. Many of the respondents seem to have not taken seriously the central role of the course book: almost all the exercises were taken from the book; many of the exam questions were taken from the book; lecture slides or notes are not made available simply because they would just repeat what is in the book. The material covered in the course occupy about 250-280 pages of the book (including exercises and problems, excluding what is assumed as prerequisite). This should be a fair number of pages, for the exposition in the book is not very dense but quite gentle. There also seems to be some misunderstanding concerning the nature of lectures and exercises. Namely, there are good reasons why much of the technicalities are skipped in a hand-wavy manner during the lectures, but not in the exercises (or in the exam): (a) It is assumed that the student already masters the needed math routines (e.g., induction proofs)---they must have been learned in basic math courses and prior CS courses (in the data structures course in particular). (b) Some are slower and some are faster at technical reasoning. Therefore, everybody should take his/her individual time, which comes ideally true in solving exercise problems. Suggested changes for the next realization of the course: 1. Stress even more the importance and role of the course book: "Most probably you will not pass the course without it". 2. Consider making some exercise easier to approach by breaking the solution into two phases (a and b). 3. At the very beginning of the course, test that the serious attendees of the course have a sufficient background (e.g. questions on the materials from the data structures and discrete math courses). Those who seem not have sufficient backgroud knowledge and skills are encouranged to quit right away. 4. At the lectures, consider allocating some time for problem solving in groups. For example, in the first lecture hour, give the main ideas and definitions and perhaps a toy example; start the second lecture hour by a related problem solving task.