This project allows you to view the course enrollment of all Ontario (Canada) High School Courses throughout the years (provided the data exists), and use polynomial regression to predict the enrollment for future years.
For each course, you can view how the number of enrollments have fluctuated throughout the years. During the COVID-19 pandemic, the enrollment of many courses drastically changed - this tracker allows you to see a visual representation of how much the enrollment has changed, allowing one to come up with hypotheses, as to whether or not the COVID-19 pandemic impacted enrollment.
This project has been thoroughly documented and neatly coded so that if anyone would like to fork this project and build upon it, they would have an easier time.
This folder contains all the database files, courtesy of the Open Government Database.
Included are both .txt
files and .xlsx
files. This project uses the .txt
files to extract the data from.
The .txt
files are used as they are formatted as CSV
files, with the delimeter being |
, rather than a comma (,
), making it faster to extract data from them, as opposed to using the .xlsx
files
Each .txt
file contains the following headers row: Course Code|Course Description|Grade|Pathway or Destination|Enrolment
. Using this, we extract the data from each row, creating objects for each course, and so on. This can be seen further in the Program Files.
Phase 1 includes all of the relavant project proposal information (mainly the .tex
file of the proposal, its compiled .pdf
document, and some sample database data files).
This is where the heart of the project lives. Using this folder alone, you can run the entire program.
Be sure you read the requirements.txt
file (or let your IDE do the work) to ensure that all the required modules are installed.
(This folder also includes a copy of a selection from the database files, in the folder called database_files
- if you would like you choose different database files to analyze, you can replase the files within database_files
to analyze those newer files. Please ensure that you put .txt
files, as the program is not equipped to handle analyzing .xlsx
files -- the program will not read files that are not .txt
files.)
This file includes all of the functions necessary to run the command line interface of the program. If run directly, this will use PythonTA
and run the tests, as specified in the project instructions.
INcluding all of the major classes and core functions to analyze the data, this file contains everything from the objects that represent the courses, to the creation of the graph objects that allow you to visualize the course enrollment. If run directly, this will use PythonTA
and run the tests, as specified in the project instructions.
THIS IS THE FILE TO RUN IF YOU WANT TO RUN THE ENTIRE PROGRAM. This file is very short, but it wraps everything together, pulling from command_line_interface.py
and functions_and_classes.py
, and running the main program.
This .txt
file lists the required modules needed to run the program, as formatted in the standard Python format.
If you'd like to get a small glimpse into the debugging and development of the project, this folder just includes a few scrap files that were found to be helpful to keep on hand while developing the project. They are not really of any significance to the final project, but some might find it interesting, so they are still here.
This folder includes the .tex
file and the compiled .pdf
file of the project's written report (as well as some auxillary files)