CISC 124: Introduction to Computing Science II
Our teaching language for introductory computing courses at Queens is Java.
CASLAB: All students in CISC 124 are entitled to use the labs in Jeffery Hall. I have been assured that student accounts will be set up early in the term. If you want to try the labs before then, there is a public account you can play with; look for posters on the walls of the lab for information. Click here for information about accounts and logging on to the Queens computers. (In this case, you will have to save your work on a diskette -- but this is probably a good idea anyway, just to be on the safe side.) Even if you plan to do all your assignments on a home computer, it is a very good idea to make sure your Queens account is in order just in case your home computer breaks down.
Versions: For many courses, the version of Java is not very important. For CISC 124, because of the emphasis on the Java libraries (API), it is makes a difference. The differences are almost entirely in the APIs rather than the Java language itself. In going from Java 1.1 to 1.2, there were huge additions to the Java API, including the Collections framework and Swing (two topics we will study in CISC 124). The changes were so significant that Java 1.2 is sometimes referred to as "verson 2" or "Java 2". The changes from Java 1.2 to 1.3 were much smaller and shouldn't make a difference to this course. So either Java 1.2 or Java 1.3 are fine for CISC 124, but Java 1.1 is not.
The changes from version to version were "downward compatible" -- in other words, if a program works with Java 1.3, it will also work with Java 1.2 and 1.1. The reverse is not necessarily true. All of the API methods we will discuss are in Java 1.2, so they are also in 1.3.
BlueJ: The recommended Java tool for CISC 124 is BlueJ. See this course's BlueJ information page for lots more about BlueJ: how to use it, how to get it for your home computer, etc. We will also discuss BlueJ in class. It is the recommended tool because it is available in the labs and I am familiar with it and can answer questions. You are not required to use BlueJ.
Other Tools in the Labs: Many of you will have used JBuilder 2 in CASLAB when you took CISC 121. Be warned that JBuilder 2 uses Java 1.1 and therefore cannot be used for CISC 124. Sorry! Some others of you will have used Ready to Program. This tool originally used Java 1.1, but I've recently heard that they may be able to upgrade it to Java 1.3. If you're used to Ready and really like it, you can check it out and see.
Other Tools for Home: The CD that comes with your textbook contains a copy of JBuilder 3.5, which runs with Java 1.2, so it's OK to use for CISC 124. You can also download a free copy of JBuilder 5 (Java 1.3) directly from Borland. Each of these has a bit of a different "feel" from JBuilder 2; there will be a bit of learning curve for you even if you're comfortable with JBuilder 2.
There are many other Java tools available, some for free and others not. Another option is to learn to use the SDK directly from a DOS window. Any of these are fine as long as they use Java 1.2 or higher.
Warnings: If you choose to use a Java tool other than BlueJ, you should be aware that the TAs and I may not be familiar with it, and so may not be able to answer questions about it. You should also think about what you will do if you have trouble with your home computer and need to switch over to the lab. If this happens shortly before an assignment is due and you suddenly have to learn how to use BlueJ, you may have a difficult time. It's worth familiarizing yourself with BlueJ in the labs even if you plan to use something different at home.
My advice is that if you have another tool you're used to and like, go ahead and stay with it. Otherwise, use BlueJ.
SavitchIn: For input from the keyboard, we will use Savitch's SavitchIn class. Many of you probably used it for CISC 121. If not, there's a copy on the textbook CD, or you can download it here. Pages 91-97 in the text explain how to use this class; it's pretty easy. It provides a simple way to get input from the keyboard.
This page created by Margaret
Lamb, Queen's University, Kingston, Ontario. Last modified