Inspiration
Having spent countless hours preparing for complex exams, I realized that mastering the curriculum is only part of the challenge. The actual testing environment—with its strict proctoring, rigid timelines, and high-pressure atmosphere—can significantly impact performance. I wanted to bridge the gap between casual study sessions and test day by building a mock system that doesn't just quiz students, but psychologically prepares them for the rigid structure of the real AP exam room.
What it does
The system is a fully immersive mock test environment specifically tailored for AP Computer Science A. It goes beyond simple multiple-choice quizzes by simulating the official exam entry process. Students log in through an authentic authentication interface that requires a dynamic authorization code, mimicking the proctor-led start of a real exam. Once inside, the platform provides a strictly timed testing UI and includes highly detailed, HTML-based scoring guidelines for Free-Response Questions (FRQs) that are directly aligned with official 2021 curriculum rubrics.
How I built it
I developed the core application logic utilizing my proficiency in Java and Python. To ensure seamless access for students without needing complex installations, I configured the deployment to host the exam files directly via GitHub Pages.
The system is split into two main components: the student-facing exam interface and a dedicated proctor tool. The proctor tool acts as the administrative backend, generating and managing the authorization codes required for students to unlock their specific test sessions. For the grading component, I structured a comprehensive HTML framework that systematically breaks down the FRQ grading criteria, making it easier for educators or peers to evaluate code exactly how official graders would.
Challenges I ran into
The biggest technical hurdle was engineering the dynamic authorization code system. Initially, I designed a 6-digit code that refreshed every minute, but this proved way too restrictive and caused sync errors if a student was slightly delayed. I then pivoted to a daily refresh, which was too broad and compromised the "secure exam" feel. I eventually engineered a sweet spot: a 30-minute refresh cycle with a built-in grace period, which balanced strict access control with practical usability.
Additionally, perfectly translating the nuanced AP grading rubrics into a standardized HTML format required meticulous attention to detail. I also had to rigorously debug my backend logic to ensure all data types were handled flawlessly during simulated grading—for example, making absolutely sure certain evaluation methods correctly returned a String rather than an int when parsing student inputs.
Accomplishments that I'm proud of I am incredibly proud of the authentication interface and the proctor tool. Successfully implementing the 30-minute dynamic code cycle made the platform feel professional and legitimate. Creating the "proctor-led lockdown" experience digitally was difficult, but it significantly elevates the psychological immersion of the simulation. I'm also very proud of the HTML-based FRQ scoring guidelines; turning complex, multi-layered rubrics into an intuitive, accessible format was a major win.
What I learned
This project drastically improved my understanding of time-synchronization and state management across different clients. I learned how to effectively leverage GitHub Pages for deploying structured web applications and gained valuable experience in designing dual-user systems (student vs. proctor). On a conceptual level, dissecting the 2021 AP CSA rubrics to build the grading tool gave me a profound, behind-the-scenes understanding of exactly how code is evaluated at an institutional level.
What's next for APCSA
The next major step is to expand the platform's capabilities by integrating automated preliminary syntax and logic checking for the Java FRQs, providing students with immediate, baseline feedback before human rubric grading. I also plan to scale the architecture so it can easily adapt to other computationally heavy subjects like AP Statistics and AP Physics, building out more advanced rendering capabilities for complex mathematical charts and graphs.
Log in or sign up for Devpost to join the conversation.