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.
- Scrape all the course evaluation data from blackboard
- Given all the courses one want to take in a semester, return a best time table based on time conflicts, course evaluation, etc.
- Recommend courses in one's free time slots
- Publish this service to the Internet
echo -e "host\nuser\npasssword\nport" > database.info
cd src/spider/
python3 main.py
Then all the data of courses currently offered at UofT & all the evaluation data will be sent to the given database. Courses' data is in table "Course" and evaluation data is in table "Eval". The two tables are both under the new created database "uoftcourses"
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
echo "host\nuser\npasssword\nport" > database.info
cd src/spider/coursespider/
python3 cspider.py
Use this if you only need course data.
Course(cID, cName, credits, campus, department, term, division, prerequisites, exclusion, br, lecNum, lecTime, instructor, location, size, currentEnrollment)
echo "host\nuser\npasssword\nport" > database.info
cd src/spider/evalspider/
python3 espider.py
Use this if you only need course evaluation data.
Faculty of Arts & Science Course Evaluations
Eval(department, cID, cName, lecNum, campus, term, instructor, instructorFullName, intellectuallySimulating, deeperUnderstanding, courseAtmosphere, homeworkQuality, homeworkFairness, overallQuality, enthusiasm, workload, recommend, numInvited, numResponded)