Skip to content
This repository has been archived by the owner on Apr 9, 2019. It is now read-only.

cufcq/cufcq

Repository files navigation

#Official CU FCQ Project :warning: This project is considered finished, and will not be updated :warning: #####Project by: Samuel Volin, Alex Tsankov Build Status

What is an FCQ?

An FCQ (Faculty Course questionnaire) is a survey maintained by CU and collected at the end of every course with the intent of rating instructor proficiency and gauging the quality of a class. It measures a variety of different criteria like:

  • How effective was a teacher at generating interest in a subject?
  • How many hours a week, on average, did students spend on a class?
  • How available was an instructor for the class?

You can see a sample of an FCQ here.

This is all fascinating info that we believe can inform students when it comes time to pick classes. Fortunately it's all publicly available at this site maintained by CU. This program takes the data, adds its to a database, draws connections between the FCQs, and formats it nicely using JS. You can see the a server running this at cufcq.com.

Last FCQs added: Fall 2014.

To Run:

  1. Install the correct dependencies. On Linux this can be done with the following command:

sudo apt-get install postgresql-common postgresql-9.3 libpq-dev rails node postgresql-contrib-9.3 openjdk-6-jdk

  1. Create the Postgres DB following the commands at config/installing_postgresql.txt

  2. Navigate to the cloned directory and perform a bundle install to make sure all Ruby gems are updated.

  3. Initialize the DB with total_reload.sh. This will run a bunch of rake tasks that reads the csv files stored in data/output and put them into the DB.

  4. Run the correct launcher (./local_launcher.sh if you just want to run it on a local machine).

  5. Go to localhost:3000/instructors to see if the site is running properly.

What's going on:

When we download FCQs off of the official website, we get large Excel files containing the scores for each class that has been taught during that semester. You can access this information using the tools in csv_make, specifically scraper.py.

What our system does on a large scale, is take the data from the individual classes and break them into their logical criteria. Each FCQ is tied to a course and teacher. We can start aggregating all of the FCQs for each instructor into an instructor page. Likewise, we can take multiple FCQs and aggregate them into courses. We can then draw relations between instructors and courses and combine them into departments.

We also tie in grade data, provided separately in gradesall.xlsx to individual FCQs.

###Imports:

You can create csv files from the excel documents from the FCQ website using data/csv_maker.sh, this requires ssconvert which is a gnumeric application. Put the final csv files into to the data/output directory.

All files that end in .csv in data/output are imported using the import script. This script is found in lib/tasks/import.rake

###API Endpoints:

You can see the json returned for instructors and courses in doc/ TODO - Add in more documentation for our endpoints.