This library intends to offer course selection advice to students at UofT, e.g., whether the prof is good, whether the course is difficult, etc. Moreover, it automates the generation of one's timetable based on one's course selection.
Functions to implement ...
- Scrape all the course evaluation data
- Given all the courses one want to take in a semester, automatically generate a timetable without conflict
- Recommend courses in one's free time slots
- Analyze course evaluation data
- Publish this service to the Internet
Table of Contents
echo -e "host\nuser\npasssword\nport" > database.info cd src/spider/ python3 main.py -h usage: main.py [-h] [-i] [-c] [-e] optional arguments: -h, --help show this help message and exit -i, --init initialize the database -c, --course scrape courses offered at uoft -e, --eval scrape eval data from uoft blackboard
cat database.info 127.0.0.1 root 123456 3306
host: ip address of the SQL server
user: user name of the SQL server
password: password of the user
port: the port number that the SQL server is listening to
Schema of the table Course:
Course(cID, cName, credits, campus, department, term, division, prerequisites, exclusion, br, lecNum, lecTime, instructor, location, size, currentEnrollment)
Schema of the table:
Eval(department, cID, cName, lecNum, campus, term, instructor, instructorFullName, intellectuallySimulating, deeperUnderstanding, courseAtmosphere, homeworkQuality, homeworkFairness, overallQuality, enthusiasm, workload, recommend, numInvited, numResponded)
cd src/analysis/ python3 analyze_prof.py -h usage: analyze_prof.py [-h] [-p] instructor courseID campus positional arguments: instructor The full name of an instructor courseID The id of a course, e.g., CSC240 campus The campus where the instructor stays optional arguments: -h, --help show this help message and exit -p, --plot Plot the graph in GUI mod (if this flag is not set on, an html img tag will be printed to stdout)
Powered by Express.js and Bootstrap.