Skip to main content

Overview

Sunschool’s concept tracking system tags every quiz question with specific concepts (e.g., “addition”, “fractions”, “plants”) and tracks performance on each concept individually. This enables precise identification of struggling areas and adaptive content recommendations.

How It Works

1

Question Tagging

Each quiz question is automatically tagged with relevant concepts
2

Answer Recording

When answered, both the answer and concept tags are stored
3

Performance Analysis

System calculates accuracy per concept across all questions
4

Mastery Updates

Concept mastery levels are updated after each quiz
5

Reinforcement Identification

Concepts below threshold are flagged for additional practice

Concept Extraction

Concepts are automatically extracted from question text and options:

Supported Concept Categories

  • addition
  • subtraction
  • multiplication
  • division
  • fractions
  • counting
The system uses simple regex pattern matching. As the platform grows, this can be enhanced with NLP (Natural Language Processing) for more sophisticated concept detection.

Storing Quiz Answers

Each answer is stored with full metadata:

Storing All Answers from a Quiz

Question Hashing

Questions are hashed to detect duplicates and track repeated attempts:
The same question asked multiple times will have the same hash. This allows the system to detect if a learner is seeing the same question repeatedly and track improvement.

Concept Performance Analytics

The system calculates performance statistics per concept:
Example output:

Querying by Concept

Retrieve all answers for a specific concept:
This uses PostgreSQL’s ANY(array) operator to search within the concept_tags array column.

Integration with Mastery System

Concept tracking feeds directly into the mastery system (see Mastery System):

Identifying Struggling Concepts

The system identifies which concepts need reinforcement:

Reinforcement Criteria

A concept is marked as needing reinforcement when:
  • Mastery level < 70%
  • Has been tested at least once
The query returns the lowest-performing concepts first, prioritizing those that haven’t been tested recently.

Visualization for Parents

The concept tracking data powers several parent-facing visualizations:

Concept Heatmap

Visual grid showing mastery levels across all concepts

Struggling Areas

List of concepts below 70% with recommended practice

Concept Progress

Timeline showing how mastery improves over time

Subject Breakdown

Concepts organized by subject with accuracy percentages

Example: Tracking “Fractions” Concept

1

Question Asked

“What is 1/2 + 1/4?”Extracted tags: [math, fractions, addition]
2

Answer Recorded

3

Mastery Updated

  • fractions mastery: 5 correct / 12 total = 42%
  • needs_reinforcement = true
4

Recommendation

System recommends more fraction practice in next lesson selection

Database Schema

quiz_answers Table

concept_mastery Table

API Usage Examples

Store Quiz Answers

Get Concept Performance

Get Struggling Concepts

Mastery System

How mastery levels are calculated and decay

Adaptive Learning

Using concept data for personalized recommendations

Reports

Visual concept performance analytics