#Link to the website : https://algolearn-he4m.onrender.com
#Link to Design Document : https://github.com/shriyays/AlgoLearn/blob/main/Design%20Document.pdf
#Link to Slides : https://docs.google.com/presentation/d/1QPiiQQzvWBzS97DM_H4YziBcjo0NoTn5ZnHtsqQfyxo/edit?usp=sharing
#Link to Youtube video : https://youtu.be/Ocpg4S7hQE0?si=ipJ9ByeALM7zF26D
Master Algorithms Through Visualization, Not Memorization
- Deeksha Manjunatha Bankapur - Visualization Engine & Frontend
- Shriya Yarrapureddy Sarath - Progress Tracking & Gamification
Course: CS5610 Web Development
Semester: Spring 2026
Institution: Northeastern University
AlgoLearn is an interactive educational platform designed to help computer science students master sorting algorithms through real-time visualizations and gamified learning. Unlike passive textbook diagrams or simple visualizers, AlgoLearn combines visual learning with active testing to help students internalize algorithm behavior rather than just memorizing steps.
- ✨ Provide interactive Canvas-based algorithm visualizations
- 🎮 Enable self-paced learning through playback controls
- 📝 Test understanding through quizzes and challenges
- 🏆 Motivate learning through gamification and progress tracking
Browse algorithms by difficulty with a beautiful dark theme and pink accents
Interactive canvas animations with playback controls, color legend, and real-time metrics
Track your learning progress, quiz scores, streaks, and achievements
- Node.js v18 or higher
- MongoDB (optional - works with fallback data)
- npm
- Clone the repository
git clone https://github.com/shriyays/AlgoLearn.git
cd AlgoLearn- Install dependencies
npm install-
Set up environment (optional)
Create a
.envfile in the root directory:
MONGODB_URI=mongodb://localhost:27017/algolearn
PORT=3000
- Start MongoDB (optional - if using local database)
brew services start mongodb-community- Start the server
npm start-
Open in browser
Navigate to:
http://localhost:3000/index.html
The application works with fallback data even if MongoDB isn't configured!
npm install
npm start
# Open http://localhost:3000/index.html"I have trouble understanding recursion and Big O notation from textbooks. I need visual step-by-step breakdowns with controllable pacing."
"I'm preparing for technical interviews and need to discover which algorithms I've truly mastered versus just memorized."
- Browse 4 classic sorting algorithms: Bubble Sort, Quick Sort, Merge Sort, Heap Sort
- Categorized by difficulty: Easy, Medium, Hard
- View time and space complexity at a glance
- Real-time bar visualizations with color-coded states:
- 🩷 Pink - Unsorted elements
- 🟡 Yellow - Comparing elements
- 🔴 Red - Swapping elements
- 🟢 Green - Sorted elements
▶️ Play/Pause - Start and stop animation- ⏮️ Step Back - Go back one operation
- ⏭️ Step Forward - Advance one step
- ⚡ Speed Control - Adjust from 0.5x to 4x speed
- 🔄 Reset - Return to initial state
- 🎲 Random - Shuffled array
- ⬇️ Reversed - Worst-case scenario
↗️ Nearly Sorted - Best-case scenario- 📏 Custom Size - 10 to 50 elements
- 📝 Pseudocode Display - See complete algorithm logic
- 💡 Line Highlighting - Current executing line highlighted (in progress)
- 📊 Real-time Metrics - Comparisons, swaps, time elapsed
- 5 multiple-choice questions per algorithm
- Test time complexity understanding
- Predict array states after operations
- Immediate feedback on answers
- ✅ Completed algorithms tracker
- 📈 Quiz scores and statistics
- ⏱️ Time spent learning
- 📊 Visual progress bars
- 🏆 Sorting Master - Complete all 4 algorithms
- ⭐ Perfect Score - Get 5/5 on any quiz
- ⚡ Speed Learner - Complete 3 algorithms in one day
- 🔥 Week Warrior - Maintain 7-day streak
- 📅 Daily learning streak counter
- 🔥 Visual calendar with active days
- 💪 Motivational messages
- 🥇 Top 10 learners ranked by:
- Algorithms mastered
- Average quiz scores
- Total learning time
- Vanilla JavaScript (ES6) - No frameworks, pure JS
- HTML5 Canvas API - Smooth 60fps animations
- CSS3 - Modern dark theme with pink accents
- ES6 Modules - Clean, modular code
- Node.js - Runtime environment
- Express.js - RESTful API
- MongoDB Native Driver - Database operations
- CORS - Cross-origin support
- MongoDB - NoSQL document database
- Collections: algorithms, user_progress, quiz_results, achievements
AlgoLearn/
├── public/ # Frontend
│ ├── *.html # Pages
│ ├── css/ # Stylesheets
│ └── js/ # JavaScript modules
├── server/ # Backend
│ ├── routes/ # API endpoints
│ ├── data/ # Seed data
│ ├── server.js # Express app
│ └── db.js # Database connection
├── screenshots/ # Project screenshots
├── package.json
└── README.md
GET /api/algorithms- List all algorithmsGET /api/algorithms/:id- Get algorithm details with pseudocode
POST /api/quiz-results- Save quiz resultsGET /api/quiz-results/:userId- Get user's quiz history
POST /api/progress- Update user progressGET /api/progress/:userId- Get user progress data
POST /api/achievements- Award achievementGET /api/achievements/:userId- Get user achievements
GET /api/leaderboard- Get top learners
| Algorithm | Difficulty | Time Complexity | Space Complexity |
|---|---|---|---|
| Bubble Sort | Easy | O(n²) avg | O(1) |
| Quick Sort | Medium | O(n log n) avg | O(log n) |
| Merge Sort | Medium | O(n log n) | O(n) |
| Heap Sort | Hard | O(n log n) | O(1) |
- ✅ Algorithm cards load with correct badges
- ✅ Canvas animation runs at 60fps
- ✅ All playback controls function correctly
- ✅ Step backward/forward works
- ✅ Pseudocode displays with all functions
- ✅ Real-time metrics update
- ✅ All 4 algorithms visualize correctly
- ✅ Quiz system works end-to-end
- ✅ Progress tracking updates correctly
- ✅ Achievements unlock at milestones
- ✅ Leaderboard displays rankings
- ✅ Streak counter increments daily
- Primary Color: Pink (#ff79c6)
- Background: Dark (#1e1e1e)
- Font: Consolas, Monaco, Courier New (monospace)
- Animations: CSS transitions + Canvas rendering
- ✅ Formatted with Prettier
- ✅ Linted with ESLint
- ✅ No exposed credentials
- ✅ Clean, modular structure
git pull origin main # Pull latest
# Make changes...
git add .
git commit -m "Message"
git push origin mainMIT License - See LICENSE file for details
- Northeastern University CS Department
- Inspiration from visualgo.net and algorithm-visualizer.org
- Built with dedication by Deeksha & Shriya
Deeksha Manjunatha Bankapur
GitHub: @deeksha26052003
Shriya Yarrapureddy Sarath
GitHub: @shriyays
Made with 💕 by Deeksha & Shriya
© 2026 AlgoLearn - Learn Algorithms Visually