A-Level Electronics Quiz App
Back to Blog

A-Level Electronics Quiz App

February 6, 2026

Case Study: Developing a Bespoke A-Level Electronics Quiz Platform

For my A-level Computing final project, I wanted to build something that bridged the gap between computer science theory and practical application. The result was a custom-built quiz application designed specifically to help students revise for A-level Electronics.


The Goal

The objective was to create an interactive, user-friendly platform that could manage student data, track progress, and provide a variety of topical questions ranging from Boolean logic to circuit components.


The Tech Stack

To build a robust and functional desktop application, I utilized:

  • Python: The core programming language for the application logic.
  • TKinter: Used to design the graphical user interface (GUI), ensuring a clean and intuitive experience for both students and teachers.
  • SQLite: A lightweight SQL database engine used to store user credentials, question banks, and historical quiz results.

Key Features

The application is built with several modules to handle different aspects of a learning environment:

  • Secure Authentication: A full registration and login system that distinguishes between Student and Teacher accounts.
  • Dynamic Quiz Engine: Students can choose quizzes based on specific Units or Difficulty levels (Easy, Medium, and Hard). The engine pulls random questions from the database, ensuring that no two quiz sessions are exactly the same.
  • Real-Time Analytics: After completing a 10-question set, the program calculates a percentage score and provides immediate feedback by listing which questions were answered correctly or incorrectly.
  • Progress Tracking & Leaderboards: The app stores every result in the SQL database. Students can view their personal statistics—such as total questions answered and overall accuracy—while a live leaderboard fosters a bit of healthy competition among peers.
  • Teacher Management Tools: Teachers have access to specialized views to monitor student performance across the class.

Challenges and Learning Outcomes

Building this project required a deep dive into relational database management. I had to ensure that the Users, tbl_Questions, and tbl_results tables were properly linked to allow for seamless data retrieval and updates.

I also spent a significant amount of time on the UI flow—using TKinter frames to navigate between the login screen, the dashboard, and the quiz interface without opening multiple windows, creating a more "modern app" feel.


How to Run the Project

The project was developed and tested to work with Python 3.6.2. To explore the code or run the quiz yourself:

  1. Download the project files from the repository.
  2. Ensure you have sqlite3 and TKinter available (standard in most Python installations).
  3. Run the main_window.py file from IDLE (do not double-click it).

This project was a fantastic way to apply database normalization and GUI design principles to a subject I am passionate about. You can find the full source code and documentation in my GitHub repository.