CS030 -- Introduction to Computer Science II
Fall, 2006
(last updated 7/31/2006)

[7/31/2006] Here is the frame version of the online Java documentation.  You probably want to download the complete documentation and install it on your machine; try this link to download the documentation.  (Remember, we are using version 1.4.2.)

Time and place: TTh 8:00-9:50am; Porter Hall 4
Wayne Iba,
office: new Math and Computer Science Building,
phone: 565-6799
Office Hourse: see my main page
Required Textbook: 
Classic Data Structures in Java, Timothy Budd.  Addison Wesley.  ISBN 0201700026.
Recommended Reference Book:
Java In a Nutshell, (5th, 4th, or 3rd Edition), Flanagan, D.  O'Reilly.
Potentially Useful Resources:
Thinking in Java, by Bruce Eckel.

Preliminary Official Syllabus

Tentative class schedule  including links to slide presentations for openoffice.org.

In our second introductory course in Computer Science, we emphasize thinking in abstractions and object-oriented design and programming.  We will cover abstract data types and explore various implementations of those abstractions.  We also consider how different data structures can be used to solve various problems.  The data structures we will study include stacks, queues, lists, trees and graphs.  In addition to basic data structures, we will be studying and implementing algorithms that utilize them.  For our primary computer language, we will use Java.  But learning to program in Java is a side-effect of the course. 

You'll need several things for the course.  Java will be available on wardrobe.cs.westmont.edu (where you will have access to shell accounts).  You are naturally welcome to download and install Java from Sun for your personal platform.  You will need 1.4.2_xx SDK (not JRE) and then you probably want to download the documentation.  You'll also want a development environment.  While it is perfectly possible to get by with Emacs or VI to edit your source code and then compile and run your programs from the command line, you might consider trying DrJava (recommended), BlueJ, Eclipse, or some other IDE (Integrated Development Environment).  There are many free and commercial products from which you might choose.

Java provides a nice semi-automated documentation tool, allowing you to create structured web-based documentation from your source code.  You should use it as a matter of standard practice.  Here is a link to everything you need to know about javadoc.