An AI-powered adaptive exam platform built with Streamlit that generates personalized exams based on a student's weak topics using Frequent Pattern Mining (FP-Tree).
The Student Exam Dashboard analyzes a student's past performance to identify weak topics, then intelligently generates targeted exams using frequent pattern mining. After each exam, students receive instant feedback with detailed per-topic performance visualizations.
- 📊 Personalized Exam Generation — Uses FP-Tree mining to surface frequently missed topic patterns and build targeted exams
- 🧠 3 Selectable Exams — Students can choose from 3 dynamically generated exams per session
- ✅ Instant Results & Feedback — Correct/wrong answers highlighted immediately after submission
- 📈 Performance Visualization — Interactive grouped bar chart (Plotly) showing correct vs. wrong answers per topic
- 💾 Transaction Logging — Saves wrong topics after each attempt to continuously refine future exams
- 🎨 Custom Background & Styling — Configurable background image with a clean centered layout
├── student_dashboard.py # Main Streamlit app (entry point)
├── data_manager.py # Loads/saves student transaction data & computes average score
├── exam_maker.py # Question model & exam assembly logic
├── frequent_pattern.py # FP-Tree building and pattern mining
├── session.py # Session state management
├── img/
│ ├── logo.png # App logo
│ ├── background2.jpeg # Exam page background
│ ├── 1.jpeg # Exam 1 thumbnail
│ ├── 2.jpeg # Exam 2 thumbnail
│ └── 3.jpeg # Exam 3 thumbnail
- Transaction Loading —
DataManagerloads the student's historical wrong-answer records - FP-Tree Mining —
FrequentPatternManagerbuilds an FP-Tree and mines patterns with a minimum support of 2 - Exam Generation —
ExamMakerassembles 3 exams from the filtered frequent patterns - Student Interaction — Student picks an exam, answers questions, and submits
- Scoring & Logging — Wrong topics are appended to the transaction log to improve future recommendations
pip install streamlit pandas plotlystreamlit run student_dashboard.py| Package | Purpose |
|---|---|
streamlit |
Web UI framework |
pandas |
Data aggregation & analysis |
plotly |
Interactive performance charts |
Internal modules:
data_manager,exam_maker,frequent_pattern,session
This project is for educational purposes.