Commit b10b6e2b by JM Van Thong

Added more analytics to instructor dashboard.

parent 39d48b19
......@@ -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)
......
......@@ -180,6 +180,30 @@ function goto( mode)
</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>
<div class="divScroll">
......@@ -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():
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment