Primary Resources Used With Com Sci Gate

[Get Adobe Acrobat Reader]
To download a pdf (portable document file) created by Adobe Acrobat and sometimes denoted by the symbol , don't just click on the link or it will load into the browser. Do this instead. Click the right mouse button on the link. Then click the left mouse button on "Save target as .." Then save the file to your directory. Then read the file into Adobe Acrobat Reader.
[Get Winzip]
Many files that you download will be compressed using the Winzip compression utility to facilitate faster downloading across the Internet. Everyone should have Winzip on their box.
[Get Java Browser Plug-in]
Download Sun's Java Plug-in. The latest Internet Explorer does not automatically support Java applets. If you have not already done so, download this plug-in from Sun MircroSystem so your browser will support the latest features for Java applets. To learn more, read this.
[Get Macromedia Shockwave Player]
Download the latest Macromedia Shockwave Player to use some of the resources found by clicking on links to resources found on pages at Com Sci Gate, such as the Tower of Hanoi puzzle.
[Get Flip Album Viewer]
Download the latest Flip Album Viewer to view flip albums found on com Sci Gate.
[Get Macromedia Flash Player]
Download the latest Macromedia Flash Player to use some of the resources found by clicking on links to resources found on pages at Com Sci Gate.
[Get WebStripper]
Download the free utility that lets you capture an entire web site or any portion of it, except those rare files that are locked in a private area of the target web site.
JSmooth is a Java Executable Wrapper that makes a standard Windows executable binary (.exe) from a jar file. It makes java deployment much smoother and user-friendly, as it is able to find a Java VM by itself. When no VM is available, it provides feed-back to the users, and can launch the default web browser to an URL that explains how to download a Java VM.
Wink is a Tutorial and Presentation creation software, primarily aimed at creating tutorials. Using Wink you can capture screenshots of your software, use images that you already have, type-in explanations for each step, create a navigation sequence complete with buttons, delays, titles etc and create a highly effective tutorial for your users.
[Downlaod CamStudio]
Allows you to capture an on-screen demonstration.
[Browse Tucows]
Browse Tucows, the best site on the Internet for finding Freeware and Shareware software. It keeps you abreast of the latest and greatest utilities.
[Java Boutique News]
Check out the Java Boutique for articles, tutorials, reviews and neat applets created with the Java programming language. This site has evolved over the years and houses some of the most interesting and useful Java applets available on the web, most of which are free for downloadig.
[Deitel, Harvey & Deitel, Paul, How to Program Fourth Edition]

Check out the book's companion website offer of powerpoint slide shows, source code, and links.

Deitel, Harvey, & Deitel, Paul. Java How To Program Fourth Edition (Prentice Hall: Upper Saddle River, New Jersey, 2002, ISBN: 0-13-034151-7)
Available at:
Pearson Education Canada

This book typically costs about $100 Canadian at!

[Deitel & Deitel Photo]
Harvey Deitel (the father)
Paul Deitel (the son)
PowerPoint Slides from How to Program Fourth Edition]

PowerPoint Slide Shows

Download the PowerPoint slide shows: one for every chapter. They are terrific as an overview to introduce a chapter and as a review of the chapter.

Download this Free PowerPoint Viewer Plug-In if you don't have PowerPoint on your computer.

Download Now]


Example Source Code from How to Program Fourth Edition]

Example Source Code Zipped

Download the Zipped Example Source Code of the entire book. It saves typing when you just want to try it.

[Download Source Code]


Practice Source Code from How to Program Fourth Edition]

Exercise Source Code Solutions

Copy source code solutions to selected exercises at the back of chapters, as selected by the Deitel authors and distributed with their Java 2 Multimedia Cyber Classroom Fourth Edition.

Solutions to

[Deitel, Harvey & Deitel, Paul, How to Program Fourth Edition CYBER CLASSROOM]

Don't install the cyber course directly from the CDs because thereafter you will have to insert a CD when interacting with the program. Instead:

  1. Copy the contents of both CD's to your root directory.
  2. Run setup.exe to install the cyber course.
  3. Delete all files except for the course folder and its contents - my folder is labelled "6493a9".
Thereafter the cyber course will run from the hard drive without having to insert a CD whenever you launch it. Doing it this way leaves a folder but no further files in your root directory.

ISBN: 0-13-064935-X

Available at:
Pearson Education Canada

This 2 CD disk set contains the entire text of the textbook, Java How To Program Fourth Edition in an electronic format. This is not just another digital version of the print version. It is truely an interactive course. The digital text is sprinkled with links to advice and source code.

The source code may be executed without an IDE at the click of a mouse button .. what the authors call "live code".

One of the authors orally explains (not just recites) every one of the source code examples from the textbook. Another click of the mouse allows the student to save the source code of the example program to disk.

[Deitel, Harvey & Deitel, Paul, :   Java In The Lab, Lab Manual To Accompany Java How To Program 4/e ]

Java In The Lab, Lab Manual To Accompany Java How To Program 4/e

ISBN: 0-13-049773-8

Available at:
Pearson Education Canada

This lab manual is due to be published in the fall of 2002. Lab manual files and programming challenges may be downloaded from

[Deitel, Harvey & Deitel, Paul, How to Program Fourth Edition Web Training Course]


Available at:
Pearson Education Canada

This is essentially the same course as the Cyber Classroom, except that you do the course over the web.

[Deitel, Harvey & Deitel, Paul, The Complete Java Training Course]

ISBN: 0130649317

Available at:
Pearson Education Canada

This package includes the textbook and CD-ROM. Be sure to get the latest edition. As of June, 2002, that is the fourth edition. It includes Java™ How to Program, Fourth Edition and the Java™ Multimedia Cyber Classroom, Fourth Edition (interactive CD ROM)

The CD-ROM contains solutions to approximately half the exercises in Java™ How to Program, Fourth Edition; it also includes audio walkthroughs of the applets and applications in the text.

International Baccalaureate Computer Science Syllabus

Sir Winston Churchill offers a certificate in Higher Level Computer Science in the International Baccalaureate Program. Students also earn credit in Alberta Learning's CTS (Career and Technology Studies) computer science courses.

There is a significant overlap in computer programming between Alberta's CTS Computer Science curriculum and the IBO Higher Level Computer Science syllabus. As it happens, both CTS and IB are also very flexible in the tools that are prescribed for learning computer programming in high school. For example, neither specifies that a specific computer programming language must be used for implementing their curricula.

This makes it both desirable and doable to satisfy both curricula in the same courses. That is why students will see references to both curricula. That is why students may obtain credit in CTS courses while receiving background that will later apply to their IB Computer Science Certificate if they choose to pursue it.

Installing Your Java Environment At Home

Installing Java Tools (pdf) is a document that I updated on July 9, 2002. It indicates how to install version 1.4.1 of the Java 2 SDK [Software Development Kit], including instructions on setting defaults for the path and classpath environmental variables for Windows 95/98/NT/2000/ME/XP. Note that Sun MicroSystems recommends that you set the -classpath option individually for each application. Try as I might, I personally see that as more hassle than benefit for students flying through a large number of small exercises.

Beginners Prefer A Small IDE Over A Large, "Bloated" IDE

An IDE is an Integrated Development Environment that wraps and integrates various programs that are used in developing software into a single interface.

This section remains under considerable consideration. The objectives are to identify excellent software that is easy to learn to navigate within, has a seamless integration of editor, compiler (or JVM), debugger and documentation, and may be freely and legally downloaded. It is extremely important that students be able to work in the same environment at home as that used at school. This affords maximum support in the beginning because everybody, students and teachers, may pool their collective experiences in addressing concerns about the learning environment which, in the beginning, presents many types of challenges.

Sun Microsystems freely distributes the Java 2 SDK, which is absolutely essential regardless of interface.

Sun Microsystems also freely distributes their powerful and sophisticated IDE, Forte 4 for Java Community Edition. Forte supports both MAC and WinTel (and solaris) platforms. CodeWarrior 6.1, which our school purchased when we were still teaching C++ exclusively, also supports Java on both Wintel and MAC platforms, as well as other platforms. Ditto for JBuilder 7.

I have found that JBuilder, CodeWarrior and Forte are unnecessarily bloated with features for students beginning to program. The learning curve of these IDEs is steeper and the processing slower than is reasonably acceptable in a first course in Java, especially for students such as ours that have programmed with the relatively rapid C++ compilers ... rapid compared to Java's much slower "virtual machine" processing. JBuilder, CodeWarrior and Forte have both MAC and Wintel versions, however, so I will continue to keep the WinTel versions of these IDEs installed on my lab. I do get one or students a year who use a MAC.

[Home of JCreator]

JCreator is a WinTel IDE. It is the Java IDE that we use in our lab.

JCreator Light Edition is freely distributed and offers a very nice, clean interface. It is also very small in size and very fast as it is written in C++. (Most Java IDEs are written in the much slower Java code.) Students of this course are encouraged to download and integrate the following software for use at home.

[Home of BlueJ]

BlueJ is an IDE created explicitly for learning OOP with Java.

Prepare to learn OOP with the BlueJ IDE. First, do The BlueJ Tutorial. The tutorial will explain how to download, install and use the BlueJ IDE.

BlueJ is a special Java IDE that was developed and maintained by a joint research group at Monash University, Melbourne, Australia, and the Mærsk Institute at the University of Southern Denmark for the explicit purpose of learning to program in Java generally, and for learning object oriented programming (OOP) in Java in particular.

The most important thing that distringuishes BlueJ from other Java IDEs is that you may "directly interact with single objects of any class and execute their public methods. This is very helpful during development of an application - you can test classes individually as soon as they have been written. There is no need to write the complete application first." (quoted from The BlueJ Tutorial, page 8)

[Javadoc Tool Home Page]

Javadoc Tool

Sun Microsystem's Javadoc Tool

Javadoc Tool is a utility in the Java 2 Software Development Kit. It filters "Javadoc Comments" from Java source code and generates an HTML file of documentation in the same format as Sun's Java API Specification. Javadoc Tool is and can only be downloaded as part of the Java 2 SDK.

Javadoc Tool implements the standard requirements used when writing the Java 2 Platform Specification. It covers requirements for packages, classes, interfaces, fields and methods to satisfy testable assertions.

Check out the Javadoc Tool Home Page at There will found an explanation of how to write doc comments for Javadoc, requirements for writing Java API Specifications, and other excellent information related to Javadoc Tool.

An interesting introduction to the Javadoc Tool with clear explanations and examples is Appendix F: Creating HTML Documentation with Javadoc from Deitel's textbook, Java How To Program Fourth Edition. The files associated with Deitel Appendix F are available by clicking here.

To execute Javadoc from the command line, just type "javadoc" followed by the appropropriate Javadoc switches and tags.

NetBeans automatically generates a Javadoc HTML file. In the Explorer, right-click the file for which you want to generate documentation. Or, if the file is open in the Source Editor, right-click anywhere in the file. Then choose Tools --> Generate Javadoc.

By default in NetBeans, the documentation is generated in the Javadoc directory in your user directory. Messages from the Javadoc executor are displayed in the Output window.

To view the documentation in the web browser with NetBeans, click Yes in the Question dialog box.

[Poseidon for UML]

UML is the Industry Standard for Modelling OOP Relationships.

The Unified Modelling Language [UML] has become the industry standard for diagramming objects in OOP languages. Throughout my teaching of Pascal and C++, I found that structure charts were powerful tools for students in the pursuit of understanding and representing the, well, the structure of a program that used procedures and functions.

In 2002, my first year of teaching Java, I again asked students to plan with and generate structure charts. It was doable but, somehow, the "structure" or "shape" of the program was not captured to the same degree. There are more functions (now called methods) in Java that are accessed from more classes for even the simplest of programs at a very early level. More seriously, the interaction of methods among the classes was not captured by structure charts. Structure charts are still a powerful tool for understanding, but better visualization tools were clearly needed.

For years I have required that students also create class and object diagrams which were simple but sufficient for the relatively limited use of objects that my students made of OOP in C++. Java has presented an entirely new level of intensity in the use of OOP in programming. In 2002 it become apparent to me that the need for a greater variety and detail of OOP documentation is called for with the use of the Java programming language. That is where UML comes in.

I am now convinced that UML tools and modelling are the way to go in capturing the structure and interaction of classes and objects in Java. Poseidon for UML at this point is represented as a significant tool in learning and applying UML to programs created in the Java programming language.

[Home of BlueJ]

This is the best introduction to Java on the market, bar none!

A wonderful book has been written for BlueJ called Objects First With Java: A Practical Introduction Using BlueJ which teaches how to program in Java from the very beginning by using BlueJ. On January 12, 2003 the text could be purchased for $68.95 Canadian from either or That was quite a deal when you consider that Americans had to pay $74 American at on the same date.

[Sun ONE IDE version 4]

Sun ONE IDE is A Powerful and Free Java IDE

The following description was entered in the fall of 2002. By the fall of 2003, Sun Microsystems updated the Sun ONE IDE to version 5. Version 5 only had a 60 day trial period and then it become disabled unless you purchased it. However, sun recommended that "[d]evelopers who prefer to continue using a free IDE and only require J2SE and Web application development capabilities should download the NetBeans open source IDE." This page now recommends that students download and use netBeans. (See next resource below this one.) It does all that we want it too, but does not have the overhead of Sun ONE version 5.

The Deitel web site posted a 65 page pdf (portable documemt file - to be read with Adobe Acrobat Reader) - 1.7 MB - that describes how to download, install and use one of the most powerful Java development environments available. The community edition of the Sun ONE Java IDE is free for downloading!

Click on Dive Into Sun One to download the zipped file. Unzip it, read the file into Adobe Acrobat Reader, and follow the directions.

Incidently, I continue to promote JCreator as the very best IDE that I know of for beginning to program in Java for all sorts of reasons: speed, simplicity, ease of use, wide collegial and student acceptance. That said, the sheer power of the Sun ONE Java IDE and the fact that the community edition remains free for downloading makes it a very attractive IDE to grow into after JCreator.


Netbeans is Sun ONE Without Overhead

A project called " is the project that develops the NetBeans IDE, a full-featured integrated environment for Java Developers and NetBeans Platform, a widely adopted infrastructure backplane for complex desktop applications." [Welcome page at]

The following product description is lifted as it were from the website.

View larger image
NetBeans IDE - A world-class, professional IDE (Integrated Development Environment) - The NetBeans IDE is the Platform (see below) plus modules that include things such as an editor, tools for working with source code (Java, C++ and others), version control, and a lot more.
  • Advanced syntax highlighting, error checking code editor
  • Support for the Java, C, C++, XML and HTML languages
  • Pluggable support for compilers, debuggers and execution services
  • Support for JSP, XML, RMI, CORBA, JINI, JDBC and Servlet technologies
  • Support for Ant, CVS and other version control systems
  • Visual design tools
  • Wizards and code generation and management tools
  • Cross-platform

[Home of Eclipse]

Eclipse Is A Big, Powerful, Easy-To-Use Open Source IDE.

Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular. The Eclipse Platform is designed for building integrated development environments (IDEs) that can be used to create applications as diverse as web sites, embedded JavaTM programs, C++ programs, and Enterprise JavaBeans. Check out the Eclipse Home Page. Then download the latest stable version from the Eclipse Downloads Page.

Great On Line Tutorial

Introduction To Computer Science Using Java: Original Remote Site

Introduction To Computer Science Using Java: Version of July, 2003

by Bradley Kjell, Central Connecticut State University

[Home of JCreator]

This web site implements the International Baccalaureate Higher Level Computer Science syllabus using the Java computer programming language. It was created by Richard Jones. Richard is a teacher at the United World College of South East Asia. He is also the Deputy Chief Examiner for IB Computer Science which presumably means that he is very much in the know of precisely what is intended by the text of the IB Computer Science Syllabus. This latter fact makes his already excellent web site even more valuable for candidates of IB Computer Science.

This school offers both IB computer courses: [Home of JCreator] The computer science web site of this very active IB school offers oodles of information and resources.

[WROX Resources]

This source identifies other top resources for Java on the Internet.

[Counter On Strike [Home of Gerry Donaldson's Com Sci Gate]
[Gerry Donaldson's Email Address]
ICQ# 62833374
[EFC Blue Ribbon - Free Speech Online]

URL:    Last Revised:   January 16, 2005