PRG 421 Entire Course

PRG 421 Entire Course


Week 1 Individual: Singleton Pattern Program
Write a Java program (non-GUI preferred) to
demonstrate the Singleton pattern.The key parts of the singleton pattern
are:
A private static variable to store the single
instance called the singleton

A public static method for callers to get a
reference to the instance

A private constructor so no callers can instantiate
the object directly

Using these key parts,
write a Java program that will allow a user of the program to assign only one
runner to each of the 8 lanes of running track in a field.Include a brief documentation (in the code or in a separate document) to explain
the input (if any), processing and output of the program.Submit your assignment using the Assignment Files tab above.       Week
2 Individual: ArrayList ProgramWrite a Java program (non-GUI preferred) to
demonstrate the use of an ArrayList.The program should allow a user to do the
following:
Add, edit, delete different types of animals

Select an animal, and the corresponding
characteristics will be displayed (such as color, vertebrate or
invertebrate, can swim, etc.)

The program must use ArrayList(s) to work with these
animal objects.

Include a brief documentation (in the code or in a separate document) to explain
the input (if any), processing and output of the program.Submit your assignment using the Assignment Files tab above.      Week
2 Learning Team: Program Improvement ISelect one program submitted by a team member in
Week One.Suggest at least 3 ways to improve the selected program.  One of these
improvements must be related to applying assertion, exceptions, data formatting
or localization.Write code and test the
improved program.  Deliverables should include:
The source code file(s) of the improved program.

A 2- to 3-page paper on the approach the team has
taken to improve the program.

Why some of the changes are relevant to this week's
objectives.

Any challenges the team encountered and suggest any
future improvements.

Submit your assignment using the Assignment Files tab above.         Week
3 Individual: Iterator ProgramWrite a Java program (non-GUI preferred) to
demonstrate the use of Iterator.The program should allow a user to do the
following:
Allow the reading of a collection of animal objects
from an external file.

Output on screen the content of a collection of
animal objects.

Use Iterator to achieve these goals.

Include a brief documentation (in the code or in a separate document) to explain
the input (if any), processing and output of the program.Submit your assignment using the Assignment Files tab above.       Week
3 Learning Team: Program Improvement IISelect one program submitted by a team member in
Week Two.Suggest at least 3 ways to improve the selected program. One of these improvements
must be related to the use of generic class, a collection or Java File I/O.Write code and test the
improved program.  Deliverables should include:
The source code file(s) of the improved program.

A 2- to 3-page paper on the approach the team has
taken to improve the program.

Why some of the changes are relevant to this week's
objectives.

Any challenges the team encountered and suggest any
future improvements.

Submit your assignment using the Assignment Files tab above.      Week
4 Individual: JDBC ProgramWrite a Java program (non-GUI preferred) to demonstrate
the use of JDBC.The program should allow a user to do the
following:
Write a list of animal and its characteristics to a
database using JDBC

Display the characteristics of an animal when that
animal is selected.

Include a brief documentation (in the code or in a separate document) to explain
the input (if any), processing and output of the program.Submit your assignment using the Assignment Files tab above. Note from Instructor:To assist, I have included a demo file
"JavaDB week 4 Demo code" of a database and installation
instructions.

PLEASE USE THIS DEMO DATABASE.  I have had
students want to use other database engines and it makes it very difficult when
that happens.  This is not a class in different databases, but just how to
connect Java to a database, and thus we are going to use the simplest one
possible, mySQL.     Week
4 Learning Team: Program Improvement IIISelect one program submitted by a team member in
Week Three.Suggest at least 3 ways to improve the selected program. One of these improvements
should be related to the use of JDBC.Write code and test the
improved program.  Deliverables should include:
The source code file(s) of the improved program.

A 2- to 3-page paper on the approach the team has
taken to improve the program.

Why some of the changes are relevant to this week's
objectives.

Any challenges the team encountered and suggest any
future improvements.

Submit your assignment using the Assignment Files tab above.     Week
5 Individual: Concurrent ProgrammingWrite a
Java program (non-GUI preferred) that has a method named atomic().Demonstrate in
the program how two threads can, sometimes, invoke atomic() concurrently.Create a
second version of the program in which the two threads cannot invoke atomic
concurrently.Submit both
programs using the Assignment Files tab above. To
assist, I have included a demo file of a multi-thread program.  Remember
that the ideal program demonstrates threading in action.    Week
5 Learning Team: Program Improvement IVSelect one program submitted by a team member in
Week Four.Suggest at least 3 ways to improve the selected program. One of these improvements
should be related to the use of thread.Write code and test the
improved program. Deliverables should include:
The source code file(s) of the improved program.

A 2- to 3-page paper on the approach the team has
taken to improve the program.

Why some of the changes are relevant to this week's
objectives.

Any challenges the team encountered and suggest any
future improvements.

Submit your assignment using the Assignment Files tab above.