CS420: Algorithms
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 by looking in the text.
Revisit the same material many times over many days, refining and simplifying your understanding of it each time, asking yourself questions about it.
Each homework assignment will consist of written work and/or programs. On the programs, I usually supply a menu and a program body that gets you out of mundane programming chores. The menu allows me to test different modules that need to be completed, so that I can award partial credit for working modules. (Non-working modules don't count.) Don't change the I/O interface that I supply, since I will use an I/O script to test it. Generally, the code that you will have to write in a module is not lengthy, but some of the modules require you to solve a clever algorithms problem.
Each of your two midterm exam grades will contribute twenty percent to your final grade. Your final exam will contribute another twenty percent. Your quizzes will contribute another ten percent, and your homeworks will contribute the remaining thirty percent. I will sometimes give a homework quiz on the homework on the due date, and, when I do, this will be a significant part of the grade for that homework. (This is to ensure that people are making responsible use of the permission to talk with other students about the homeworks.)
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 two lowest homework grades and two lowest quiz scores in computing your semester averages for these parts of your grade. Even if you give me a legitimate reason for turning a homework in late or missing a quiz, I will tell you to use these "freebies." If you use a freebie, be sure you nevertheless thoroughly understand the solutions to the problems before the next exam.
Homework and exam grades are curved to give a distribution of grades that is consistent with those in other senior-level undergraduate classes at CSU.
Each assignment or exam is assigned a letter grade from A+ to F. In computing grade averages, I use the following scale: A+ is a 12, A is 11, A- is 10, B+ is 9, B is 8, ..., D+ is 3, D is 2, D- is 1, F is 0. Your semester grade is the numerical average of the homeworks, quizzes, and exams when they are weighted as described above, and rounded to the nearest integer. For instance, if your weighted numerical average for the semester is 7.6, this rounds to 8, which is a B. If it is 10.4, this rounds to 10, which is an A-.
The problems I give on homeworks 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.
Remember that the grades are curved, and that if you find a problem hard, it is likely that many of your classmates won't get solutions to it either. This will allow you to skip a problem if it is taking too long, but be sure to attempt all of the homework problems, since the posted solutions will be a lot more instructive if you have attempted the problems first. This will help you anticipate exam questions, which are often variants of problems you've seen on homeworks.
Because 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 always consist of a mixture of easy, medium, and hard problems. All exam problems will be graded except when there is a widespread misunderstanding or other reason to toss a problem out.
Student Responsibilities:
Please familiarize yourself with the departmental policies on academic integrity.
In accordance with departmental policy, I am posting the Departmental Code of Conduct on this page.