University Management

Design and implement a program to manage university courses, teachers, and students.
All the classes must belong to the package university.

R1. University

The user interface interact through the class University, whose constructor receives as argument the name of the university.
The name of the university can be retrieved through methdo getName().

It is possible to define the name of the rector by means of the method setRector() that accepts as arguments the first and last name of the Rector.
The method getRector() returns the first and last name of the Rector concatenated and separated by a blank space (" ").

R2. Students

It is possible to enter information concerning a new student thought the method enroll() of class University, that receives as arguments first and last name of the student; the method returns the ID number which has been assigned to the student.
ID numbers are are assigned progressively in each university starting from number 10000.
We assume that each university has at most 1000 enrolled students.
To retrieve information about a student we can use the method student() that receives as an argument the ID number and returns a string made up of ID, first, and last name separated by blank spaces.

R3. Courses

To define a new course we can use the method activate() that receives as arguments the title of the course and the name of the reponsible teacher. The method returns an integer that corresponds to the course code. Codes are assigned progressively starting from 10.
We can safely assume that no university has more than 50 courses.
To retrieve the information about a course we can used the method course() that accepts the course's code and returns a string countaining code, title, and teacher separated by blank spaces.

R4. Course attendance

Students that wish to attend a course must be registered through the method register() that accepts as arguments the ID of the student and the course's code.
We can safely assume that no course has more than 100 attending students and that each student can attend no more that 25 distinct courses.

To get the list of students attending a course we can use the method listAttendees() that accepts the code of the course and returns a string containing the list of attendees.
The student appear one per row (rows are terminated by a new-line character '\n') and each row is formatted as describe in requirement R2.
Given the ID of a student, it is possible through method studyPlan() to get the list of courses the student is attending. Courses are described on per row and formatted as described in requirement R3.