mysql + gui + python + test case => 600

Reference:
  - no seeder

Delivery:
  5.1 Test Plan showing the evidence of testing (refer to Test Plan Example for reference)
  5.2 Source code for the entire program, with adequate comments.

Submittion:
  Submit all your works in a single ZIP file under the name of your student ID and name (e.g., 22XXXXXXX-ChanDaiMan.zip) to Moodle before the assignment deadline. Marks will be deducted for late submissions (e.g., during program demonstration) or even score ZERO mark.

Plagiarism

linting:
Your source code must follow the coding standard stated in PEP 8 – Style Guide for Python
Code. Marks may be deducted if the coding standard is not followed.



This assignment is to implement a GPA Calculator using Object Oriented Programming Techniques.
Your programming must be able to show concepts such as
  - Abstraction,
  - Encapsulation,
  - Inheritance and
  - Polymorphism.

Your program must be able to do the following:
  - Establish connection to MySQL database server and perform read / write function.
  - Display a list of programmes, semesters and modules for a semester.
  - Calculate the semester GPA based on user input.

UI given.

Things to do
This assignment is divided into two parts: Database and Tkinter GUI.
Study the provided supplier class MySQLConnection in the file db.py. All database related function
must be executed through this class.
Study the provided constants variables in the file constants.py.
TODO comments are included for your easy identification on the parts needed to be completed by
you.
