Giter VIP home page Giter VIP logo

acas's People

Contributors

dwp7kp avatar georgewt18 avatar

Watchers

 avatar

acas's Issues

Add Summary of how grade was calculated and how to get to next grade.

Maybe: Tooltip when you hover over the grade that says something like "You've mastered 5 topics and have competency in 3". If you click on the grade, it pulls up a popup window that summarizes:

  • The grades table
  • Which grade you have and why
  • The minimum amount of work necessary to get to the next grade level.

High Priority: Persistent Data

Data needs to be persistent no matter how the server shuts down. Currently saves data if ctrl-c used to terminate server, but supposedly doesn't persist if "docker-compose down" is used.

Selecting incorrect grade threshold

Currently a grade is assigned when a student meets the exact requirements for a grade threshold. Having more mastered nodes than required does not overflow and count as competency nodes.

Example:
Grade Thresholds:
B = 4 mastered / 4 competency
B- = 4 / 3
C = 3 / 2
If you have 5 nodes mastered and 2 competency you will get a C rather than a B-, even though you have accomplished more.

CSV upload uses username not email

username should only be used for those with django admin accounts. All uses of a student's username should be changed to their registered email.

Hide nodes that are not "unlocked"

Nodes (topics) should have two states:

unlocked: normal, student can interact with that node
locked: Not viewable at all. Student has not unlocked pre-requisites.

Nodes unlock and are viewable by students once all pre-requisite nodes are at competency or higher.

Pages hogging memory

After keeping my window open for a while, the course page will start to hog an enormous amount of memory. It seemly doesn't stop and crashes Firefox.

Student username isn't set by default

Only professors have their usernames automatically set. A username is required to upload grades. To avoid overlapping student names, we should use emails to identify a student.
2 solutions:

  • when account is created, set the username to the email
  • refactor by removing username altogether and use email

Student cannot see what assignments belong to which nodes w/o grade

Maybe this is something to put under resources, but a student can only see the grades they have under a node. If they haven't submitted they won't see it anywhere. This could be fixed by giving all students 0's (this will automatically happen if the assignment exists in both ACAS and Gradescope) or displaying them another way.

Grade calculated based on grades received, not all assignments

Issue is that if node has two HWs, and only one is submitted, the grade for that node is calculated using just one assignment.

To help with this:

  • Any gradescope assignment that exists but isn't in ACAS will be created automatically, then prof. can manually make connection to topic
  • Make sure a zero is always set as student's grade otherwise (might already be happening).

Professor-side security

Make sure profs can't access data of other profs. Seems like it is currently a major issue.

  • First, find out the extent of the issue.
  • Determine minimum changes necessary to protect prof data from other instructors, TAs, etc.

Warning message if grade set manually

Flash a warning message if grade is set manually. Something like "If grades are synced with outside source (e.g., Gradescope), then this grade could be overwritten".

Backend :: api_views.py -- Profs can delete other profs data

Currently backend checks that a prof is deleting resources (any resource), but system in general does not check that the resource is within that profs domain. Theoretically a prof could hit the API endpoint and delete other profs data pretty easily.

Debug login buttons need to be removed

Now that OAuth works locally and in production, we need to remove the debug logins. Currently people can debug login as a professor on live version of system.

Missing nodes in graph display

I tried populating some new courses and not all nodes are showing up. The graph is generated every time the graph data gets updated. Picking that data apart it seems some nodes aren't being sent. All data is present on the admin panel and when manually hitting the backend as a student. Issue is originating in ClassGraph.vue

Node locked status

A node should be locked if any pre-requisite node has the "locked" status. Currently only locked if the grades don't lead to mastery in the pre-requisite nodes (but that node could still be "locked").

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.