section days times location
CS1007-01 TR 2.40pm - 3.55pm 301 Pupin
CS1007-02 TR 11.00am - 12.15pm 209 HAV

Lewis, J. and Loftus, W. (2001) Java Software Solutions: Foundations of Program Design, JavaPlace Edition (ISBN 0-201-75052-X), New York: Addison Wesley.

Note: There are several editions of this book! Even Addison Wesley is confused. Make sure you get the "JavaPlace" (second updated) edition, ISBN 0-201-75052-X, shown on the back of the book. Ignore the one on the inside of the book (which ends in "-5").

We've ordered the book at Labyrinth Books (112th street between Broadway and Amsterdam). You can see it on

This course is an introduction to programming in Java. At a minimum, you will learn the mechanics of how to write simple Java applets and applications. This means knowing how to create, compile, debug and run your programs. Beyond this, you will be exposed to some other (hopefully) interesting things: the very basics of computer hardware, the history of computing and an overview of current research topics in the field of computer science. If you know you want a career in computer science, this course should give you a strong start at developing good programming habits. If you are focusing on another field, this course will teach you approaches to problem solving that can be applied in many other areas. If you aren't sure where you are headed, this course will give you a broad introduction to the field of computer science. But no matter where you are going to be next semester, sit back and enjoy yourself here. Programming really can be a lot of fun!

You do not need to have any prior programming experience in order to take this class. However, you should have some computer experience, like knowing how to turn on the machine and how to use a word processor. You will not need to know any advanced mathematics, but it will be helpful if you remember something of your high-school algebra classes.

Finally, here are some hints for how to succeed in cs1007.