CS211 Self-Assessment Tool
A full-stack web app deployed on AWS that assesses student readiness for CS211 across 8 Java topics. A scikit-learn decision tree recommends what each student should study, and an instructor dashboard shows class averages and topic mastery.
The Problem
Spotting Gaps Early
Instructors need a quick way to see where incoming students are weak in core Java topics such as loops, OOP, collections, and interfaces. A single overall score hides which specific topics need work.
The Solution
Topic-Level Recommendations
A multi-step quiz covers 8 core Java topics. A multi-output decision tree, trained on past attempts stored in the database, flags each student's weak topics and recommends what to study.
Core Architecture & Features
The main components of the platform.
Study Recommendations
A multi-output decision tree classifier (scikit-learn), trained on past attempts, identifies each student's weak topics and returns study recommendations.
Data Layer
Every attempt is stored in AWS RDS (MySQL), with a secondary backup sent to Google Sheets. Student IDs are validated as 9-digit numbers in the browser and again on the server.
Cloud Infrastructure
A FastAPI backend, containerized and deployed on AWS App Runner, with database settings supplied through environment variables.
Instructor Dashboard
A login-protected dashboard shows class averages and topic mastery, with filters for quarter, session, and year, plus a recent-submissions table.