Added more analytics to instructor dashboard.
This commit is contained in:
@@ -5,6 +5,8 @@ import csv
|
||||
import logging
|
||||
import os
|
||||
import urllib
|
||||
import datetime
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User, Group
|
||||
@@ -273,15 +275,33 @@ def instructor_dashboard(request, course_id):
|
||||
analytics_json = None
|
||||
students_enrolled_json = None
|
||||
daily_activity_json = None
|
||||
students_daily_activity_json = None
|
||||
students_per_problem_correct_json = None
|
||||
|
||||
if idash_mode == 'Analytics':
|
||||
req = requests.get(settings.ANALYTICS_SERVER_URL + "get_analytics?aname=StudentsPerHomework&course_id=%s" % course_id)
|
||||
analytics_json = req.json
|
||||
|
||||
# get the day
|
||||
to_day = datetime.today().date()
|
||||
from_day = to_day - timedelta(days=7)
|
||||
|
||||
# number of students active in the past 7 days (including current day)
|
||||
req = requests.get(settings.ANALYTICS_SERVER_URL + "get_analytics?aname=StudentsDailyActivity&course_id=%s&from=%s" % (course_id,from_day))
|
||||
students_daily_activity_json = req.json
|
||||
|
||||
# number of students per problem who have problem graded correct
|
||||
req = requests.get(settings.ANALYTICS_SERVER_URL + "get_analytics?aname=StudentsPerProblemCorrect&course_id=%s&from=%s" % (course_id,from_day))
|
||||
students_per_problem_correct_json = req.json
|
||||
|
||||
# number of students enrolled in this course
|
||||
req = requests.get(settings.ANALYTICS_SERVER_URL + "get_analytics?aname=StudentsEnrolled&course_id=%s" % course_id)
|
||||
students_enrolled_json = req.json
|
||||
|
||||
req = requests.get(settings.ANALYTICS_SERVER_URL + "get_analytics?aname=DailyActivityAnalyzer&from=2012-11-19&to=2012-12-04&course_id=%s" % course_id)
|
||||
# number of students active in the past 7 days (including current day) --- online version!
|
||||
to_day = datetime.today().date()
|
||||
from_day = to_day - timedelta(days=7)
|
||||
req = requests.get(settings.ANALYTICS_SERVER_URL + "get_analytics?aname=DailyActivityAnalyzer&course_id=%s&from=%s&to=%s" % (course_id,from_day, to_day))
|
||||
daily_activity_json = req.json
|
||||
|
||||
#----------------------------------------
|
||||
@@ -301,6 +321,8 @@ def instructor_dashboard(request, course_id):
|
||||
'analytics_json' : analytics_json,
|
||||
'students_enrolled_json' : students_enrolled_json,
|
||||
'daily_activity_json' : daily_activity_json,
|
||||
'students_daily_activity_json' : students_daily_activity_json,
|
||||
'students_per_problem_correct_json' : students_per_problem_correct_json,
|
||||
}
|
||||
|
||||
return render_to_response('courseware/instructor_dashboard.html', context)
|
||||
|
||||
@@ -179,6 +179,30 @@ function goto( mode)
|
||||
<p>Number of students enrolled: ${students_enrolled_json['data']['nb_students_enrolled']}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<h2>Daily activity for the past 7 days:</h2>
|
||||
<table class="stat_table">
|
||||
<tr><th>Day</td><th>Number of students</td></tr>
|
||||
% for k,v in students_daily_activity_json['data'].items():
|
||||
<tr>
|
||||
<td>${k}</td> <td>${v}</td>
|
||||
</tr>
|
||||
% endfor
|
||||
</table>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<h2>Number of students with correct problems for the past 7 days:</h2>
|
||||
<table class="stat_table">
|
||||
<tr><th>Problem</td><th>Number of students</td></tr>
|
||||
% for k,v in students_per_problem_correct_json['data'].items():
|
||||
<tr>
|
||||
<td>${k}</td> <td>${v}</td>
|
||||
</tr>
|
||||
% endfor
|
||||
</table>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<h2>Students who attempted at least one exercise:</h2>
|
||||
|
||||
@@ -196,7 +220,7 @@ function goto( mode)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<h2>Daily activity:</h2>
|
||||
<h2>Daily activity (online version):</h2>
|
||||
<table class="stat_table">
|
||||
<tr><th>Day</td><th>Number of students</td></tr>
|
||||
% for k,v in daily_activity_json['data'].items():
|
||||
|
||||
Reference in New Issue
Block a user