Python Course Design Note 46 of 52

Stage 3 Project

Operation Management (OperationManagement)

  1. Use object-oriented programming to create multiple schools
  2. Create multiple courses within a school, e.g. three courses AI, Python , ML ; AI\Python are offered in Shanghai, ML in New York
  3. A course includes a duration and a price
  4. Create courses through a school
  5. When creating a student, select the associated school and the associated course
  6. When creating an instructor role, associate it with a school; while implementing the features, make sure the relationships between the data are preserved
  7. Provide three role interfaces
    Student view: can register, log in, choose a school, choose a course, view scores, log out
    Instructor view: can log in, choose a course, view courses, view students, modify scores, log out
    Admin view: can register, log in, create schools, create courses, create teachers, log out
  8. All data produced by the operations above is serialized with pickle and saved to files

Requirements:

Use software development conventions for a layered architecture design: include at least a user input layer, a data interface layer and a data processing layer, avoid code redundancy as much as possible, and put shared functionality under /lib-common.py .