A sophisticated learning platform that applies advanced educational principles to create personalized, mastery-based learning experiences from uploaded PDF study materials, with a focus on data science and related technical fields.
- Knowledge Graph Architecture: Maps relationships between topics, showing prerequisites and connections that support structured learning
- Adaptive Diagnostic Assessment: Identifies each learner's knowledge frontier and gaps to create personalized learning paths
- Mastery-Based Progression: Students aren't pushed forward until they've demonstrated mastery of prerequisite skills
- Granular Knowledge Points: Lessons are scaffolded into small, digestible segments with worked examples and practice problems
- Immediate Feedback System: Provides explanatory feedback within minutes of starting a new lesson
- Daily XP Goal System: Gamifies the learning experience with progress tracking and streak mechanisms
- Module-Based Content Organization: Each uploaded PDF creates its own SQLite database to store module-specific content
- Interactive Code Editor: Built-in Python and R code editor with execution capabilities for data science exercises
- Data Visualization Tools: Create and interact with data visualizations based on your analyses
- Accessibility Features: High-contrast mode, dyslexia-friendly fonts, and adjustable text sizes
- Spaced Repetition: Automatic scheduling of review materials at optimal intervals for long-term retention
- Backend: Node.js with Express
- Database: SQLite (one database per PDF module)
- PDF Processing: pdf-lib for extracting content from uploaded PDFs
- Frontend: Pure JavaScript, HTML, and CSS with Bootstrap for styling
- Node.js (v14 or higher)
- npm
-
Clone the repository:
git clone https://github.com/arvindcr4/dropout-learning.git cd dropout-learning -
Install dependencies:
npm install -
Start the server:
node server.js -
Access the application at
http://localhost:5000
- Upload Study Material: Upload a PDF document containing study material
- Take the Adaptive Diagnostic: Complete the diagnostic assessment to identify your knowledge frontier
- Follow Your Custom Course: Based on the diagnostic results, a personalized learning path is created
- Master Knowledge Points: Work through each knowledge point with worked examples and practice problems
- Complete Coding Exercises: Practice data science skills with interactive coding challenges
- Explore the Knowledge Graph: Visualize your progress and plan your learning journey
- Track Progress: Monitor your daily XP goals and learning streaks
server.js: Main Express application and API endpointsdb.js: Database utilities for managing SQLite databasespublic/: Frontend assets and HTML pagesindex.html: Main application interfacediagnostic.html: Adaptive diagnostic experienceknowledge-point.html: Knowledge point lesson interfacecode-editor.html: Interactive coding environment for data science exercisesknowledge-graph.html: Interactive visualization of learning pathways
databases/: Generated SQLite databases (one per PDF)uploads/: Temporary storage for uploaded PDFs
Each lesson is broken down into knowledge points following this sequence:
- Worked example with subgoal labeling
- Up to 5 practice problems similar to the worked example
- Mastery assessment before unlocking the next knowledge point
- Supports Python and R for data science exercises
- Real-time code execution and feedback
- Test case validation for automatic assessment
- Visualization capabilities for data outputs
- Scaffolded hints to guide learning
- D3.js-powered interactive graph
- Visual representation of topic relationships
- Color-coded by subject category and mastery level
- Zoom and pan capabilities for exploration
- Recommended personalized learning paths
- XP rewards correct answers and good learning habits
- Each XP is roughly equivalent to 1 minute of focused effort
- Daily XP goals are adjustable to suit individual learning pace
- Streak tracking for consistent engagement
- Mastery is achieved by correctly solving a minimum threshold of practice problems
- Prerequisites must be mastered before advancing to more complex topics
- The system creates personalized learning paths based on demonstrated mastery
- Adaptive difficulty based on performance
- Automatic scheduling of review materials
- Optimal intervals for long-term retention
- Interleaving of topics to enhance learning
This project is licensed under the MIT License - see the LICENSE file for details.