Giter Club home page Giter Club logo

gt-course-critique's Introduction

gt-course-critique

(Georgia Institute of Technology Course Critique)

This is the official repository for Georgia Tech's Course Critique application. To host your own Course Critique, you need the following:

Please contact Georgia Tech's SGA for more detailed instructions on how to host your own Course Critique

gt-course-critique's People

Contributors

chrisforrence avatar cobookman avatar jonathanhunsucker avatar mayankgupta avatar russellrollins avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

gt-course-critique's Issues

Incorrect Course GPA

When a Professor has multiple sections of the same course in the same term, the Critique calculates a simple average of the sections to determine the overall distribution.

For instance:
http://critique.gatech.edu/course.php?id=CS6035
Indicated Prof. Ahamad's sections in Fall 2013 had a 31% Withdrawal Rate. In actuality there are two sections of the class (http://critique.gatech.edu/prof.php?id=AHAMADMUSTAQUE#CS6035)
One section has a 50% withdrawal rate and only 2 students and one section had a 12% withdrawal rate and 25 students. It appears the site is using a simple average (50 + 12) / 2 = 31. The real averaged W rate should be (.502 + .1225) / (2+25) = 15%.

I believe this is related to #16

Terms selects not sorted

The terms select on the course/professor page, i.e. example, is not sorted as I would naturally expect it.

Currently it is sorted like:
Screen Shot 2013-03-30 at 9 45 57 AM

It should be sorted by year then Fall, Summer, Spring (latest to oldest):

  • Fall 2011
  • Summer 2011
  • Spring 2011
  • Fall 2010
  • Summer 2010
  • Spring 2010
  • Fall 2009
  • Summer 2009
  • Spring 2009
  • Fall 2008

Of course the exact sorting is not particular, but right now it is appears to be random.

Course semester/year sorting

This is not particularly a bug, but just something I noted and it might be worth discussing the behavior.

When sorting descending, the years sort in descending order (as expected). The semesters could be argued that they are not in descending order, i.e. Fall, Summer, Spring.
Screen Shot 2013-03-30 at 10 16 53 AM

The same occurs when sorting ascending. The semesters do not sort.
Screen Shot 2013-03-30 at 10 17 01 AM

As I said, it is not particularly a bug, more of a behavior. Should the semesters also sort when sorting or should they remain in the same order, because we are really just sorting years? If so, is the latter clear?

'Year' column for professors most recent semester on class query page?

On the class query page such as this the class sections are listed separated by professors. However, I am unable to tell if a professor's class/GPA is relevant to me (example) because I don't know when he last taught the class without clicking on each one individually. This doesn't sound like a huge ordeal on paper, but I find many classes have listings with professors that have moved departments or left.

Since I like to view class data when choosing my next professor, I would love to have the 'Year' column in the class query page where, next to the professor's name, there is their most recent semester of teaching (that class).

Course link from professor page incorrect

When clicking the course link from the professor page, the destination link sometimes is incorrect that there is no results; I clicked on a link from the professor page, there should be at least one result.

Reproduce:

  1. Go to here
  2. Click on "CS 8999"
  3. View lack of data

It may be due to the class having no data, but the result is confusing regardless.

Sorting on Tables in Class View

The 'Size' and 'Year' columns sort as text. It seems more logical for them to sort based on number of students and time respectively.

No space between first and last name of professor

When on the course result page (i.e. course.php), the first and last name of all the professors are not separated by a space.

For example, on this page Conte,Thomas Martin should be Conte, Thomas Martin.

Appears to be a database issue rather than a presentation issue.

New ElasticSearch Schema driven by a new MySQL->E.S. driver

As the JDBC ElasticSearch (E.S.) river is causing lots of pain w/our OIT setup, I'm writing a new driver to push MySQL data to E.S. This differs from the JDBC E.S. river which pulls the data. If I do this right the frontend could also pull from ElasticSearch using a REST API and/or have a decent public API.

As the old driver didn't like complex JSON I'm thinking of changing the 'schema' to be:

Courses
"_index" = "course"
"_type" = "undergrad" (graduate)
"_id" = "courseID"

example documentURL = http://localhost:9200/course/MATH1502

example document:
{ "department" : "Math",
"number" : 1502,
"name" : "Calculus 2",
"description" : "This class will go over......etc",
"gpa" : 4.0,
"professors" : { "Morley, Tom" : { "GPA" : 4.0, "profid" : "MORLEYTOM" },
"Last, First" : { "GPA" : 2.1, "profid" : "LASTFIRST" },
}
}

Professor
"_index" = "professor"
"_type" = ...not sure what to put here yet....
"_id" = "profID"

example documentURL = http://localhost:9200/proffessor/BLOUGHDOUGLASM

example document:
{
"name" : "Douglas M, Blough",
"undergrad" : {
"gpa" : 3.8,
"courses" : {
"ECE 3020" : { "gpa" : 4.0, "courseid" : "ECE3020" } ,
"ECE 2030" : { "gpa" : 2.0, "courseid" : "ECE2030" }
}
},
"graduate" : {
"gpa" : 3.2,
"courses" : {
"ECE 4445" : { "gpa" : 4.0}
}
}
}

Query database

Is there a way to query the database through HTTP Request? I want to get the GPA info of professors (given a professor name) for a side project I'm working on.

Better course/professor does not exist pages

Currently if you enter in a non-existent course/professor into the URL, the pages that show up are the usual result pages though with "no data available in the table".

It would be better to show a simpler "course/professor does not exist" message and perhaps suggest courses/professors that are somehow-related to their input.

search.php returns wrong averages

Elastic Search is computing wrong averages. Minor issue as the elastic search grade data is not being used in any aspect.
Can be seen by comparing search.php JSON w/course.php and prof.php values

"I'm Feeling Lucky"

If an exact match is found for my search, don't make me click it under the results page. Just send me straight to it.

Remove gt-course-critique CSS from bootstrap.min.css

Bootstrap's CSS shouldn't have anything non-Bootstrap in it. Removing it and putting it in a separate file would aid with updating Bootstrap when it needs updating.

Everything below .affix:

.dataTables_paginate > ul > li.active > a { background-color: #003049 !important; }
.dataTables_paginate > ul > li:not(.disabled) > a:hover{ background-color: #B18E5F !important; color: white !important;}
.avg { text-decoration: overline; }
.CoursesDisabled , .TermsDisabled, .ProfessorsDisabled { display: none; }
.beta-ribbon { position: fixed; pointer-events: none; top: 0px; left: 0px; height: 75px; z-index: 1; }

Blank terms when invalid professor

When an invalid professor is queried, the Terms select only contains a checkbox with no supporting text.

Screen Shot 2013-03-30 at 10 02 34 PM

The selects usually show "No data available in table" when an invalid course/professor is queried.

The terms select should display the same (assuming #11 is not implemented).

"Average Marks" table on professor page not updated after multiple classes added

When you add multiple classes to view on a professor's page via Courses select, the "average marks" summary table at the beginning does not update to reflect the new classes that were added/removed.

Initially, I think it is the average marks for x professor's instances where x has taught y class. However, since it doesn't update it leads me, the user, to believe it is x's average marks for all x's classes (which isn't right and makes no sense).

Solution:
"Average Marks" should be updated when more than one class (e.g. CS 2200 and ECE 8903) is present and clearly show that for this row in the table is for CS 2200 and the next one is for ECE 8903.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.