ISYS 316 - Advanced Java Programming

Fall 2003

 

Instructor:

Name: Jon Huhtala
Office: Business 366
Phone: 231-591-2477  (extension 2477 on campus)
E-mail:

When sending e-mail, mention ISYS 316 in the subject line or your e-mail will be deleted.

 

My Schedule:

 

M

T

W

R

F

8:00

ISYS 216

 

ISYS 216

 

ISYS 216

9:00

ISYS 316

 

ISYS 316

 

ISYS 316

10:00

Office  

Office

 

Office

11:00

ISYS 216   ISYS 216   ISYS 216

12:00

 

       

1:00

         

2:00

ISYS 216

  ISYS 216   ISYS 216

3:00

    Office    

4:00

         

 

Course Outcomes:

Upon successful completion of this course, you will be able to:

  1. Describe and employ the classes of Java's Abstract Windows Toolkit in graphical, event-driven Windows programs and applets.

  2. Explain and use Java's layout manager classes and container classes to control the appearance of a graphical user interface.

  3. Describe and use standard components to facilitate user input and output in a graphical program.

  4. Identify and employ standard listeners and their required event handler methods within an event-driven program.

  5. Define and apply a menu bar to a Windows program.

  6. Identify and use the interfaces and classes of Java's Collections framework to both store and retrieve objects from a collection of data objects.

  7. Identify and use exception handling features in a Java program to both throw and catch exceptions.

  8. Explain and employ multithreading to initiate and control simultaneous processing activities within a Java program or applet.

  9. Describe and use packaged Java classes to write objects to and read objects from a disk file.

  10. Identify and apply Java networking features in a client/server program.

Your Java skills will be sufficient to code a Java solution to nearly any information systems project. You will also have learned all elements needed to become a Sun Certified Java Programmer.

 

Prerequisites:

 

Text:

None is required but a reference can be helpful. Of all Java books on the market, the one best-suited to accompany this course is Java 2: The Complete Reference, Fifth Edition by Hebert Schildt.

 

Web Resources:

The primary course Web site is Java Help. It contains the syllabus, daily class schedule, Java lessons, programming assignments, sample programs, your grade, and links to other Java resources.

Everything else you need pertaining to Java is available FREE on the Internet including the following:

 

Required Supplies:

If you are a classroom student, you will need:

If you are an Internet student, you will need:

 

Classroom Policies and Attendance (classroom students ONLY):

It is expected that everyone will conduct themselves in a professional manner by following these rules:

 

Lessons:

This course consists of 26 lessons. Read and study each lesson BEFORE the day it is scheduled for class.

If you are a classroom student:

 If you are an Internet student:

Each lesson ends with several certification-style review questions. Although you will not be directly graded on these review questions, you must learn how to answer them if you hope to do well on the final exam. You may download or view the answers to the review questions as a Word document.

 

Lab Work:

A graded lab assignment will accompany nearly every lesson. It will require you to write and test some Java code. The essential skill of running Java programs must be quickly mastered

If you are a classroom student:

If you are an Internet student:

 

Programming Projects:

You will develop four graded programs this semester. Submission details will be contained within each programming assignment, but the general procedure will be to send me an e-mail containing ONLY the program's source code no later than midnight on the program due date. To verify that you are doing this properly, you should send a copy of the e-mail to yourself, extract the source code, and re-test the program. If it works for you, it will probably work for me.

In grading your program, I will compile it and test it to verify that it meets project specifications. I will also check to see that your code is well documented, properly structured, and efficient. For full credit, your program must run correctly and be easy to maintain.

Late work will NOT be accepted without written proof of an illness or emergency.

 

Getting Help:

Don't automatically run for help when you encounter a problem. Try to solve it yourself. Look in my lessons, your class notes, a Java book, the online help facility, my sample programs, etc.. If you're still stuck after an hour or two, it's time to get help.

If you are a classroom student:

If you are an Internet student:

An excellent help resource is the Big Moose Saloon at Javaranch. Become a participant in the Java in General (beginner) forum. When you register, be sure to use your real name (no nicknames). If you ask an intelligent (well researched) question, you will receive fast, friendly, and FREE help from Java experts around the world. The saloon is never closed. 

 

Final Exam:

At the end of the semester you will take a fifty question, mock Java certification exam covering all course material. The format of the exam will be the same as the review questions at the end of each lesson but no reference materials will be allowed. You may use one blank sheet of scrap paper (to be turned in with the test).

If you are a classroom student:

If you are an Internet student:

The exam is extremely difficult and designed to determine if you thoroughly understand Java.

 

Grades:

Your grade will be based on either programming projects and lab work or the final exam. It will be the highest grade earned according to the following table:

Projects and Labs %

Final Exam %

Final Grade

  60 and up

A

70 and up 50 - 59 B
60 - 69  40 - 49 C
50 - 59 30 - 39 D
0 - 49 0 - 29 F

Examples:

Note that:

 

To Succeed:

Java is a VERY demanding language, but the rewards are great. A highly-skilled Java programmer can earn upwards of $100,000 per year. Becoming a Sun Certified Programmer tells a prospective employer of your skills.

To achieve this goal: