IT 380
Programming Logic and Design

Java Client Side
Applets and Applications

 



 

Instructor:

Dale R. "Zai" Fox

Office:

159 Chester Hall

Office Hours: 3:30 - 5:50 PM Monday, Wednesday
other hours by appointment

Phone:

(216)-432-8986

E-mail:

dfox@myers.edu

Text:

These text books are only suggested.  Many people in the class will choose to not buy any book.  Many in my past classes say my websites are developed enough they do not need one.  I put these here for additional references.  Particularly if you plan on working with Java in the future or trying to pass some of their certifications you may purchase these books or others. 

Each book has its perspectives and advantages.

  • Deitel & Deitel, Java: How to Program, Prentice Hall.
    • Deitel and Deitel are engineers that develop their own training courses.  Though, I probably should mention they are MIT engineers.
    • Their approach has quite deep examples
    • Their writing is very dense, but thorough
    • This book was my preferred reference for learning.  But you need to look it over quite a bit before purchasing.

When I first taught this course I used Deitel & Deitel.  The students ended up getting through the course reasonably well.  But I discovered the text is just somewhat too hard for the students I see in classes.  So I developed this web with the idea of stepping Deitel & Deitel down a notch to fill in more steps along the way.

  • Malik, Java Programming: From Problem Analysis to Program Design, Course Technology
    • This book is written more from the view of Computer Science.  The follow up books take the typical CS route of Data Structures and so on.  It is not as application or example driven as Deitel & Deitel.

Methodology:

Considering that this is a first course in Java, I will focus on developing the usual tools and syntax common to programming in just about any language.  They will be somewhat different in Java, but they will also be very similar to what they are in other languages. 

So initially we will talk a little about Java Applications and Applets.  Then we will study

  • some background on GUIs

    • Java applications
    • Java applets
  • control structures - decisions

    • error handling
  • control structures - loops

  • methods - functions

  • arrays

  • classes and objects

Evaluation:

- 40% of your grade will be based on a final test. The test will be a mixture of multiple choice and short answer with some program debugging.

- 60% of your grade will be based on two homework assignments. All of the problems need be turned in individually.  On the other hand, you are expected to work together to develop your solutions.   Each homework assignment will be graded on a 100 point scale.

They will be due at midnight on the day they are due.

  • If you turn a homework assignment in late within a day of the due date you will lose 5 points.
  • If you turn it in late within 3 days of the due date you will lose 10 points.
  • Anything turned in later than 3 days but still within a week will result in an automatic loss of 15 points.
  • Anything more than a week late will result in an automatic loss of 25 points.
  • You are always best off getting in portions of your homework that are well done as soon as you can.  For example, problems that are turned in on time will not be subject to late penalties.

You will want to e-mail your solutions to me by the date and time they are due. Any written discussion should be placed in a Word file and attached/inserted. You will also attach/insert things such as forms and projects to your e-mail.  You also need to make sure you get an acknowledgement that I have received your email and solutions.

Any lateness due to things such as illnesses, illnesses in the family or other things need to be independently verified.  I do not necessarily need to know the details.  For example, I am quite comfortable trusting a physician's statement without knowing the specifics of an illness.  But I need some sort of reliable verification so that other students in the class do not feel that anyone is getting special treatment.

Course Objectives:
  • Know how to configure a computer so that one can develop and execute Java programs on it.
  • Understand the differences, advantages and disadvantages of applets and applications
  • Be able to convert Java applets into applications and applications into applets
  • Be able to develop basic GUIs - Graphical User Interfaces making use of certain layouts and components
  • Know how to make use of particular ActionEvents for user interoperability
  • Understand the use of particular decision structures in Java
  • Understand the use of particular looping structures in Java
  • Learn to work with some of Java's pre-built methods and classes
  • Learn to develop user-built methods and classes
Web Sources: Outside of this course web you want to make certain you familiarize yourself with Sun's java homepage at java.sun.com.  It can be very difficult to find what you want, but if you want to improve competence with Java you need this webpage.
 
Software Installation:

One of the first things we need to do for the class is determine who has laptops that they will use.  We will run through installing the software on your laptops.  Eventually, we may make use of some sort of integrated development environment such as Eclipse, JBuilder or JCreator. 

Make sure that you learn how to the settings on your computer so that you can compile and run your java programs in any directory.  The approach to do this will depend on your desktop operating system. 

In earlier versions of Windows you need to modify the path in your Autoexec.bat so that Java will work in all the necessary locations.  You need to add something like

C:\JDK1.2.1\BIN;%PATH% 

to your path.  You also need to make sure you restart your computer in order to enable this new path command in the Autoexec.bat.

With more recent versions of Windows where they finally no longer have DOS at its core, you need to do something different, but analogous.  Directions will be given in class.  You can also get the directions off the CD that accompanies Deitel & Deitel.

 

 



Weekly Topic Coverage

Week 1

Getting Acquainted
Loading Software and Testing
Some Background on Object Oriented Programming
Some Background on Java
Java Applets and Applications

User Interactions with JOptionPane

Week 2

Doing Some Sample Applications and Applets
Data Types
Data Type Conversion
Control Characters for Display

A Bit About Exception Handling
Some Number Format Exception Handling
Flowchart Sequence Structure

Week 3

Control Structures - Decision Statements
Expressions and Operators
If (expression) Code Segments
If (expression) Else Code Segments
If (expression) Else If (expression) Code Segments
Switch Code Segments
Flow Chart Selection/Decision Structures

Homework 1

Week 4

More on Control Structures - Loops
Looping for a pre-specified duration - For Loops
Looping until a condition is met - While Loops
Nesting Loops
Repetition/Looping Structures

Week 5

Methods
Some Built In Math Methods
Some Built In String Methods
Some Built In Character Methods

Developing User Defined Methods
A User-Defined Method to Find Squares
A User-Defined Method to Find Integer Powers of Integers
A User Defined Method for Info About Circles
Formatting Decimal Places in Output

Week 6

Some Initial GUI Development
Some General Background on GUIs
Some Basic GUI Components
Flow Layouts
The Most Basic ActionEvents
A GUI with More Than One ActionEvent Source
Grid Layouts

Homework 2

Week 7

Some Basic Randomness and Games
Generating Random Numbers in Java
Rolling a Die
Simulating Playing Craps

Prep for the Final

Week 8

Test

 

Week 9

Arrays
Some Background on Arrays
Initializing an Array with a List
Initializing an Array with a Loop
Passing Arrays and Their Elements to Methods
Initializing an Array from a GUI
Casting Strings Into Arrays

Homework 3

Week 10

More on Arrays
A Bit About Algorithms and Their Effectiveness

Linear Search for Elements in an Array
Bubble Sort

Multidimensional Arrays
Some Background on Multidimensional Arrays
Initializing Multidimensional Arrays

Week 11

User Defined Classes and Objects
Background on User Defined Classes
Starting a Class for Working with Time
Creating Packages
Overloading Constructors
Get and Set Methods
The this Reference

Week 12

A Class for Circles and a Test GUI
A Class for Rectangles and a Test GUI
A Class and GUI for Working with Fractions

A GUI Class for Circles

Homework 4

Week 13

Using Composition of Classes to Develop a Class

Super and Sub Classes
Developing the Point Before the Circle
Constructors and Finalizers Revisited
Point - Circle - Cylinder

Polymorphism
Case Study of  a Payroll System

Week 14

Some More GUI Controls
Item Events
Check Boxes
Radio Buttons

Combo Boxes
Change Events
Sliders

Week 15

Some More Layouts
Border Layouts
GridBag Layouts

Tabbed Panes

Homework 5

Finals

Test

 


 


Return to Dale R. "Zy" Fox's Courses Page

Return to Dale R. "Zy" Fox's Home Page