Lightweight desktop presenter for MCA practice questions, designed for instructors to screen-share randomized questions and reveal answers during live lessons.
This is a local teaching tool, not an online exam portal. It does not require WordPress, PHP, accounts, a database, or a web server.
- loads MCA question banks from CSV
- shuffles active questions for each session
- displays one multiple-choice question at a time
- hides the correct answer until the instructor reveals it
- highlights the correct answer on reveal
- filters questions by
topic_tag - uses a separate presentation window for Zoom or other screen-sharing apps
For normal end-user delivery, send the MCA-Question-Presenter-Windows zip
artifact from the GitHub Actions build.
The user should:
- Download the zip file.
- Right-click it and choose Extract All....
- Open the extracted folder.
- Double-click MCA Question Presenter.exe.
No Python, Git, GitHub login, or command-line setup is required.
Windows:
py presenter\mca_question_presenter.pyLinux:
sudo apt install python3-tk
python3 presenter/mca_question_presenter.pyThe app opens two windows:
- Instructor controls: load a bank, choose a topic, move through questions, reveal/hide answers, and reshuffle.
- MCA Question Display: the clean presentation window to share in Zoom.
- Right arrow: next question
- Left arrow: previous question
- Space or Enter: reveal/hide answer
- F11: toggle fullscreen on the display window
- Escape: leave fullscreen
The samples/ folder contains two bundled practice banks:
oow-navigation-bank-150.csvoow-stability-bank-150.csv
The app loads the Navigation bank by default. Use Load Selected in the instructor controls to switch to the Stability bank.
A full instructor guide is available in docs/user-guide.md.
A shareable PDF version is available in
docs/mca-question-presenter-user-guide.pdf.
Required columns:
question_text,option_a,option_b,option_c,option_d,correct_option
Recommended full format:
portal,question_text,option_a,option_b,option_c,option_d,correct_option,topic_tag,is_active,sort_order
correct_option must be A, B, C, or D.
is_active values of 0, false, no, inactive, or blank are skipped.
For normal end-user delivery, use the GitHub Actions build instead of asking the instructor to run commands.
- Open the repository on GitHub.
- Go to Actions.
- Open Build Windows App.
- Run the workflow manually, or use the latest successful run from
main. - Download the
MCA-Question-Presenter-Windowsartifact. - Send the downloaded zip to the instructor.
The instructor only needs to unzip the folder and double-click:
MCA Question Presenter.exe
Install PyInstaller in a virtual environment:
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install pyinstallerBuild:
presenter\build_windows.batRun:
dist\MCA Question Presenter\MCA Question Presenter.exe
python3 -m unittest discover -s tests
python3 -m compileall presenter tests