Grading in this course will be very different than in your other computer science courses at Cornell. It will be graded portfolio style. This means that you will build up a portfolio of problems that you have solved (or contributed to the solution of) over the course of the semester. You will never be penalized for skipping over a problem, only solving part of a problem, or even solving a problem incorrectly. Instead, you will receive points award for the number and quality of your solutions which will go to determining your grade. In fact, it is often better to submit a wrong answer to a problem than to submit no answer at all.
You are eligible for receiving points for a problem in one of four ways:
To get full credit for a problem you must write up the solution an post on-line to the course Wiki. Source code may be posted without an additional write-up provided that it is properly commented. All submitted solutions will be available for review by the other students, so that they can examine them for mistakes or areas that need improvement. Hence your write-ups should be neatly presented.
In addition, you will earn points for class participation. These are not worth as much as solving problems, but they are important. In particular, they are meant to discourage the clever student who, realizing that there is no penalty for doing nothing, tries to earn all of his/her points in the last two weeks of class. The are three ways in which you can earn participation points:
The actual number of points needed to obtain a good grade is not determined. That is because the background of the students in this class is expected to vary, and grading often needs to be tailored to the level of the class. However, I will submit evaluation forms to you every two weeks starting the third week of class. These review forms will outline your achievements as well as my assessment of your performance so far. If the grade is not as high as you would like, I will the report will also give you suggestions for what you can do to improve this grade. While all of this may seem a little vague, if you consider that most classes have only a handful of exams with arbitrary questions on them, by the end of the course, you will discover that these reports are a very fair and reasonable form of grading.
This is intended to be a discussion course. Students are encouraged to try to present solutions that they may not be so sure of, just as other students are encouraged to find the problems with those solutions. With that said, it is import that we all be respectful of each other in class. The following rules must be obeyed at all times.
I have absolutely no problem with students working in groups. In fact, much of the time that we spend in class we will be discussing problems and hence working in groups. However, in the classroom, I can adequately gage how much everyone participated. If you work in groups outside of class, it becomes a little more difficult for me to evaluate you. In particular, I assign points according to how much work each member of the group contributed to solving the problem, and I need this information to assess everyone.
Fortunately, the grading system of the course, means that I can safely leave this information up to you and the honor system. Remember, grades in this course are totalled, not averaged. Therefore, there is nothing bad about only getting a few points on a problem -- it is better than no points at all. That means there is no need inflate the efforts of a minor contributor, and doing so only penalizes the people that did the work (because they get less points than they should have). Therefore, when you submit a group solution, I would like you to e-mail me a list of everyone who worked on the solution and exactly what they contributed to the solution; unlike the solution, this list will not be available to the other students online.
When students work on a problem in a group, one person should be chosen as the presenter when we discuss the solution in class. This person will receive a additional credit for the presentation, especially if he or she is able to field many questions about the solution. It is okay for a minor member of the group to be a presenter; many times this a good way to fairly distribute the points about the group.
I am of mixed mind about the use of external sources. On one hand, some of the problems that we will discuss are classic problems. Hence it is conceivable that the solution is available on-line. Getting a solution on-line and presenting it as your own is essentially plagiarizism and is in violation of the Code of Academic Integrity; it is no different than trying to pass off someone else's essay as your own. Needless to say, I discourage this use of external sources.
However, my experience with this class is that this is not really an issue. In your presentations, both I and the other students will challenge you to explain how you came up with the solution to the problem. If you cannot adequately explain this, then the whole purpose of the exercise is lost. This class is about how to come up with solutions, not the solutions themselves. Everyone typically gets this, so there is no reason to look-up the solutions online. With that said, it is still cheating, so please do not do it.
Where external sources are okay are in looking up well-known algorithms. Not everyone in this class has the same background. Some of you will be familiar with max-flow problems and others will not. A problem like computing Carmichael numbers becomes really easy if you know Korselt's Criterion. In this regard, external sources are good because they are the great equalizer among different students. While you are still doing the work solving the problem, they allow you to access that extra little tool that can help you. The use of external sources to find generic algorithms (as opposed to the specific solution to the problem) or theorems is fine. However, you should adequately document the algorithm/theorem and where you got it from. See Sources: Their Use and Acknowledgement on how to cite sources in computer programs.
If in doubt about your use of external sources, a good rule to follow is to "Google your work, not the problem". If you have any doubts or concerns, come ask me. As long as you are honest about your use of external sources, there are no repurcussions.
Cornell University Department of Computer Science
Last Updated: August 17, 2006