Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

🎓 Student Exam Dashboard

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).


📌 Overview

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.


✨ Features

  • 📊 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

🗂️ Project Structure

├── 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

⚙️ How It Works

  1. Transaction Loading — DataManager loads the student's historical wrong-answer records
  2. FP-Tree Mining — FrequentPatternManager builds an FP-Tree and mines patterns with a minimum support of 2
  3. Exam Generation — ExamMaker assembles 3 exams from the filtered frequent patterns
  4. Student Interaction — Student picks an exam, answers questions, and submits
  5. Scoring & Logging — Wrong topics are appended to the transaction log to improve future recommendations

🚀 Getting Started

Prerequisites

pip install streamlit pandas plotly

Run the App

streamlit run student_dashboard.py

📦 Dependencies

Package Purpose
streamlit Web UI framework
pandas Data aggregation & analysis
plotly Interactive performance charts

Internal modules: data_manager, exam_maker, frequent_pattern, session


📄 License

This project is for educational purposes.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages