/uoft-profs

Visualizes students’ past feedbacks on both courses and professors

Primary LanguagePythonApache License 2.0Apache-2.0

uoft-profs

This library offers 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.

23 Jan 2021: The website that used to host the service is now shut down.

Table of Contents

Requirements

Library Reference

Spider

Usage

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

database.info Example:

cat database.info
127.0.0.1
root
123456
3306

Note:

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

CourseSpider

Data source:

Course Finder

Schema of the table Course:

Course(cID, cName, credits, campus, department, term, division, prerequisites, exclusion, br, lecNum, lecTime, instructor, location, size, currentEnrollment)

Demo:

courseTable

EvalSpider

Data source:

Faculty of Arts & Science Course Evaluations

Schema of the table:

Eval(department, cID, cName, lecNum, campus, term, instructor, instructorFullName, intellectuallySimulating, deeperUnderstanding, courseAtmosphere, homeworkQuality, homeworkFairness, overallQuality, enthusiasm, workload, recommend, numInvited, numResponded)

Demo:

evalTable

AnalyzeProf

Usage

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)

Demo:

profAnalyze

Web

Powered by Express.js and Bootstrap.

Demo:

webpage

webAnalysis