Pohl, Ira and McDowell, Charlie. (2000)
Java by Dissection: The Essentials of Java Programming,
New York: Addison Wesley.
Check the news link for updates on the pending arrival of the textbook at Labyrinth.
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.