Introduction to Computer Science
CompSci 101 : Fall 2013

Grading

Grading is done on an absolute, but adjustable scale. This means that there is no curve. Anyone earning 90% or more of the total number of points available will receive a grade in the A range (A- to A+); 80% = B, 70% = C, 60% = D. This scale may go down, but it will not go up. There is no curve. If everyone in the class does poorly on a particular item (test or assignment), we will identify the problem and determine a remedy.

Practice Problems 15%
Labs 10%
In-class questions
5%
Programming Projects  30%
Midterm exams (2)
20%
Final exam 20%
Expectations for an A

To receive a grade of A you must exceed expectations and do very well on the final exam. This means you must do everything required extraordinarily well or you must do more than is required and do this well. In other words, to earn an A you must do more than merely meet the requirements, you must go beyond them. In order to earn an A+ you must do most of the optional assignments and exceed expectations in general.

Turning Work in Late

If you find yourself not submitting the recommended work for this course each week, please talk to one of the course staff immediately. It is important that you do not get behind in this class, its pace is too fast to allow you fall behind. The secret to successfully surviving this course is to start early and work steadily; it is not possible to cram or skim in Computer Science classes. If you are having trouble, be sure to talk to someone as far before the due date as possible. Don't give up, ask for help. Don't give up, ask for help. Don't give up, ask for help.

Individual extensions will be granted only for medical reasons (see the Short-term Illness Notification policy) or other circumstances beyond your control that must be presented with an official Dean's excuse. Extensions will not be granted after an assignment is due, you must request an extension well before an assignment is due.

If you have personal reasons to ask for an extension, and you do so at least a week in advance, it is possible to get one, so please ask. Please use this Google form to request an extension.

Complaints

All care will be taken to make sure that grades are accurately calculated and reported. However, mistakes happen. If you believe there is an error in your grade, we want to fix it. Please use this Google form to report the error.

Due to the bookkeeping challenges of a large class, all grading error requests must be made within 3 days (days count as weekdays while Duke is in session) from the initial grade being posted. No grade change requests will be accepted more than 3 days after a grade is posted. Grades and points are normally posted in Sakai.

Exams

Two in-class exams will be held during the course's meeting time in the course's meeting room and will be closed-book. This is not because we expect you to memorize material for the midterm exams, but because we do not want you to spend precious time looking up answers when a test is only about an hour long. Instead, for the midterm exams, a handout will be given with material that does not need to be memorized. You may request specific material to appear on the handout.

The final exam will be open book and open notes.

These exam dates are given at the beginning of the semester to avoid any scheduling conflicts. Exams can only be made up if:

Collaboration Policy

In accordance with the Duke Community Standard, we encourage proper collaboration, in which all parties equally participate, on programming projects and labs. Exams taken online or in-class must be your own work; you should not collaborate on them at all. This means you do not talk to anyone or look up anything on the web unless you are given instructions otherwise. You can always use notes and the book for quizzes and exams. Studying together is always encouraged, especially when preparing for exams. At other times you may be assigned to work in a group, in which there will be only one submission for the entire group that represents your collective effort.

You are responsible for understanding all work you turn in. For any given assignment, an interview may be included as part of the graded work. During the interview, you may be asked to explain the problem solving process and individual lines of code not given as part of the assignment. Turning in code that you cannot explain is considered cheating.

You may consult with the course staff about any aspect of the course. On programming projects you may consult with other students only in a general way, e.g., about debugging, programming concepts, or questions about wording on the assignment. You cannot actively work with someone else unless the assignment specifically grants permission for you to do so. It is never acceptable to directly show one another your program code or write one program among a group and submit multiple copies. Finally, it is unacceptable to search for direct answers to problems on the Internet.

Consult means you can discuss programs in a general way before writing code or get help with debugging your program, but you must write your own code and do your own thinking about the problem. For each assignment you are expected to include a list of the people with whom you have consulted (including any other students and course staff) or that have talked to you in the README file you submit with the assignment. You should also cite any resources other than class materials you use (e.g. web pages, notes from other courses at other universities, etc.). This file is required and failure to provide it will result in rejection of the assignment as complete.

If you are not sure what the collaboration policy is for a given assignment, please ask!