Instructor: Dr. Daniel S. Roche, Michelson 356, x36814, .
Course Website: http://www.usna.edu/Users/cs/roche/courses/s16si486h
All textbooks are optional. They may be useful for extra help to supplement in-class lectures and online notes, and for future reference and further enrichment.
- Motwani and Raghavan. Randomized Algorithms. Cambridge University Press, 1995.
- Knuth. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 3rd ed. Addison-Wesley, 1997.
- Mitzenmacher and Upfal. Probability and Computing. Cambridge University Press, 2005.
This class will utilize a highly-simplified form of contract grading that has been shown to be effective in increasing student ownership and control over their own performance and reducing stress over grading.
Put simply, students will earn points by completing assigned work and answering exam questions correctly. At least 350 points' worth of work will be assigned, and each student is free to choose what they will complete. The following thresholds will be used to assign grades:
|Grade||6 weeks||12 weeks||Final|
Many small problems will be assigned during each lecture of varying point values; students can expect 15-20 points' worth of problems to be assigned each week. These problems will be given a deadline, numbered and put on the website for reference.
There are 13 "Problem Days" in the semester (most Tuesday lab meetings) in which students will present their solutions to these problems. For each problem that is due that day, if any student has completed it, then everyone must turn in their solutions to that problem and someone will be selected to present their solution on the board. There will be a 1-5 point bonus for presenting the solution on the board, depending on the difficulty of the problem and the quality of the presentation.
If no student has completed some problem by the deadline, then the deadline may be extended to the following Problem Day. At that time, if still no student has completed the problem, the instructor may present the solution.
Each submission will receive a grade of pass, revise, or fail. "Pass" means that the points will be awarded immediately. "Revise" means that some corrections need to be made, and then the work can be re-submitted for re-grading within 10 days. "Fail" means that no points will be awarded, and no revisions will be accepted. ("Fail" grades will be reserved only for submissions which demonstrate little to no effort or progress towards any correct solution.)
There will be two in-class midterm exams and a final exam. Each midterm will contain at least 20 points' worth of problems, and the final at least 30.
Students will be informed of their point totals at least weekly. To earn an "A" in the class, students should complete an average of 10 points' worth of assignments in class every week, and earn at least 80% of the points on the exams. There is considerable flexibility built-in to allow for changing schedules and demands in other classes; however it is each student's responsibility to ensure that they stay "on track" to achieve their desired grade.
Students may discuss any assigned problems with classmates, as long as this is is documented clearly on the submission. For the purposes of this class, discussion means talking between classmates about how to tackle a particular problem. Anything that is written down in a discussion (including code) must be erased or destroyed, and cannot be submitted. Students must wait at least one hour after any discussion before they sit down to write up their own solutions.
To be clear, if any classmate has seen anything you submit, that has gone beyond discussion and cannot be submitted as your own work.
In cases of more extensive collaboration, students may work together in groups of any size and submit just ONE assignment for the entire group.
If the problem is worth n points, the group will receive a total of ⌊1.4n⌋ points for their solution, to be split up among the group members. The assignment must state how the points will be divided up.
Each student is responsible to make up the work they miss due to planned absences such as movement orders for sports and extra-curricular activities as well as medical procedures. There will be no blanket exception to the late policy to account for absences. Generally, students should plan ahead and make arrangements with classmates or the instructor to ensure their work is submitted on time.
Discussion is allowed on any assignment, as long as it is clearly documented. More extensive collaboration must be documented as "group work". Help from any human not currently enrolled in SI 486H is never permitted. This includes other students not in the class, parents, friends, and even online humans (e.g., asking questions in an online forum or discussion board).
Any resources other than those on the course website must also be documented clearly and specifically. For example, if a website is used, the full address of the web page in question must be listed, along with what in the assignment that page was used for. Just saying "Wikipedia" is not enough, but something like "
en.wikipedia.org/wiki/Big_O_notation example used in problem 2" would be good.
The section leader is responsible for:
- Calling the class to attention and reporting any absences to the instructor at the beginning of class
- Contacting the department main office (x36800, MI 346) if the instructor is 10 minutes late, and making sure students do productive work in the instructor's absence.
No food or beverages (except in closable containers) are permitted in the classroom.