Syllabus | Calendar | Homework Assignments | PSP | Recipes | Language stuff | Java examples |
My office hours (in Alumnae Hall 113A; if I'm not there, look around the corner in 112) are
Andrew Frisch and Uche Obianyo-Agu are tutors working for the Math/CS department; they can help with Java as well as variety of math courses. Andrew's office hours (in Alumnæ Hall 114 or 116) are
These and several other tutors also work in the Learning Center: their office hours seem to be M 10-12 and 4-6, T 2-4, W 10-12, Th 2-4 in Earle Hall.
The primary textbook for this course will be Computing Concepts with Java Essentials, by Cay Horstmann (J. Wiley 2003, ISBN 0-471-24371-x).
A supplementary text is Introduction to the Personal Software Process, by Watts Humphrey (Addison-Wesley 1996, ISBN 0-201-54809-7). This book isn't about how to program in Java (or any other specific language, for that matter), but rather how to be a programmer: how to study your own capabilities, productivity, strengths and weaknesses in programming, in order to produce better results more quickly, without staying up until dawn the night before the program is due.
We'll also be using an on-line Java tutorial system named CodeLab. It consists of a bunch of short coding exercises that can be graded automatically, so you can try something, see whether it's correct, and if not, keep improving it until it is, all while I'm asleep in bed. To use it, click the link above and click REGISTER. Use the prepayment code "sbloch171S04", and you can use the system for 10 days; after that, if you decide to stay in the class, you'll need to pay for it as if it were a $25 textbook (click "Preferences" and read the message about "Upgrading CodeLab").
To do programming assignments on your home computer, you'll need to download and install the Java Software Development Kit (J2SE, not J2EE; SDK, not JRE; NetBeans cobundle OK but not required), and then download and install either BlueJ or DrJava (preferably both). (The
I've set up some forms for entering and viewing PSP data. You may use these forms to record defect and time information. To use the forms successfully, make sure your browser accepts JavaScript and cookies. (For those with a moral opposition to cookies, I assure you that they're all "temporary" -- they disappear as soon as you quit the browser.) (For more information about PSP, read Watts Humphrey's Introduction to the Personal Software Process.)
This course assumes that you have either done a little bit of computer programming (say, half a year with decent grades) or have a strong mathematical background. (The course doesn't require that you know a lot of math, but it uses "mathematical thinking".) It is open to CS/CIS majors, minors, and people who just want to learn a little more about programming. For non-majors, this course counts towards your math/science distribution requirement. If you have never written a program before, and don't have "a strong math background", you may be better off in CSC 160, "A First Course in Computer Programming"; consult with the instructor.