Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Assignment 2

ITEC 2610 – SUMMER 2022

In  this  assignment,  you  will  be  implementing  a  university  portal  system.  The  goal  of  this assignment is to have a better understanding of OOP concepts studied in the class and to get hands-on experience on a working project.

The weight for this assignment is 10% of the course total. The assignment will be graded out of 100.

Portal Requirements

The goal is to create a university portal specific to CS (computer science) and CE (computer engineering) students.  It stores the information about the users of the system and different courses that are taught in these two majors.

Users

The users of this portal can be professors or students (hint: you will have a “user” class as a        superclass and student” & “professor” classes will be inherited from it). Students will either be majored in CS or CE.

CS students need to take 8 credits from math-related courses and 6 credits from programming- related courses to graduate. CE students need to take 6 credits from math-related courses and 8 credits from programming related courses to graduate.

The following information should be available for the users:

•   Students: name, student ID, major, list of courses they have taken, whether they are      eligible to graduate or not (this will be calculated based on the courses they have taken, the credit and group of these courses and the student’s major)

•   Professors: name, employee ID, list of courses they teach

You have to design the classes and figure out which attributes should be used in the superclass and  which  ones  are  in  the  subclasses.  Please  pay  attention  to  the  inheritance  hierarchy, interfaces, and abstract classes and methods (can any of them be used here?) .

Course

Each course will have the following information:

•   Title (e.g, ITEC2610)

•   Group (math or programming)

•   Credit (1, 2, or 3)

Don’t forget to create constructors for your classes.

Demo

This  is where you  create your  main”  method,  create  Instances from the  classes you  have designed, test the functionalities, and run the whole portal.

Inside the demo file, you will create a list of courses available to students . This list should have 10 courses of your choice (5 from the math group and 5 from the programming group) – they don’t need to be real courses .

When you run the program, the following steps are expected:

•   The user (whoever is running your program), should be able to register one student and one professor (for ease of use) into the portal. Here is how the console should look like:

-Please enter the name of student:

+Sarah Nicole

-Please enter the student ID of student:

+123456789

-Please enter the major for student:

+CE

-Please enter the list of the courses for student:

+ITEC2610, MATH1090

-Please enter the name of the professor:

+Tina Blaise

-Please enter the employee ID for the professor:

+987654321

-Please enter the list of the courses the professor is teaching:

+MATH1090

Please note that the user is only entering the title of the courses. You have to find the course name in the list that you have generated, create an instance with the known information in the list, and add it to the list of courses the student/prof has.

I will not test your program with incorrect inputs (such as courses that don’t exist in your list), so you do not need to handle input validation.

•   After the student and professor are registered, your program will show the information about them. Example:

The student’s name is Sarah Nicole with the student ID of 123456789 majoring in CE . Their courses are ITEC2610 and MATH1090. They are not eligible to graduate.

The professor’s name is Tina Blaise with the employee Id of 987654321. They are teaching MATH1090 .

Submission

Please note that submissions are only accepted individually, and you may not seek help from other classmates. Feel free to email the instructor if you have any questions.

•   You are required to submit the following .java files based on the requirements:

o User.java

o Professor.java

o Student.java

o CeStudent.java

o CsStudent.java

o Course.java

o Demo.java

Slight changes in the above number of files are allowed as long as the requirements are met.

•   The Demo.java file must include your full name, email address, and student id as follows:

Name: Mana Poustizadeh

Email: mana4@yorku.ca

Student ID: XXXXXXXXX

Note: this is important for grading your work, if you don't put in your name and student

ID, it can be very difficult for us to determine whose submission this is.    You will be deducted points if your file does not include this information.

•   Your  submission  should  be  a  zip file  named  assg2_studentID.zip.  Please  replace  the studentID in the file name with your own student ID.

•   You should abide by the policies set by the Senate of York University and by the Faculty of  Liberal Arts &  Professional Studies  regarding the Academic Honesty. Your files are checked for similarities so do not use each other’s files.

•   Submissions are only accepted via eClass. Submissions sent to instructor will not be considered for grading.

Submission Structure

Assg2_XXXXXXXXX.zip

A.java

B.java

C.java

Please note that you should not be submitting your whole project, but just the single java files. Submitting the whole project (src folder, iml file, out folder, etc.) instead of the above format will result in losing marks.