Quiz Program
A simple quiz application with user authentication, supporting both students and instructors. The program uses a graphical user interface (GUI) built with Tkinter for login and error handling. Students can take quizzes and view their scores, while instructors can create quizzes.
Focus
- Python
- Object Oriented Programming (OOP)
- Tinker (GUI)
- csv file handlig with I/O
Features
- User Authentication: Login system for students and instructors.
- Student Functionality: Take quizzes, view scores.
- Instructor Functionality: Create quizzes, manage student data.
- GUI: Tkinter-based windows for login, confirmation, errors, and pop-ups.
- Quiz Management: Quizzes are loaded from CSV files.
File Structure
user.py
— ContainsStudent
,Instructor
, andSystem
classes for user management and quiz logic.gui.py
— Handles all GUI windows (login, confirmation, error, pop-ups).quiz.py
— Defines theQuiz
class for quiz creation and management.Quizfiles/
— Directory containing quiz CSV files (e.g.,quiz1.csv
).Run.py
orSencereRabel-test_run.py
— Main entry point scripts.
How It Works
- Start the Program: Run
Run.py
. - Login: Enter your username and password in the GUI window.
- Role-Based Actions:
- Student: Take a quiz and view your score.
- Instructor: Create and manage quizzes.
- Error Handling: If an error occurs, an error window will be displayed.
- Responce Submission: Select you answer and click submit.
- Receive live feedback: Current score is shown at the top.
- Final Score: Displayed at the end.
Requirements
- Python 3.x
- Tkinter (usually included with Python)
- CSV files for quizzes in the
Quizfiles/
directory
Getting Started
- Clone the repository.
- Ensure you have Python 3 installed.
- Place your quiz CSV files in the
Quizfiles/
directory. -
Run the main script:
python Run.py
Contributors
- `Sencere Rabel` - Github: `https://github.com/SencereRabel` - `Marcos Hernandez` - Github: `https://github.com/MarcoAxel`
License
MIT License