CS161 -- Section 1 -- McConnell   

Overview  ·  Policies and Tips  ·  Schedule  ·  Resources  ·  RamCT
I am significantly revising the policies I had in place when I taught the course last semester. The biggest changes will be unannounced in-class quizzes and credit for attending recitations.

Because we share recitations with the other section of the course, we will also share homework assignments, homework due dates. We will have different quizzes and exams.


Every graded assignment or quiz will have a letter-grade score from 0 to 12, where 12 corresponds to an A+, 11 corresponds to an A, 10 corresponds to an A-, 9 corresponds to a B+, etc. I will calculate your grade for the course by computing a weighted average of these scores, rounding this average to the nearest integer, and translating this number to the corresponding grade.

The letter-grade score for each assignment or exam will be based on a raw score, which I will curve so that it reflects how you ranked relative to your peers on the assignment or exam. I often include a some hard problems to challenge the strongest students, and there is no expectation that you need to solve a predetermined percentage of them to get a good grade.

Here is how the different grades will be weighted:

Readings and lectures

To do well in my section, you will need to put in some moderate but regular work before each class.

Homework assignments and announced assignment quizzes

Your goal in completing a homework assignment should be to master the material that the assignment introduces. One you have submitted a working program, you are not yet done. In the next class session after an assignment is due, there will likely be an assignment quiz that is worth as much as your submission. You should prepare for this by practicing your fluency at expressing in Java the ideas that are reflected in your code.

Don't memorize lines of code. That would be a tedious waste of time. Instead, refresh yourself on the high-level ideas behind a small piece of code. Then delete the piece of code and see if you can reinsert code that accomplishes the same thing, using your understanding of the problem and knowledge of the Java syntax. Compile it and get it to run again. Keep a separate copy that you can refer to in case you get stuck. Do this a few times on different occasions. Each time you do it, you will notice that you begin to understand your own algorithm in simpler and simpler terms, and rely much less on memory and more on your developing fluency in Java. To keep it interesting, try experimenting with different ways to solve the problem. As long as you keep a separate copy, there is no danger of damaging your program and forgetting how to get it back.

Since I will have to ask you to write your assignment quiz on paper, rather than in Eclipse, you should make sure that you can write it out without the helpful prompting that Eclipse gives you.

There are many resources to help you in the class, and if you start early on your assignments, you can take advantage of them and save a lot of time. Many instructors forbid getting help from your classmates on an assignment, but classmates can be a valuable resource when you get stuck. Because of the assignment quizzes, I can allow this. What counts when the quiz day comes around is whether you can show that you have mastered the material introduced by the assignment.

Copyright © Colorado State University. All rights reserved.