Assignment Instructions
You will create four classes that must all interact in some meaningful way. In order to start you will create a class diagram to determine which classes depend on other classes and what those classes are. The classes you create will be:
-University
-Course
-Instructor
-Student
Further, you must create a fifth class called "Main" that creates instances of the above classes to test and demonstrate the use of the classes. This is often called a "driver class".
To begin I suggest you look at your four classes and individually decide what each will contain. Ask yourself what are the attributes and what does this class do. From here you should be able to get a toe hold to start your development.
Within this project you must use the following:
1. Multiple constructors within one class
2. Internal and external method calls(which will be necessary)
3. An if statement
4. Import statements used correctly
5. Two collections from the java library, one of which may be an ArrayList
6. Loops
a. for-each
b. while
c. for
7. An Iterator
8. An array
9. Logic operators
10. Mathematical operators
11. String methods (use the java libraries)
12. Random number generator
13. A HashMap in addition to the requirements in 5 above.
14. At least one class constant variable
15. Create a "driver class" called "Main" that demo's your design and classes.
This must have a program entry point method with the signature: public static void main( String[] args)
16. You must create a JUnit test class for ONE of you classes, and write test methods in this class for TWO of your methods in the class that you are testing. Thus you will have TWO test methods in your JUnit test class.
17. Your code should be:
a. Well designed
b. Commented and each class should be documented
c. TESTED
18. In the read me file include step by step instructions on how to use your project.
19. In addition to turning in your zipped project file, you must create a PDF document with several screen shots of your running program that shows at least the following:
a. Your program in action and what it does
b. Execution of your JUnit test methods
c. Execution of your program directly from the command prompt without using BlueJ.