Program 4: Advising System
Study the starting program and output transcript carefully until you understand what each missing class and method does. Once that is understood, work out a solution using the following steps:
- Introduction Phase
- Phase 2 (After More about Object Orientation 1)
- Phase 3
- To solve this problem, you need to understand the following new Python concept: object oriented programming.
- If a generic major is having difficulties with courses in the major, that student can visit a professor during office hours.
- If a generic major is having difficulties with math, that student can visit the Math Learning Center in Wilson 1-112.
- A CLS major has a major in the College of Letters and Science. A CLS major has the same resources available as a generic major.
- A COE major has a major in the College of Engineering. In addition to the resources that are available to a generic major, a COE major having difficulties with courses in the major can also visit the EMPower Center in Roberts 313.
- A Physics major is a major in the CLS. In addition to the resources that are available to a CLS major, a Physics major having difficulties with course in the major can also visit the Physics Learning Center in Barnard Hall 230.
- A Computer Engineering major is a major in the COE. A Computer Engineering major has the same resources available as a COE major.
- A Computer Science major is a major in the COE. In addition to the resources that are available to a COE major, a CS major having difficulties with courses in the major can also (1) visit the CS Student Success Center in Barnard Hall 259 or (2) visit a CS professional advisor in Barnard Hall 357.
- Using program4.py as a starting point, supply the missing classes and methods so that this output is produced when the program is run.
- Be sure to utilize inheritance so that your solution is concise and elegant.
Study the starting program and output transcript carefully until you understand what each missing class and method does. Once that is understood, work out a solution using the following steps:
- Make the program work for just a Generic_Major. Comment out all references to other majors in the main function. You can complete this task after the second lecture on Object Oriented Basics.
- Add functionality to handle a CLS_Major. You can complete this task and all subsequent tasks after the first lecture on More Object Orientation.
- Add functionality to handle a COE_Major.
- Add functionality to handle a Computer_Engineering_Major.
- Add functionality to handle a Physics_Major.
- Add functionality to handle a Computer_Science_Major.
- 10 points. The output is correct for a Generic Major who has neither major troubles nor math troubles.
- 10 points. The output is correct for a Generic Major who has both major troubles and math troubles.
- 10 points. The output is correct for a Generic Major who has major troubles but not math troubles.
- 10 points. The output is correct for a Generic Major who has math troubles but not major troubles.
- 5 points. The output is correct for a CLS major.
- 5 points. The output is correct for a COE major.
- 5 points. The output is correct for a Computer Engineering major.
- 5 points. The output is correct for a Physics major.
- 5 points. The output is correct for a Computer Science Major who has neither major troubles nor math troubles.
- 5 points. The output is correct for a Computer Science Major who has both major troubles and math troubles.
- 5 points. The output is correct for a Computer Science Major who has major troubles but not math troubles.
- 5 points. The output is correct for a Computer Science Major who has math troubles but not major troubles.
- 15 points. Object oriented programming is used correctly (3 points for each type of improvement up to 15 points).
- 5 points - The Python solution is properly commented, easy to understand and does not contain unnecessary code. (1 point for each type of improvement up to 5 points.)