David J. Eck


(Ph.D. in Mathematics, Brandeis University, 1980)

Department of Mathematics and Computer Science
Hobart and William Smith Colleges
Geneva, New York 14456

Office:  Lansing 301
Phone:   (315)781-3398
Fax:     (315)781-3860
E-mail:  eck@hws.edu


Courses That I Teach

My teaching schedule for Spring Term, 2004:

CPSC 327: Data Structures and Algorithms
           You can see the course handout and visit the course website

CPSC 324: Computer Graphics
           You can see the course handout and visit the course website


Here is a list of courses I have taught, including course handouts from many past terms. And here is a complete list of all the Honors projects and Independent Studies that I have supervised over my years at Hobart and William Smith Colleges.


The Most Complex Machine

My introductory computer science textbook, The Most Complex Machine, was published in July, 1995. The book surveys most of the major areas of computer science, and is suitable as a textbook for a first course in computer science. It is also suitable for self-study. A review of in the April '96 issue of CHOICE magazine says that it is "Strongly recommended as a foundation for guided self-study for gifted high-school students, as well as non-computing majors." You can read more about it here.

A set of applets and labs for use with the text is freely available on-line. These would also be useful for self-study, with or without the text.

An older version of the software is also available as programs for Macintosh computers. These programs can be downloaded along with a set of lab worksheets that use the programs. See this download page for information and links. (These were written for older Macintosh computers, but still work on all Macs.)



Free On-Line Java Text

For the past several years, I have taught an introductory programming course in the Java programming language. The course uses an on-line text, which I wrote for the course. The text is an introduction to programming and also an introduction to Java directed towards people who do not have any background in programming.

You can find the text on-line at http://math.hws.edu/javanotes/. It can be downloaded using links on that page. The current version of the text is the "fourth edition," which was released in July 2002. This is the first edition that covers Java 2 and the Swing user interface library.


"Java Components for Mathematics" Project

JCM (Java Components for Mathematics) is a project that is attempting to make it easier to write educational mathematical applets for use on Web pages. To learn more about it and to try some of the applets that I've written, check out http://math.hws.edu/javamath/.


xFunctions for Java

My xFunctions applet can be use for playing with and learning about functions. Besides being fun to play with, it is suitable for use in calculus and pre-calculus courses. It was designed to be very easy to use, so that it can be used with very little instructional overhead. It is available for on-line use and for downloading at http://math.hws.edu/xFunctions.

An older Macintosh version of xFunctions is also available. See below.


More Java Applets

Besides the software for The Most Complex Machine and my On-line Java Text, I've written a few other Java applets. They might offer a few minutes of diversion, and after all, that's part of what Java is all about. Here are some links:


Programs for Macintosh

Here are some rather old programs for Macintosh computers that I have written for one reason or another. These programs were written for older Macintosh computers, but they continue to work on new computers (even under MaxOS X, if you use the OS 9 subsystem). I have rewritten all of these programs as Java applets that have similar functionality. The Java applets can be found above.

Click on a link to download a program:


Some Stuff to Look At

So, I bought Painter 5.0 in the hope that maybe I could somehow become enough of an artist to carry though on this idea I have for a course in Computers and the Arts. Fat chance. However, Painter is sort of fun to play with, and I've saved some of the abstract pictures I've made (all more or less accidently). For example, the image at the top of the page and the one on the right. Since I actually rather like some of them, I figure why not expose myself and let other people see them (if they've made it this far on my page). So here's a small gallery.

Image #1 Image #2 Image #3 Image #4
Image #5 Image #6 Image #7 Image #8
Image #9 Image #10 Image #11 Image #12

And to give equal time to computer-generated (as opposed to computer-facilitated) "Art," here is a sequence of images generated by my Cellular Automata program for Macintosh. The program is available for download earlier on this page. These images will give you some idea of the range of pictures that can be produced by one-dimensional cellular automata:

Image #1 Image #2 Image #3 Image #4 Image #5
Image #6 Image #7 Image #8 Image #9 Image #10

I made the following images as examples for my computer graphics class, CPSC 324, Spring 2001. They were made using several free programs: Gimp, an image manipulation program with capabilities similar to the commercial Photoshop; POV-Ray, a program that creates three-dimensional images using ray-tracing; and Blender, a three-D modeling and image creation program.

Gimp Image #1 Gimp Image #2 POV-ray Image Blender Image #1
Blender Image #2 Blender Image #3 Blender Image #4 Blender Image #5

"The Innocent Eye Test" by Mark Tansey (1981)