Policies, CS320, Spring 2020, McConnell   

Policies  ·  Schedule  ·  Syllabus

No open laptops and no cell phones in class without prior approval.

You are expected to do the readings before the corresponding class and come to class with questions that you've gotten stuck on. Learning how to read texts and other literature of our field fluently is one of the skills that we want you to develop in the course. It takes practice, but once you get good at it, it's surprisingly easy. During each lecture, ask questions. An important step is then to re-read the corresponding reading and figure out, with the benefit of hindsight, how you could have gotten un-stuck without the help of the lecture.

Another reason you are expected to do the readings before class is that classroom time is a scarce resource that must be shared by your classmates. We don't want to waste some of it repeating trivial issues that everybody is capable of understanding from the text.

3/22/20 I had previously organized iclicker quizzes, but these were cut short by the covid-19 shutdown. Because of the limited sample size and the limited amount of time we had to start seeing positive results from them, I will remove them as an input to the final semester grade and shift the weights to the other measures. See the new weighting below.

On a programming assignment, you will often be given a program that runs but that does not solve the problem. You will be invited to fill in stub methods for various subproblems. Get the program working after you complete each method. Submit your partial result to Canvas to lock in credit, in case you run into last-minute problems that prevent you from submitting your final version. If one of your methods crashes or keeps the program from compiling, restore it to the original stub before you turn it in. A program that does not compile will receive no credit. One that crashes will receive little or no credit, though there are exceptions when the conditions that cuase the crash are rare.


Each homework assignment will consist of written work and/or programs. I don't accept late homeworks, since I often give out solutions right after they're due. To get you out of any unforeseen mishaps, I will throw out your lowest homework grade in computing your semester average for homeworks in the course. Even if you give me a legitimate reason for turning a homework in late, I will tell you to use your ``freebie.'' Save it for a real emergency.

3/22/20 The following weight distribution has been altered because we have canceled the clicker quizzes as an input to your semester grades. The weight distribution will be as follows:

Once a letter grade is assigned to a graded submission or exam, the score becomes irrelevant; the letter grade for each category is the average of the letter grades in the category.

The problems I give on homeworks often range from extremely easy to extremely hard. A common misconception is that I expect you to solve all of them successfully. You should view each problem as an opportunity to explore a topic, try to come up with your own ideas, and score some points if you're successful at finding a solution. They are not intended to be stressful, and you should try to have fun with them. If you can engage your curiosity, you will be more likely to ask yourself questions that will lead you to a solution and anticipate questions that I might ask about on the exams.

The letter grades are not a reflection of what percentage of the problems you solved; they reflect how high your score was relative to those of your peers. I will select the cutoff scores for letter grades in order to get a distribution of letter grades that is reasonably consistent with those of other courses in the department.

Because some answers will require detailed study to critique and grade effectively, I will choose a subset of assigned homework problems to grade on each assignment. We will announce the subset after they are turned in. The subset will usually consist of a mixture of easy, medium, and hard problems. An exam problem will occasionally be omitted when a widespread misunderstanding of it becomes apparent after the exams have been turned in.

Student Responsibilities:

I encourage you to talk with other students about your assignments. When you discuss ways of solving a homework problem, it is okay to talk about solutions in general terms, drawing pictures of how an algorithm works or illustrating how your ideas would work on an example.   questions. That said, make sure you write up your actual homework assignments independently. Don't write down your classmates' wording. Another important rule, especially for programming assignments, is never look at program code or pseudocode written by a classmate for an upcoming assignment. Doing so could raise flags with an automated tool we use for detecting plagiarism of programming code. Don't show your code or pseudocode to a classmate to avoid getting blamed for misuse they make of it. Plagiarism or other fraud will be referred to student conduct services and could result in an F in the course. This is unpleasant for me also. Please don't take the chance. Start early and come to office hours for help if you get stuck. We want you to succeed.

Please study the following before you turn in your first assignment: University code on academic integrity and misonduct