added standard deviations
This commit is contained in:
@ -31,7 +31,7 @@ class ExecutionEnvironmentsController < ApplicationController
|
|||||||
|
|
||||||
def working_time_query
|
def working_time_query
|
||||||
"""
|
"""
|
||||||
SELECT exercise_id, avg(working_time) as average_time
|
SELECT exercise_id, avg(working_time) as average_time, stddev_samp(extract('epoch' from working_time)) * interval '1 second' as stddev_time
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT user_id,
|
SELECT user_id,
|
||||||
@ -62,6 +62,7 @@ class ExecutionEnvironmentsController < ApplicationController
|
|||||||
COUNT(DISTINCT user_id) AS users,
|
COUNT(DISTINCT user_id) AS users,
|
||||||
AVG(score) AS average_score,
|
AVG(score) AS average_score,
|
||||||
MAX(score) AS maximum_score,
|
MAX(score) AS maximum_score,
|
||||||
|
stddev_samp(score) as stddev_score,
|
||||||
CASE
|
CASE
|
||||||
WHEN MAX(score)=0 THEN 0
|
WHEN MAX(score)=0 THEN 0
|
||||||
ELSE 100 / MAX(score) * AVG(score)
|
ELSE 100 / MAX(score) * AVG(score)
|
||||||
|
@ -4,19 +4,22 @@ h1 = @execution_environment
|
|||||||
table.table.table-striped.sortable
|
table.table.table-striped.sortable
|
||||||
thead
|
thead
|
||||||
tr
|
tr
|
||||||
- ['.exercise', '.users', '.score', '.maximum_score', '.percentage_correct', '.runs', '.worktime'].each do |title|
|
- ['.exercise', '.users', '.score', '.maximum_score', '.stddev_score', '.percentage_correct', '.runs', '.worktime', '.stddev_worktime'].each do |title|
|
||||||
th.header = t(title)
|
th.header = t(title)
|
||||||
tbody
|
tbody
|
||||||
- @execution_environment.exercises.each do |exercise|
|
- @execution_environment.exercises.each do |exercise|
|
||||||
- us = user_statistics[exercise.id]
|
- us = user_statistics[exercise.id]
|
||||||
- if not us then us = {"users" => 0, "average_score" => 0.0, "maximum_score" => 0, "percent_correct" => nil, "average_submission_count" => 0}
|
- if not us then us = {"users" => 0, "average_score" => 0.0, "maximum_score" => 0, "stddev_score" => 0.0, "percent_correct" => nil, "average_submission_count" => 0}
|
||||||
- wts = working_time_statistics[exercise.id]
|
- wts = working_time_statistics[exercise.id]
|
||||||
- if wts then average_time = wts["average_time"] else 0
|
- if wts then average_time = wts["average_time"] else 0
|
||||||
|
- if wts then stddev_time = wts["stddev_time"] else 0
|
||||||
tr
|
tr
|
||||||
td = link_to exercise.title, controller: "exercises", action: "statistics", id: exercise.id
|
td = link_to exercise.title, controller: "exercises", action: "statistics", id: exercise.id
|
||||||
td = us["users"]
|
td = us["users"]
|
||||||
td = us["average_score"]
|
td = us["average_score"]
|
||||||
td = us["maximum_score"]
|
td = us["maximum_score"]
|
||||||
|
td = us["stddev_score"]
|
||||||
td = us["percent_correct"]
|
td = us["percent_correct"]
|
||||||
td = us["average_submission_count"]
|
td = us["average_submission_count"]
|
||||||
td = average_time
|
td = average_time
|
||||||
|
td = stddev_time
|
||||||
|
@ -171,6 +171,8 @@ de:
|
|||||||
exercise: Übung
|
exercise: Übung
|
||||||
users: Anzahl (externer) Nutzer
|
users: Anzahl (externer) Nutzer
|
||||||
score: Durchschnittliche Punktzahl
|
score: Durchschnittliche Punktzahl
|
||||||
|
stddev_score: stdabw (Punktzahl)
|
||||||
|
stddev_worktime: stdabw (Arbeitszeit)
|
||||||
maximum_score: Maximale Punktzahl
|
maximum_score: Maximale Punktzahl
|
||||||
percentage_correct: Prozent Korrekt
|
percentage_correct: Prozent Korrekt
|
||||||
runs: Durchschnittliche Anzahl von Versuchen
|
runs: Durchschnittliche Anzahl von Versuchen
|
||||||
|
@ -171,6 +171,8 @@ en:
|
|||||||
exercise: Exercise
|
exercise: Exercise
|
||||||
users: (External) Users Count
|
users: (External) Users Count
|
||||||
score: Average Score
|
score: Average Score
|
||||||
|
stddev_score: stddev (score)
|
||||||
|
stddev_worktime: stddev (working time)
|
||||||
maximum_score: Maximum Score
|
maximum_score: Maximum Score
|
||||||
percentage_correct: Percentage Correct
|
percentage_correct: Percentage Correct
|
||||||
runs: Average Number of Runs
|
runs: Average Number of Runs
|
||||||
|
Reference in New Issue
Block a user