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