Get help when you need it! We would like the course to run smoothly and enjoyably. Feel free to let us know what you find good, interesting, or problematic about the course. If you have any concerns about your level of preparation for this course, or if you begin to have difficulty with the material, please see me or the TAs to get extra help. Likewise, if a situation that affects your class work arises during the term (e.g. medical or family emergency), please contact me as soon as possible so that we can arrange for you to catch up with missed work. The TAs and I are happy to work with individual students in office hours over the course of the term -- please get help when you need it. Unfortunately, there is very little I can do for students who only come to see me at the end of the term and have not completed enough work to pass the course. There are a number of TA's available for help in this course. Their office hours will be posted. The TA's are the first place to go for help, followed by the recitation instructor, followed by me. This is not a strict ordering, but a guideline. The main point is that there are many people available to get help from (including me). I will be available during my regular office hours and by appointment. If you are unable to see me for any reason, send me mail at allen@cs.columbia.edu or call me at my office. Students sometimes have problems in the beginning of this course, and that is exactly the time to meet with me, the recitation instructor, or the TA's before things get out of hand.
Why does cheating occur? It usually occurs because students run out of time to do an assignment, and feel they have no other way of completing the assignment. How can you prevent this urge to cheat from overcoming you?
The assignments and all extra credit exercises assigned for this course are NOT team projects. There is to be no collaboration with anyone else, other than the TA's or myself. These are individual asignments.
A major goal of this course is to learn the concepts required in the construction of programs. Each student must actually engage in the creative process of constructing these programs - simply producing a working program is not enough. Each exercise, if carried out by the student, will give the student understanding, or will reinforce the student's understanding, of an important computer science concept. Hence, the student is permitted to inspect related problems and ask questions of the TA and others in the class about the problem and related problems, but the student is not permitted to copy the work of ANYONE. The ONLY exception to this is code in the textbook or in my class notes. Likewise, students allowing others to copy their own work are guilty of cheating. Furthermore, it is the responsibility of every student to make sure their work is not available to others. One way to determine if cheating or collaboration has occurred is to analyze the level of understanding each student has in their own work. Since this understanding is at the center of the course goals, each student must strive to have a complete understanding of every exercise. If you have not collaborated or cheated,, then you should know exactly what you produced and handed in.
Of particular concern is using resources that include other textbooks and written materials, and web content of others. Note, you may not use code written by others (other than in your own textbook or class notes), including anything you find on the web. The TA's are particulalry adept at finding web-based cheating. Note that the same site a cheater may find through Google, our TA's can also find that site! Also note that we have electronic means to detect collaboration (MOSS), which is even better than our own expertise, that we will use to check for cheating on every assignment.