Richard G Baldwin (512) 223-4758, NRG Room 4238, Baldwin@DickBaldwin.com, http://www.austincc.edu/baldwin

INEW2338 Advanced Java Programming

Fall 2007

Online Bulletin Board

Revised 09/18/07


Note:  The official web site for this course is located at: http://www.austincc.edu/baldwin/Fall07/Inew2338WebPage/Index.html 

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.  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.


08/21/07 Upgrade to JDK 6
In the Summer 2007 semester, we began using Sun's JDK 6.  Most 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 6.  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 JDK 6 or 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 JDK 6 or 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.


08/21/07 Regarding Assignment #3
Here is the partial content of an email exchange between a student and myself that you may find useful:

Student:  C1) The instructions provided to install the jakarta tomcat software and servlet worked perfectly.

RGB:  Good.

Student:  C2) I wasn't able to find the version of tomcat you indicated on the jakarta website or anywhere on the internet. The version I downloaded was version 5.5.4. This version didn't have the classes sub-directory under WEB-INF so I manually created one.

RGB:  See the following text in my article entitled Getting Started with Jakarta Tomcat, Servlets, and JSP at http://www.dickbaldwin.com/java/Java679.htm

"Fortunately, Marty Hall has published an excellent web site explaining how to install and configure Tomcat, and how to deploy servlets and JSP documents on Tomcat with a minimum of effort.

Perhaps more importantly, he has provided a link where students can download a preconfigured version of Tomcat 5, which eliminates the requirement for configuration following installation (normally, configuration entails making numerous editing changes to XML files)."

That will link you to the download URL, but it looks like Marty Hall has upgraded from the version I specified to version 5.5.4.  Thanks for the heads-up on this.  (As of 07/14/05, it looks like Marty Hall has upgraded the preconfigured download to version 5.5.9.)

Note to all students:  This student reported that it was necessary for him to manually create the directory named classes.  Apparently the use of Tomcat v5.5.4 by this student was successful.

Student:  Q3) I got an error during the javac process "Exception in thread "main" ...... however a Asg04_01.class file did manage to get created. Was this expected?

RGB:  I'm not sure what was going on there, but I wouldn't expect a compiler error.

Student:  Q4) The only way I could match your output was to manually resize the Internet Explorer window. Did you intend for the java code to resize the IE window?

RGB:  No, you were correct to resize it.  I needed to make it small so that the image would be a reasonable size for publication.  I've never considered whether or not it is possible for code in an HTML file to automatically resize a browser window.  Even if that is possible, it wouldn't be a fair requirement for a Java course unless that course also had a very serious HTML component.


08/21/07 Clarification on assignment numbers
Apparently there is some confusion regarding the assignment numbers and the numbers used in the file names required by those assignments.  This is because the file names reflect the chapter number in the book along with the specific assignment for that particular chapter.  For example, the file named Asg02_01.class is required for Assignment #1.  This file name indicates that this is the first programming requirement for Chapter 2.  (There are no programming requirements for Chapters 1, 7, and 10.)  In some future semester, I may require another program for Chapter 2, in which case the required file name for that new program will be Asg02_02.

 Hopefully the following chart will help to eliminate the confusion.

Assignment Number

Chapter

File Name

1 2 Asg02_01.class
2 3 Asg03_01.class
3 4 Asg04_01.class
4 5 Asg05_01.class
5 6 Asg06_01.class
6 8 Asg08_01.class
7 9 Asg09_01.class
8 11 Asg11_01.class

08/21/07 Warnings in JDK version 1.5
As a result of changes (improvements?) made in JDK 1.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.


08/21/07 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.


08/21/07 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.


08/21/07 Your Name in the Output
An alert student has pointed out that, contrary to my statement in the document entitled General Instructions for Completing and Submitting Programming Assignments, there is no specified requirement in Assignment 2, (otherwise known as the class named Asg03_01), for you to display your name in the program output.  Therefore, you do not need to display your name in order to meet the program specifications.


08/21/07 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.

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.


08/21/07 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.


08/21/07 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.)


08/21/07 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:

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.


08/21/07 Openings for Paid Student Internships in Nanotechnology
See the following URL for information on paid internships for ACC students.

http://www.sematech.org/research/nwdi/index.htm


08/21/07 Job Posting
 

I have been asked to post this job opening each semester for the past several semesters.  I don't have confirmation that the opening still exists, but I have reason to believe that it does.

National Instruments is a technology pioneer and industry leader in virtual instrumentation, delivering today’s most advanced technologies for test, control, and design. Headquartered in Austin, Texas, NI has almost 4,000 employees worldwide and direct operations in 40 countries. The company sells products to more than 25,000 companies in 90 countries. FORTUNE magazine has named NI one of the 100 best companies to work for in America for seven consecutive years.

R&D Software Technician Engineering Department.
Responsibilities include ownership, maintenance and debugging of existing applications; software development to automate product testing. Skills relevant to software positions across multiple groups include - Basic understanding of electronics, computers, and high-level programming languages; effective problem solving skills; good knowledge of at least one programming language.

If you're interested in our position, please post your resume here: ni.com/career


09/18/07 Grades
I have been notified that I am no longer allowed to send your grades to you via email.  Therefore, in order to view your grades on assignments and exams, you must establish a Blackboard account.  Since I have never established a student Blackboard account, I can't tell you what is involved.  All I can tell you is that you can probably begin that process at the following link:

http://acconline.austincc.edu/

You should find only one available section of this course within Blackboard, and that is the one you will need to connect to.

Once you are connected, you should be able to view your grades in the grade book.  Once again, never having gone through that process as a student, I can't tell you what is involved.

Please be aware that only the individual grades showing in the grade book are of significance, and they are provided for information purposes only.  The computations that purport to show your final grade are meaningless.  I will compute and record your final grade (possibly including a curve) according to the information contained in the syllabus and other related documents, and will cause that grade to be recorded at the end of the semester completely independent of the Blackboard grade book.

Also be aware that if you find any information in Blackboard that conflicts with information provided in the syllabus and its associated documents, the information in the syllabus and its associated documents will prevail.  If you find such conflicts, please notify me.

If you are unable to set up your account and view your individual grades via Blackboard, please let me know.

Since this is my very first experience using Blackboard, I may find it necessary to modify this posting as time progresses.


-end-

File: BulletinBoard.htm