It is important for you to realize what grades in this class reflect and what they don't reflect. All we can grade you on is how well you demonstrate that you know the material this semester. We can't grade you on how much of a success you'll be after graduation, how smart/creative/persistent/self-motivated you are, or even how well you'll be able to apply the material in the future. And after all, it is what you do in the future, not what you do this semester, that's really important.
That said, grades will be determined as follows:
|Written Homeworks||5||as announced|
|Class Attendance and Participation||5||iClicker|
|Programs (4++)||40||as announced in class|
|Exam 1 - 1st 1/2 of material||25||Wednesday, October 17. In class.|
|Exam 2 - 2nd 1/2 of material||25||Wednesday, December 5. In class.|
Note: There is no final exam.
The course will be graded on a curve, with the score-to-letter-grade mapping determined by the instructor based on factors such as the difficulty of an assignment, the types of errors people are making, etc. During the semester, I will give rough estimates of where grade cut-offs lie, but these will be deliberately somewhat vague; if knowing where a cut-off is within a few points will affect how you study, you're worrying too much about grades and not enough about the material (Plus, it's a really bad idea to gauge your effort by what you think you need to make to get a particular letter grade). I want everyone in the class to do well, and if everyone masters the material and gets good marks, I will happily abandon the curve and give "extra" A's and B's. In particular, I guarantee that anyone who gets a grade of 90% or more of the total points will get an A, anyone with 80% or more will get at least a B, and anyone with 70% or more of the points will get at least a C.
I grade on a curve rather than an absolute scale because it protects students from stressing out if I happen to give an overly hard midterm or final. The downside of grading on a curve is that it tends to lead students to think they are competing against each other. In practice, this worry is misplaced. First, I will set grade cut-offs for each assignment to correspond to the quality of the work and depth of understanding reflected by each range of scores not by the number of students that make each range of scores. Second, note that the impact of any individual score on the overall class distribution is trivial -- for example someone making a 10% better grade on a midterm raises the class semester average by something like 0.1%.
Also, for this type of project students often stress about whether they will be penalized because their project may not be as elaborate as that of some of the other groups in the class. Again, this is not something to worry about. The project is hard enough without looking over your shoulder at other students. By and large, most students do quite well on the project -- the consequence is that the project has less effect than you might think on the curve. A warning, however: if you punt the projects, you will fail the course.
In some courses, the TAs and instructor have to spend a lot of time dealing with regrading appeals, time that would be better spent helping students learn the material. Absolutely come to us if we make an arithmetic error, but realize that a few points here and there are extremely unlikely to make any difference in your final grade. If you believe that we assigned too little credit for your work, you may submit your work for a regrade under the following restrictions. (1) All regrade requests must be submitted with a clear, written statement that explains why you believe the original grade was incorrect. (2) All requests for regrades must be submitted within 1 calendar week of when the graded work is returned. (3) We will regrade the entire exam, problem set, or project assignment (using your original solution), and if we were overly generous we will deduct points. Thus, you grade can go up or down on a regrade.
No extensions will be given for completing the programming projects, except that each student will be allowed 5 flexible slip days for the projects. Each student may divide their slip days across projects in any way they wish to extend deadlines for the projects. To help the TA track your slip-day status, the top of each project's README file or main-file-comment must include:
Name1: ___________ EID1: _______ Slip days used (this project): _______ Slip days used (total): ______
Name2: ___________ EID2: _______ Slip days used (this project): _______ Slip days used (total): ______
Slip days will be tracked at the granularity of a day; if an assignment is 1 minute late, it is one day late.
Once you exhaust your slip days, a late project will receive a 0.
Exemptions of the above rules will be allowed in three cases, all of which require (you) involving the Dean's office:
No extensions will be given for any other reason, including participation in the Annual Elbonian Cultural Festival, death of a former president, a critical job interview or business trip, or a potluck lunch for the local chapter of a political party (yes, we have received such requests in the past). Use your slip days wisely.
A major part of the homeworks is to prepare for the weekly discussion section. Therefore, no late homeworks will be accepted, and you cannot use slip days for homeworks. That said, we know that life can get busy and unexpected things arise; therefore, we will drop your lowest two homework scores.
We encourage you to discuss the problem sets and programming
assignments with your colleagues. We welcome discussions of possible
interpretations of questions, solution approaches, and points of
confusion. You are also welcome to use existing public libraries in
your programming assignments (such as public classes for queues,
trees, etc.) You may also look at operating systems code for public
domain software such as Linux. Such activities qualify under approved
collaboration practices and you are welcome to take advantage of
them. You may not look at any course project material relating to
any project similar to this course's class projects. For example,
you may not look at the work done by a student in past years'
courses, and you may not look at similar course projects at other
universities. If you are unsure about whether a particular
source of external information is permitted, contact the instructor
before looking at it.
Note that cooperation is not the same thing as cheating. You must understand and generate the solution, and you must not copy all or part of someone else's solution. The project assignments and exams must be the work of the student turning them in. Students who violate University rules on scholastic dishonesty are subject to disciplinary penalties, including the possibility of failure in the course and/or dismissal from the University. Because such dishonesty harms the individual, all students, and the integrity of the University, policies on scholastic dishonesty will be strictly enforced.
It is generally OK to verbally discuss the concepts needed to do implement the projects. These discussions should focus on overall approach and understanding, not the detailed answer to the specific problem. Three guidelines will help you keep on the right side of the line.
Note that these guidelines are necessarily generalizations and can not account for all circumstances. Intellectual dishonesty can end your career, and it is your responsibility to stay on the right side of the line. If you are not sure about something, ask.
Besides twice-weekly lectures and weekly lab/discussion sections, the class will consist of assigned readings, labs, homeworks, and exams.
You are required to attend class (both the regular lectures and the lab/discussion sections), and you are responsible for knowing or learning any material presented in class. If you must miss class, you are not required to inform the instructor, but you are responsible for learning any material you missed. The instructor posts detailed notes for each class on the course web site, but classes are interactive, so the actual discussion may depart from the notes. The best way to know what actually happened in a class is to be there and participate; if you must miss a class, you should study the notes carefully and perhaps talk to your colleagues about the technical topics discussed and their take on what points were particularly emphasized.
There will be two exams on the dates indicated on the class schedule. If you have a preexisting, important, and unresolvable conflict with a midterm, let the instructor know during the first two weeks of class, and, if appropriate, we will schedule a makeup for a time before the exam is given to the rest of the class.
There will be no final exam for this course.
Unless stated otherwise, both exams will be closed book and will cover material from lectures, readings, problem sets, and projects.
Readings will be as assigned in the schedule and Blackboard announcements. You should complete the assigned readings before class.
Perhaps the most valuable part of this class will be the programming assignments. The projects will be done individually, or in two-person teams. You are free to tackle different projects different from previous ones (e.g. team vs. solo, team with different person.)
The Friday discussion section will generally focus on the projects.
We will post a number of problem sets. The first half of Friday's discussion section will generally focus on discussing these homeworks. It is essential that you work on the problem sets before the discussion section in which they will be discussed both to maximize the benefit you get from the discussion and so that you can contribute to the discussion.
Each week we will provide a list of recommended problems (plus some additional practice problems.) You are encouraged to work on all of them before the discussion section. In addition, we will divide the recommended problems into a few problem groups, and assign each student in the class responsibility to focus extra attention on one of the problem groups. For the problem group assigned to you, you (1) should be prepared to lead the discussion of that problem during the discussion section and (2) must turn in your written solution to that problem group to the TA before the discussion section begins.
We are planning to grade homeworks on a "OK/Not-OK" basis, where "OK" means that you made a credible effort to solve the problem (even if you make a mistake.) We reserve the right to grade for correctness as well.
Although you are required to turn in only a subset of the recommended problems, all of the recommended problems are "required" in that we expect you to do them and that we believe they will be important for understanding the material and for doing well on the exams. Of course, the lack of an actual grade or a deadline for completing these problems may be an invitation for procrastination or even ignoring this process altogether. But we trust that you will find this a useful aspect of the class and we strongly urge you to take advantage of it. To make effective use of this feature, complete the sets by the specified deadline. Delaying the problem sets with the intent of accumulating them and solving them at once before the exams is not an effective strategy.