Skip to content

DSA-based adaptive learning platform using Trie search, CourseGraph, priority scheduling, history tracking, and a deterministic recommendation engine. Fully modular, tested, and production-ready architecture.

Notifications You must be signed in to change notification settings

avkbsurya119/adaptive-learning-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Adaptive Learning Platform (DSA Project)

Build Status Python Version License: MIT Ruff Black

A modular, test-driven Adaptive Learning Platform built using classical Data Structures & Algorithms (DSA).
The system simulates how a real-world intelligent learning platform works—using data structures like Trie, Graph, Priority Queue, Array, and HashMap to power search, sequencing, history, and recommendations.

This project demonstrates clean architecture, modern Python practices, and full automated testing suitable for academic submission and professional portfolios.


📚 Features at a Glance

🔍 Trie-Based Content Search

Fast prefix-based search for:

  • Course titles
  • Sequence titles

Used for autocomplete and content discovery.

🔗 Graph-Based Course Prerequisites

Courses and their prerequisites are stored as a Directed Acyclic Graph (DAG):

  • Add courses
  • Add prerequisites
  • Retrieve direct and indirect prerequisites
  • Perform topological sorting

🧵 Priority Sequence Scheduler

Sequences are scheduled using a min-heap priority queue:

  • Lower priority = executed earlier
  • Stable ordering (FIFO for equal priority)
  • Students progress step-by-step

📜 Student History (Array-Backed)

Logs activities using:

  • Array indexes
  • Activity objects

Tracks:

  • Completed sequences
  • Quiz scores
  • Timestamps

🎯 Deterministic Recommendation Engine

Ranks the next best courses using:

  • Difficulty alignment
  • Progress gap
  • Recency of learning

Provides explanation strings for transparency.

💻 CLI Demo

A full menu-driven CLI to interact with the system:

  • Register students
  • Search content
  • Enroll in a course
  • Complete sequences
  • View history
  • Generate recommendations

🧠 DSA Concepts Used

Feature Data Structure File
Content Search Trie core/search/trie.py
Course Prerequisites Directed Graph core/graph/course_graph.py
Sequence Scheduling Min-Heap core/scheduling/sequence_scheduler.py
Student Registry HashMap (Dict) core/models/student.py
Activity History Array core/history/history.py
Recommendations Weighted Scoring + Sorting core/recommendations/recommendation_engine.py

🗂️ Project Structure

adaptive-learning-platform/
├─ core/
│  ├─ models/
│  │  ├─ course.py
│  │  ├─ sequence.py
│  │  ├─ student.py
│  │  ├─ activity.py
│  │  └─ recommendation.py
│  ├─ search/
│  │  └─ trie.py
│  ├─ graph/
│  │  └─ course_graph.py
│  ├─ scheduling/
│  │  └─ sequence_scheduler.py
│  ├─ history/
│  │  └─ history.py
│  ├─ students/
│  │  └─ student_service.py 
│  ├─ recommendations/
│  │  └─ recommendation_engine.py
│  ├─ persistence/
│  │  └─ storage.py
│  ├─ config.py           
│  └─ logging_config.py      
├─ cli/
│  └─ cli.py
├─ tests/
│  ├─ test_trie.py
│  ├─ test_course_graph.py
│  ├─ test_sequence_scheduler.py
│  ├─ test_student_history.py
│  ├─ test_students.py
│  ├─ test_recommendations.py
│  ├─ test_storage.py
│  └─ test_integration_flow.py
├─ docs/
│  ├─ architecture.md     
│  └─ api_examples.md         
├─ .github/
│  └─ workflows/
│     └─ ci.yml
├─ README.md
├─ CONTRIBUTING.md
├─ LICENSE
├─ requirements.txt
├─ pytest.ini
└─ .gitignore

About

DSA-based adaptive learning platform using Trie search, CourseGraph, priority scheduling, history tracking, and a deterministic recommendation engine. Fully modular, tested, and production-ready architecture.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages