Skip to content

Abram-Ashraf/data_mining

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

31 Commits
Β 
Β 
Β 
Β 
Β 
Β 

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Jupyter Notebook 73.0%
  • Python 27.0%