Message ** GMU Course Portal ** CourseID | Course Description | Credit | Seats Remaining IT 106 | Intro to programming | 3.0 | 20 IT 206 | Object-oriented programming | 3.0 | 5 IT 207 | Applied IT Programming| 2.0 | 15 IT 306 | Data Structure and Algo | 3.0 | 10 Total number of courses: 4 Total enrollment: 110 Average Enrollment: 27 Lagest Enrollment in: IT 206 OK Enter course ID: IT 106 Enter course description: Intro to programming Enter credit hour: 3.0 Enter current enrollment:20 Enter course ID: IT 206 Enter course description: Object-oriented programming Enter credit hour: 3.0 Enter current enrollment:35 Enter course ID: IT 207 Enter course description: Applied IT Programming Enter credit hour: 2.0 Enter current enrollment: 25 Enter course ID: IT 306 Enter course description: Data Structure and Algo Enter credit hour: 3.0 Enter current enrollment: 30
Please answer the homework scenario below and make a JAVA OOP code.
You have been hired by GMU to create and manage their course registration portal. Your first
task is to develop a program that will create and track different courses in the portal.
Each course has the following properties:
• a course number ex. IT 106, IT 206,
• A course description, ex. Intro to Programming
• Total credit hour ex. 3.0, and
• current enrollment ex. 30
Each course must have at least a course number and credit hours. The maximum enrollment for
each course is 40 students. The current enrollment should be no greater than the maximum
enrollment. A course can have a maximum of 4 credit hour. The DDC should calculate the
number of seats remaining for the course.
Design an object-oriented solution to create a data definition class for the course object. The
course class must define all the constructors, mutators with proper validation, accessors, and
special purpose methods. The DDC should calculate the number of seats available for a course,
which should be calculated by subtracting the current enrollment from the Maximum
enrollment. Accessors and Mutators must be created for all the instance variables.
With a completed data definition class, your implementation class must instantiate at least four
objects from the data definition class. Your solution will gather course number, name, credit
hour, and current enrollment from the user. Once all the courses are created, the application
should print out a weIl-formatted report stating the total number of courses, total enrollment
and average enrollment. It should also display the course with the largest enrollment.
Other Requirements:
• Your solution must use object-oriented techniques (No points earned for a procedural
solution). You must keep Data definition class and Implementation class separate.
• Exception must be thrown in the DDC and caught in the implementation class.
• Your solution must be designed as a modular solution using methods other than main, with
each method performing one task. The main method should contain only a very minimal
amount of code, calling methods instead.
• Your solution should not use regular expressions for validation or String Builder Class.
• Your solution must include appropriate constants, constructors, accessors, mutators, and special
purpose methods (including a toString() method) with exception handling, as necessary in
support of the problem.
• Your solution may not use any functions or language constructs not covered during IT 106 or this
semester’s IT 206 without prior authorization from your instructor, even if you know other
functions or language constructs. We want everyone to be on the same "playing field",
regardless of previous programming exposure, and get practice with algorithmic design to solve
problems (the intent of the course). Using something existing not discussed in class does not
give you as much practice as solving the problem yourself. Doing this may lead to a substantial
grade penalty, a grade of zero, or an Honor Code inquiry. When in doubt, ask!
Hints:
• You do NOT need to use arrays to solve this problem. Keep in mind once you have finished
entering the information for one group, it is not necessary to keep the information.
• Think about any special purpose methods that might be needed in the data definition class.
Special purpose methods are important when using values in instance variables to perform a
specific process.
Requirements:
1) List and describe the purpose of each class that will be needed to solve this problem
a. You must separately identify (list) and describe the purpose of each class. One or two
sentences per class should be sufficient.
2) Data Definition Class(es) - Create a detailed UML Class Diagram, listing and explaining all class
variables, accessors, mutators, special purpose methods, and constructors associated to each
data definition class.
3) Write a well-documented, efficient Java program that implements the solution design you
identified in 1 to 3 above. Include appropriate documentation as identified in the
documentation expectations document.
![Message
** GMU Course Portal **
CourseID | Course Description | Credit | Seats Remaining
IT 106 | Intro to programming | 3.0 | 20
IT 206 | Object-oriented programming | 3.0 | 5
IT 207 | Applied IT Programming| 2.0 | 15
IT 306 | Data Structure and Algo | 3.0 | 10
Total number of courses: 4
Total enrollment: 110
Average Enrollment: 27
Lagest Enrollment in: IT 206
OK](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F6fce8742-cc7e-4301-a659-4aa9849c80b3%2Fd8ea4d87-ec8a-4abf-9c8e-ed672192dd13%2Fhada1rk_processed.png&w=3840&q=75)
![Enter course ID: IT 106
Enter course description: Intro to programming
Enter credit hour: 3.0
Enter current enrollment:20
Enter course ID: IT 206
Enter course description: Object-oriented programming
Enter credit hour: 3.0
Enter current enrollment:35
Enter course ID: IT 207
Enter course description: Applied IT Programming
Enter credit hour: 2.0
Enter current enrollment: 25
Enter course ID: IT 306
Enter course description: Data Structure and Algo
Enter credit hour: 3.0
Enter current enrollment: 30](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F6fce8742-cc7e-4301-a659-4aa9849c80b3%2Fd8ea4d87-ec8a-4abf-9c8e-ed672192dd13%2Fw0e6uu_processed.png&w=3840&q=75)
Unlock instant AI solutions
Tap the button
to generate a solution
![New Perspectives on HTML5, CSS3, and JavaScript](https://www.bartleby.com/isbn_cover_images/9781305503922/9781305503922_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781305627482/9781305627482_smallCoverImage.gif)
![New Perspectives on HTML5, CSS3, and JavaScript](https://www.bartleby.com/isbn_cover_images/9781305503922/9781305503922_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781305627482/9781305627482_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781285196145/9781285196145_smallCoverImage.gif)
![LINUX+ AND LPIC-1 GDE.TO LINUX CERTIF.](https://www.bartleby.com/isbn_cover_images/9781337569798/9781337569798_smallCoverImage.gif)