Spring 2011
Updates
Overview
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 only a side-effect of the course.
The primary goal is to improve your problem solving and program design skills.
Course Materials
- Suggestions for success
- Required Textbook:
Java Structures: Data Structures in Java for the Principled Programmer,
by Duane A. Bailey.
(Netiquette requires that I link to the Welcome page instead of directly to the book; two clicks will get you there.
But do explore Professor Bailey's site; he has a wealth of information there.)
- Java: you will need to install a Java JDK (not JRE) on your machine.
There are multiple options from which to choose.
I will be using OpenJDK (1.6.xxx) on Linux,
but you can also download and install Java from Sun
for Mac or Windows (or Linux for that matter),
or find some other implementation of Java.
Just make sure that you get at least Java 5 (1.5.0),
regardless of what vendor you use.
- Development environment: you will also need some 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
Eclipse,
NetBeans,
DrJava,
BlueJ,
or some other IDE (Integrated Development Environment).
There are many free and commercial products from which you might choose.
- Documentation: you will, at a minimum, want to bookmark a link to the
Java 6 Documentation.
However, you may want to install the documentation on your own machine
for faster and off-line access.
- Recommended Reference Book:
Java In a Nutshell, Flanagan, D. O'Reilly.
- Potentially Useful Resources:
Thinking in Java, by Bruce
Eckel.
Adminstrivia
- Time and place: TTh 10:00-11:50am; Winter Hall 110, Computer Lab
- Professor: Wayne Iba
- Office: Winter Hall, 3rd Floor, Math/Computer Science Wing
- Phone: 805-565-6799
- Email: Iba at Westmont dot edu
- Office Hourse: see my teaching page
- Course Syllabus
- Tentative class schedule (coming soon)