If you are viewing a copy of this page on another site, it is strongly
recommended that you go to the URL given above to view the latest version of the
page.
This is the web page that will be used for communicating information
from Professor Baldwin to students enrolled in this course.
NOTE: The
program named Blackboard will not be used for
communication with students except in those cases where confidentiality is
required, such as the reporting of grades to students. Check this area daily for messages from Professor Baldwin to all
students enrolled in the course.
New messages are added at the bottom of the list with the date that they were
added. Therefore, after reading all of the messages once, each time you check, you can go straight to the bottom
to read the new messages.
Also, some of the messages have been repeated from previous semesters due
simply to the fact that the information contained therein will be useful during
this semester.
06/05/09 Upgrade to JDK version 1.5
In the Spring 2005 semester, we began using Sun's JDK 1.5 (and later
upgraded to JDK 1.6). Much of the
material for this course was written prior to the release of JDK 1.5. I
have performed spot checks to confirm that the study guides, the assignments,
and the exams are all compatible with JDK 1.5 and JDK 6.0. With the exception of some
compiler warnings caused by new features in JDK 1.5, I haven't found any
problems. However, it is possible that I may have missed something.
When you compile source code used in this course, you may get compiler
warnings as a result of new features that were incorporated in JDK 1.5. This is
particularly true if the source code uses the Java Collections Framework.
As of this writing, however, I haven't discovered any "code breakers"
in the new features in JDK 1.5 as was the case with JDK 1.4. Please notify
me if you discover any situation where the new features of JDK 1.5 cause
problems with the study guides, the assignments, or the exams so that I can
correct the situation for future semesters.
06/05/09 Warnings in JDK version 1.5 and later
As a result of changes (improvements?) made in JDK1.5, many existing
programs will produce the following warning when recompiled using JDK 1.5:
Note: ....java uses unchecked or unsafe
operations.
Note: Recompile with -Xlint:unchecked for details.
This is a warning, and is not an error. As far as I am concerned, you can
simply ignore the warning.
I have investigated the changes and
have published material on how to avoid the warning on future programs. However, it is
extremely unlikely that I will modify and re-publish earlier programs that
worked fine prior to the changes in the JDK.
06/05/09 Generics in J2SE 5.0
Several new features were incorporated into the release of JDK 1.5, also known
as J2SE 5.0. One of those new features is referred to as Generics.
On 04/05/05, I published my first tutorial lesson discussing the new features in
J2SE 5.0, and explaining Generics in particular. It would probably
be worth your while to review this material. You will find it in Lesson
2300 at
http://www.dickbaldwin.com/tocadv.htm. Among other things, this lesson
explains the following compiler warnings that are frequently encountered when
recompiling old programs:
Note: ....java uses unchecked or unsafe
operations.
Note: Recompile with -Xlint:unchecked for details.
06/05/09 Do not send executable attachments
If you send an email message to me and expect me to read it, DO NOT attach any
executable files, even if they are encapsulated in a zip file. This
includes files with the following extensions, just to name a few:
.exe
.com
.scr
.bat
.pif
.vb
If you do send such files, my virus blocker will simply reject the message
and I will never see it.
The following file extensions should be OK:
.java
.class
.htm
.html
.css
.xml
.xsl
.doc
.zip (Provided the zip file doesn't contain any executable files.)
If you find it necessary to send a questionable file for any reason, you
should also send another message without an attachment notifying me that you
sent the questionable file as an attachment so that I can be on the lookout for
it.
06/05/09 Exams are ready
Both exams are ready to be taken whenever you are ready to take them following
the beginning of the semester.
You may not take the exams in an ACC testing center. If you are
a classroom or Distance Learning student in Austin, you must complete your exams
under Prof. Baldwin's supervision at the Northridge campus during regular office
hours or laboratory hours.
VCT students must take the exams in an approved testing center (see
Exam Instructions).
Don't procrastinate and let a last-minute emergency make you late. Take
your exams early if possible.
06/05/09 Completing your exams
This posting does not apply to VCT students.
If you are a classroom or Distance Learning student in Austin, you must
complete your exams under Prof. Baldwin's supervision at the Northridge campus
during one of the times listed below. You may not complete your exams in
an ACC testing center.
You may complete the exams by visiting with Prof. Baldwin in NRG room 4238
during his
office hours.
If you arrive at Prof. Baldwin's office about ten minutes before he begins a
lecture class,
he can get you started on the exam and you can finish it while he is in his
classroom.
You may also complete the exams by visiting with Prof. Baldwin during one of
the scheduled lab periods for any of the classes that he is teaching. See
the course schedule to determine Prof. Baldwin's lab schedule. During
those periods, you may find him in the lab or in his office.
Before making a trip to the campus, you should probably make arrangements in
advance via email or telephone but that is not a requirement.
Finally, if you see Prof. Baldwin in NRG Room 4238 at any other time, he will
probably be able to arrange for you to take the exam at that time.
06/05/09 Problems with the Java version and the path environment variable
A student of mine who had successfully compiled and executed Java
programs on his system suddenly began to experience problems when trying to
execute programs that had compiled successfully and had been run successfully in
the past.
After a great deal of troubleshooting effort, this student determined that
the recent installation of Oracle software for a database course that he was
taking had caused an old version of the Java virtual machine to be installed on his
system. In addition, that installation had placed an
element at the beginning of his path environment variable that caused the old
version to be executed every time he attempted to execute a Java program.
If you experience problems when executing compiled Java programs from the command line,
try entering the following command and confirming that you get a similar
response (the first few digits of the version shown should be the same as the version that you
installed):
C:\jnk\1>java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
Similarly, if you experience problems when compiling Java programs, try
entering the following command. Your output should consist of about 25
lines of text, which should begin in a manner similar to the following.
Once again, the objective is to confirm the version.
C:\jnk\1>javac -version
javac 1.5.0_01
javac: no source files
Usage: javac
where possible options include:
...
(Apparently the difference in the
last digit of the two versions for my system is the result of my Java Runtime
Environment having been updated several times since I originally installed the Java
Development Kit.)
06/05/09 Don't use NetBeans, Eclipse, or other high-level IDEs
NetBeans, Eclipse, and other high-level IDEs are excellent productivity tools
for programmers in the workplace who are working on large projects, who know
exactly what they are doing, and who have a need to become more productive in
their programming efforts.
However, to write the simple programs required for this course, you should
need nothing more sophisticated than a text editor (preferably with Java
syntax color coding) and the Sun Java Development Kit (JDK).
You shouldn't need a high-level IDE to serve as a crutch to help you write these
simple programs. The use of a high-level IDE to write the programs
required for this course is a gross overkill, can lead to problems as
illustrated by the following example, and is not recommended.
One of my students recently recently scored zero on an exam because he:
Used NetBeans to develop his programs, but didn't know how to control
the insertion of package directives by the IDE.
Failed to test his programs in the prescribed manner (proper testing
would have exposed the problems caused by the use of NetBeans and the
inappropriate insertion of package directives).
As a result, when I attempted to execute this student's programs in the
prescribed manner, they all threw Exceptions or Errors and failed to execute.
Obviously, I can't keep you from using a high-level IDE to develop your
programs on your system at home. If you elect to do so, however, make
certain that you understand exactly what you are doing, and also make certain
that you test those programs in the prescribed manner. Otherwise, you too
may find that you won't get credit for the programs.
06/05/09 Your official Email address
It is my understanding that as of 09/15/08, all ACC students will be provided an
official Email address by ACC, and that address will be reflected in all
official ACC student records. I have been told that you can cause messages
sent to that address to be forwarded to the Email address of your choice.
You should make it point to either forward those messages, or to check your ACC
email address on a daily basis.
06/05/09 DrJava
I was recently introduced to a free Java IDE named
DrJava that has some very
interesting features including the ability to execute Java code interactively.
It can also be run without the requirement for a Windows installation and should
run on any platform that has a Java JRE installed. For example, I am
currently running it from a USB memory stick. If you download it, I
recommend that you download the JAR file and run it as a Java application
instead of downloading the Windows executable version. I was unable to run
successfully run the Windows executable version under Windows Vista Home Premium
edition.
06/17/09 Problems with Java version 1.6.0_14
This is the sort of thing that I hate to report but I have no choice.
A student in ITSE 2317 told me that he was having problems running my version
of three exam programs using Java version 1.6.0_13 and Windows XP Home
edition.
As a result, I downloaded and installed Java version 1.6.0_14 (update
14) and
attempted to use it to run the programs for which he was having problems under
Windows Vista Home Premium Edition. I experienced problems running one of the
three.
The following text shows the version of Java (update 4) with which the exam programs
were compiled and tested. Unless I tell you differently on this web page, this
is the version that I will use to score your exams as well.
C:\jnk>javac -version
javac 1.6.0_04
C:\jnk>java -version
java version "1.6.0_04"
Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
Please be aware that if you are using a later version, you may also
experience problems. If you have recently updated your version of Java, the old
version is probably still available on your computer. If so, you should be able
to revert to the older version by modifying the path environment variable to
force it to point to the correct directory.
06/18/09 Java version mystery solved
On 06/17/09, I reported a situation where certain programs that I wrote and
successfully tested using Java version 1.6.0_04 would not compile and run
successfully using Java version 1.6.0_14. It appears that when writing those
programs, I unknowingly exploited a bug in the BorderLayout manager that has
existed since the beginning of Java. The bug has apparently been fixed in
version 1.6.0_14 causing certain programs that compiled and ran successfully
using the earlier version to compile and run, but to not produce the correct
output using the later version. (Some of the required output is hidden and can
only be seen by manually expanding the frame.)
Now that the bug has been fixed, it is necessary to
program somewhat more rigorously than before when using the new version. In particular,
with the new version of Java, it is necessary to pack the frame in ITSE 2317,
Exam 1, Prob03, Prob04, and Prob05 after the GUI
components have been added to the SOUTH location in the frame. This, in turn,
causes the overall height of the frame to increase in order to provide space for
both the image and the GUI components. (In the earlier version, part of the
image was hidden by the GUI components.)
In order to avoid the confusion that can result from
changing versions in the middle of the semester, I will continue using Java
version 1.6.0_04 for the remainder of the summer and will switch to the latest
available version at the beginning of the Fall semester. You should do the
same.
Although I haven't done extensive testing at this point in
time, I believe that this issue impacts only Prob03, Prob04, and Prob05 on Exam
1 for ITSE 2317. I don't believe that it impacts any of the programs for ITSE
2317 Exam 2 or Exam 3. I also don't believe that it impacts any of the
exam programs for ITSE 2321 or any of the projects for INEW 2338. If
someone determines differently, please let me know.