
Course RequirementsLecture attendance is a course requirement, although attendance is not recorded. The course requirements for CO 466/666 include seven problem sets and a final exam. The problem sets are part written exercises and part programming. The written exercises involve design and analysis of algorithms and require mathematical proofs in many cases. The programming is in MATLAB on either Unix or Windows workstations. MATLAB is a highlevel language for numerical computation. Prior knowledge of MATLAB is not a prerequisite of the course. Assignments are due before the start of class on due date. There is a late penalty of 10% for problem sets handed in up to 24 hours late. No problem sets are accepted more than 24 hours late.The take home exam is a three day exam in Apr. TBA. You may bring one 8.5by11 sheet of paper with handwritten notes. The exam covers topics drawn from the lectures and homework, and from the underlying mathematicsyou are not responsible for any outside reading. MarkingThe problem sets count for 50% of the final mark and the final exam counts for the other 50%. The lowest scoring problem set out of the seven is dropped. One of the homeworks may be skipped, in which case this is the one that is dropped.Academic integrity policyStudents are allowed to collaborate on the problem sets to the extent of formulating ideas as a group. Each student is expected to write up the problem set by himself or herself. Students must not hand in homework that represents somebody else's ideas entirely. Students should do the coding for programming questions by themselvesno program code should be shared. 
Henry Wolkowicz, Department of Combinatorics and Optimization, University of Waterloo, 200 University Ave. W., Waterloo, ON N2L 3G1, http://orion.uwaterloo.ca/~hwolkowi/
handed out 2012Jan4.