This is the main web page for the course. This page, along with the pages pointed to by Links and the online Blackboard program are used to establish the "rules of the road" for the course.
This page contains important information on many different topics in no particular order. Other pages pointed to by Links contain information that is more specific as indicated by the title of the page.
Read the syllabus
You should read the
syllabus
for this course before reading further in this page.
Orientation:
All students are required to complete the online orientation.
Click here to complete your online orientation.
Use of the Blackboard online system
The online program named
Blackboard
will be used for communicating with students, such as reporting grades,
posting announcements, sending Email messages to individual students, and broadcasting
Email messages to all students enrolled in the course.
The Blackboard Assignment and Test features are the mechanisms that you will use to submit your assignments and to take your tests.
The Blackboard "Send Email" feature is the mechanism that you will use to send Email messages to me.
Spam blocking software
I receive several hundred Email messages every day. Many of the messages that
I receive contain viruses or worms. Most of the rest are SPAM.
Therefore, whenever you send a new Email message to me, you MUST
use the Blackboard "Send Email" feature to construct and send the
message, and your Subject line MUST contain a brief
description of the topic. (Don't simply reply to an earlier Email message
from me if the topic is different.)
When I see that format, I will trust that the message is safe to open and read. Otherwise, I will assume that your message contains a virus or constitutes SPAM, and I will simply delete your message without reading it.
Questions via Email:
From time to time you may need to ask questions via Email, and I encourage you
to do so. However, please make the question as specific as possible. For
example, "What is OOP?" is not a question that I can easily answer via Email.
If you, like many others, procrastinate and save your questions until the day before an assignment or test deadline, don't be surprised if you don't get a response from me until after the deadline has passed.
I am usually happy to answer questions about Java OOP concepts at the level of this course. However, please don't ask me to tell you how to write the program for an assignment. It is almost certain that I won't do so. It isn't fair for me to provide information about how to write an assignment program to one student when all students don't have an opportunity to hear the question and the answer.
When appropriate, please illustrate your question with a short sample program. When you send a sample program, please observe several important rules:
I am here to help you, so don't hesitate to ask for help when you need it.
Response to Email:
I normally respond to student
Email messages within 24 hours except on weekends. If you send a message to
me and you don't receive a response within
24 hours (allow 72 hours on weekends), make certain that your Subject line is
correctly formatted and send the message again.
Help me debug my program
Please don't waste our time by asking me to help you debug your programs. The
best way to debug is to avoid errors in the first place. Then there won't be
any bugs that require attention.
If you understand the requisite programming concepts, the only bugs that you will incur will be the result of careless errors on your part. I won't waste my time showing you how to correct for your own carelessness.
Getting Started:
See the module titled
Java3000: The
Guzdial-Ericson Multimedia Class Library for instructions on how to compile
and run a Java application that incorporates the Ericson media library.
Failure to Meet Prerequisites:
Please don't ask me to teach the COSC 1336 Programming Fundamentals I material
to you. If you don't already understand that material, it will be your
responsibility to learn it, on your own, without assistance from me.
Carelessness is costly
A few semesters back, on the last Friday of the month, which was anticipated to
be one of the most active trading days of the month, programmers working on a
network made a careless error and shut the NASDAQ stock exchange down for
several hours. There is no way of estimating how much this cost various people
around the world.
A few months later, programmers working for a telephone company made a careless programming error and swamped the 911 emergency call center in Austin with wrong numbers for several hours. Hopefully no one died as a result, but we will never know.
Although careless errors on assignment programs may not be as costly as the errors described above, they are costly nonetheless. In fact, the cost for making a careless error on an assignment program is just as costly as not knowing how to write the program in the first place. In either case, you get no credit for the program. So, don't be careless.
Who Am I?
I receive many Email messages addressed to Dr. Baldwin, and I appreciate the
courtesy. However, my highest degree earned is a Masters Degree in Electrical
Engineering, and I am a full Professor at ACC. Under the circumstances, Prof.
Baldwin is a more appropriate salutation than Dr. Baldwin.
Please Be Patient
Other than questions regarding registration, please do not send Email regarding
this course prior to the first day of classes. If you do, I probably won't
answer it. A great deal of preparation is required to teach a course of this
nature. I have many responsibilities to take care of in the final days before
the course begins and I do not have the time to work with individual students
until after the course actually begins. If I reach the point that I can accept
Email regarding this course prior to the first day of classes, I will post that
fact as a Blackboard announcement.
Crossing the OOP Chasm
The biggest challenge that many of you will face in successfully completing
this course will be
learning how to read, understand, and comply with instructions and
specifications (see Online
Orientation).
After that, the next biggest challenge will be crossing the chasm from procedural programming to object-oriented programming (see Who Should Enroll).
(Unfortunately, most of you probably learned what you know about programming from a procedural rather than an object-oriented viewpoint, and bad thinking habits are very hard to break.)
My biggest challenge is figuring out how to help you cross that chasm. Unfortunately, I don't have a magic recipe for accomplishing this.
If history is any indication of the future, many of you won't make it across. For this reason, you should plan to devote a very large amount of time and effort to the task of understanding OOP (as opposed to simply memorizing the mechanics of Java programming).
Computer Studies Student Information Form
The following information is requested by the Computer Studies department, but is not a
requirement of the course in which you are enrolled. Whether or not you
provide the following information will not be taken into account when
determining your grade in the course.
If you are willing to provide this information, please use the Blackboard "Send Email" feature to compose a message containing the following information and send it to me.
If you do provide the information, please make the subject line of your Email message read as follows: Student Information Form
DO NOT include this information in the message that you send confirming that you have completed online orientation. Send separate messages for those two purposes.
You should be able to copy and paste the following form into your Blackboard Email client and then fill in the blanks. Don't be too concerned about neatness when filling in the form.
Last Name:_____________________
First Name:_____________________
Student ID:_____________________
Course Number: IT__ ____
Telephone Numbers
Home:___________
Work:___________
Other:___________
E-mail address:_________
Any issues that the instructor should be aware of:
_________________________________________________
Reasons for taking the course:
_____Personal Interest
_____Required by degree program, which is ______________
_____Work related - please explain in comments section below
_____Recommended by ______________________________
_____Other, please explain in comments section below
Please indicate the following:
_____Hours working per week
_____Number of credit hours enrolled in this semester
_____Number of computer courses completed at ACC
_____Highest degree earned
What computer courses have you completed at ACC or elsewhere?
_____________________________________________________
What computer or computer related work experience do you have?
_____________________________________________________
Comments:
_____________________________________________________
The Importance of Sun's Java
Documentation
I cannot overemphasize the importance of learning how to use Sun's Java
documentation for aspiring Java programmers. I have published a lesson
titled
Java OOP: Java Documentation, which you would do well to study.
Warnings in JDK version 1.5 and later
As a result of changes (improvements?) made in JDK1.5, (see my lesson
entitled Generics in J2SE
5.0) many existing programs will produce the following warning when
recompiled using JDK 1.5 or later versions:
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 in this course. You will learn how to deal with this issue in the Generics portion of ITSE 2317.
Also, the lesson titled Generics in J2SE 5.0 explains how to avoid the warning on future programs. It is extremely unlikely that I will modify and re-publish earlier programs that worked fine prior to the changes in the JDK.
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 attach 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.
Your official Email address
It is my understanding that all ACC students have
been provided
an official Email address by ACC, and that address is 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 a point to either forward those messages, or to check your ACC
Email address on a daily basis.
When I need to send a broadcast message to all students in the course, (and in most other cases as well) I will send that message to your official ACC Email address. If you don't check you mail at that address, you won't get the message.
Also, if I need to send feedback to you regarding problems with an assignment or test, I will normally send that message to your official ACC Email address.
DrJava
You may want to use a free Java IDE named
DrJava. It has some 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.
See RunningDrJavaAtACC for instructions for running DrJava in the ACC NRG labs.
Published tutorials and programs using Ericson's
multimedia library
I have published a number of tutorials and sample programs using Ericson's media
library. See the tutorials beginning with #340 at http://www.dickbaldwin.com/tocadv.htm.
Publishing at cnx.org
The course materials for this course are published at
ITSE 2321 - Object-Oriented Programming (Java) .
There are no advertisements on that site.
In addition to normal online viewing, you can download all of the modules in a single pdf file in a book format for offline viewing. You can download the modules in html format in a single consolidated zip file. You can also download the modules in different formats that are compatible with mobile devices.
You can also purchase the entire e-book in printed form from this site. (Note that I receive no compensation when you purchase the printed version of the e-book.)
Programming Oldies But Goodies
You will also find many of
my tutorials published free of advertisements at
Programming Oldies But Goodies.
If things don't seem to be working properly when you follow these links, you may need to clear your cache or force a reload or both.
-end-
File: ITSE2321.htm
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.