Commit b10b6e2b by JM Van Thong

Added more analytics to instructor dashboard.

parent 39d48b19
...@@ -5,6 +5,8 @@ import csv ...@@ -5,6 +5,8 @@ import csv
import logging import logging
import os import os
import urllib import urllib
import datetime
from datetime import datetime, timedelta
from django.conf import settings from django.conf import settings
from django.contrib.auth.models import User, Group from django.contrib.auth.models import User, Group
...@@ -273,15 +275,33 @@ def instructor_dashboard(request, course_id): ...@@ -273,15 +275,33 @@ def instructor_dashboard(request, course_id):
analytics_json = None analytics_json = None
students_enrolled_json = None students_enrolled_json = None
daily_activity_json = None daily_activity_json = None
students_daily_activity_json = None
students_per_problem_correct_json = None
if idash_mode == 'Analytics': if idash_mode == 'Analytics':
req = requests.get(settings.ANALYTICS_SERVER_URL + "get_analytics?aname=StudentsPerHomework&course_id=%s" % course_id) req = requests.get(settings.ANALYTICS_SERVER_URL + "get_analytics?aname=StudentsPerHomework&course_id=%s" % course_id)
analytics_json = req.json 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) req = requests.get(settings.ANALYTICS_SERVER_URL + "get_analytics?aname=StudentsEnrolled&course_id=%s" % course_id)
students_enrolled_json = req.json 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 daily_activity_json = req.json
#---------------------------------------- #----------------------------------------
...@@ -301,6 +321,8 @@ def instructor_dashboard(request, course_id): ...@@ -301,6 +321,8 @@ def instructor_dashboard(request, course_id):
'analytics_json' : analytics_json, 'analytics_json' : analytics_json,
'students_enrolled_json' : students_enrolled_json, 'students_enrolled_json' : students_enrolled_json,
'daily_activity_json' : daily_activity_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) return render_to_response('courseware/instructor_dashboard.html', context)
......
...@@ -180,6 +180,30 @@ function goto( mode) ...@@ -180,6 +180,30 @@ function goto( mode)
</p> </p>
<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> <h2>Students who attempted at least one exercise:</h2>
<div class="divScroll"> <div class="divScroll">
...@@ -196,7 +220,7 @@ function goto( mode) ...@@ -196,7 +220,7 @@ function goto( mode)
</p> </p>
<p> <p>
<h2>Daily activity:</h2> <h2>Daily activity (online version):</h2>
<table class="stat_table"> <table class="stat_table">
<tr><th>Day</td><th>Number of students</td></tr> <tr><th>Day</td><th>Number of students</td></tr>
% for k,v in daily_activity_json['data'].items(): % 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