Install any skill in seconds. Free to start, no credit card required.
Get Started Free →brycewang-stanford/mooc-analytics-guide
Analyzing MOOC data, learning analytics, and online education metrics
Passed 19 of 23 test cases with the skill, and 13 of 23 without it.
and 6 more in the full report
6 fixed13 passed either way4 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
I have a sequence of daily activity counts for students enrolled in our open online platform. I want to quantify how consistent or routine each student's study habits are over time. Could you show me how to write a Python script that takes a numpy array of daily click counts and outputs a single normalized score between 0 and 1 indicating study regularity?
| Checked | Without skill | With skill |
|---|---|---|
| Calculates Shannon entropy from normalized daily click probabilities. | Missed | Passed |
| Normalizes the entropy value by dividing by the base-2 logarithm of the array length. | Missed | Passed |
The instructions your model reads when the skill loads.
A skill for analyzing Massive Open Online Course data, implementing learning analytics pipelines, and extracting actionable insights from online education platforms. Covers clickstream processing, engagement modeling, dropout prediction, and A/B testing for course design.
MOOC platforms export several standard data types:
| Data Type | Description | Typical Format |
|---|---|---|
| Clickstream logs | Page views, video plays, pauses, seeks | JSON event logs |
| Forum posts | Discussion text, timestamps, thread structure | CSV/JSON |
| Grade records | Assignment scores, quiz attempts, certificates | CSV |
| Course structure | Module hierarchy, release dates, prerequisites | XML/JSON |
| Survey responses | Pre/post course surveys, demographics | CSV |
Several open datasets are available for research:
import pandas as pd
# Load OULAD dataset (publicly available)
students = pd.read_csv("studentInfo.csv")
assessments = pd.read_csv("assessments.csv")
interactions = pd.read_csv("studentVle.csv")
# Basic engagement metric: total clicks per student per course
engagement = (
interactions
.groupby(["id_student", "code_module", "code_presentation"])
.agg(total_clicks=("sum_click", "sum"),
test cases passed, vs 13 / 23 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.