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.