Grades
Your grade is based strictly on the number of points scored. This means that you can figure out exactly where you stand at any time. The scale is:
- 90% or more: A
- 80% but less than 90%: B
- 70% but less than 80%: C
- 60% but less than 70%: D
- Less than 60%: F
Academic Integrity
First off, read the College's official Statement on Academic Integrity.
You are encouraged to study and discuss topics together, especially via the course email list. Except where otherwise noted, you may work in pairs on assignments. Be sure to frequently trade off which member of the pair is typing -- otherwise, the other member of the pair may drift off. Of course, you may not work together during exams.
Representing someone else's work as if it were your own is a heinous, career-threatening act. It is dishonest, it robs someone else of their work, and it defeats the purpose of the assignments. The penalty for plagiarism is worse than receiving a zero on the assignment.
An unskilled computer programmer is just as dangerous as an unskilled bridge designer. Innocent people have been killed by buggy programs. If you can't honestly earn good grades in computer programming, do something less dangerous for a living.
Assignments
Assignments must be turned in by the beginning of class on the specified date. Late assignments earn no points.
Essay, short answer, and mathematical assignments should be handed in on paper (in class or in the box outside my door) or submitted as plain text or .pdf files. I prefer that such assignments be typed, but since mathematical assignments often involve Greek letters and other obscure symbols, I will accept clearly handwritten papers. Of course, learning to use your word processor's equation editor is not a bad idea.
If you work in pairs, hand in one copy with everyone's name. (If it's a program, put everyone's name in a comment at the top of the main program.)
To get the highest possible grade, a programming assignment solution should:
- Load/compile and run. A program which does not load/compile, or crashes immediately when run, will receive a zero grade.
- Behave in the proper way (in terms of input and output). If you are instructed to use particular names in your program, you must use exactly those names.
- Use the structures and algorithms indicated (or reasonable ones where there is room for creativity).
- Be clearly written, with thorough comments.
Except where specified, you do not need to do error-checking in programs. For example, if you ask the user to type an integer, you may assume that they will do so, and are not responsible for what happens if they type "fnord" instead.
Some general advice on assignments:
- Start early!
- Come up with the smallest possible working piece of the program and get that to work first. When you're sure it's working, add more functionality.
- Rest. This includes both taking breaks in your work and getting enough sleep that you don't nod off in class. Of course, you'll only have time to rest if you start early.
- Learn to use your development environment. Eclipse is quite powerful; it can do a lot of otherwise tedious work at the click of a mouse.
- Panic early. Far too often, students have come to me just before an assignment is due, complaining that they've spent 20 hours working on it and still don't know what they're doing. If you've grappled with a problem for an hour, there's more honor in seeking help than in continuing to beat your head against the wall.
- Kill your television.
Exams
Each test will strongly emphasize material presented since the previous test, although earlier material is fair game.
The exams are closed-book, but you may bring one 3x5 inch index card full of notes. (You may write on both sides.)
A good exam answer should:
- Provide the requested information.
- Be clear. Use complete sentences where appropriate.
- Be neatly written.
If a question seems ambiguous, make and state a reasonable assumption. If, in a proof question, you need some secondary result, state the result and use it; if there is time later, go back and prove it.
Disabilities
If you have a disability that may impact your academic performance, you may request accommodations by submitting documentation to the Student Support Services Office (Albany 206, x7156), and that office will notify me of the accommodations for which you are eligible.
Resources
Java
- You can download the Java Development Kit (JDK)
from Sun.
If you're on a Mac, you can get it using the normal Software Update feature.
If you're on a Mac and using an OS older than 10.4.2, you'll have to upgrade.
- Java 2
Documentation: the API is so useful that you'll want to bookmark
it.
- Java Data Structures: a tutorial on data structures, using
Java. If you use any code from here, you must include
comments to this effect. You may not simply
cut and paste something from here (or any other source) and
avoid doing any work yourself.
- Sun's Java site has some useful
things, including forums and newsletters.
- Unicode: the character set
Java uses (like ASCII, but more extensive).
Python
Eclipse
UNIX
Miscellaneous
|
Peter Drake
|
Last modified: Wed Aug 29 09:11:21 PDT 2007 |