Welcome to the QCM Application Project repository! This project is designed to help computer science students learn and practice Python programming through the creation of a Multiple-Choice Questionnaire (QCM) application. It is part of a hands-on programming lab (TP) aimed at teaching essential programming concepts and project management skills.
The goal of this project is to create a Python application that allows users to:
- Answer QCM questions
- Evaluate their answers and calculate a final score
- Track user history, including previous scores and test dates
- Provide feedback for correct and incorrect answers
- Optionally implement advanced features like timers, question categories, and result exports
This repository contains all the resources, guidelines, and references needed to complete the project successfully.
-
User Management:
- Register new users and track their test history
- Display previous scores and test dates for returning users
- Save user data in JSON or CSV format
-
Question and Answer Management:
- Store questions and options in a structured file (JSON or CSV)
- Validate user answers and compute a score
-
Feedback and Scoring:
- Provide feedback for each question
- Display the correct answer for incorrect responses
- Show the final score at the end of the test
- Implement a timer for questions or the whole test
- Add categories (e.g., Python, Networks, Algorithms) for users to choose from
- Export test results to a file (CSV or text)
This project helps students:
- Apply Python programming concepts (data structures, file handling, loops, functions, etc.)
- Understand the importance of data persistence through files
- Practice problem-solving and algorithmic thinking
- Collaborate effectively in teams
- Learn how to document and present a project
- Basic knowledge of Python programming
- Familiarity with concepts like lists, dictionaries, and file handling
- Clone this repository:
git clone https://github.com/orochiwolf/TP-Exam-Python cd TP-Exam-Python - Install any required dependencies (if applicable).
- Follow the instructions in the project guidelines to start the application.
- Implement the required features step by step.
- Test your application thoroughly.
Each team should deliver:
- The source code of the application
- A README file with usage instructions and examples
- A project report explaining:
- Technical choices
- Challenges faced
- Solutions implemented
- A demo showcasing the main features of the application
This repository is open to the public to encourage learning and collaboration. Contributions are welcome! If you have ideas for improvements or additional features, feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License. You are free to use, modify, and distribute the code as long as proper credit is given.
Thank you for exploring this repository. This project is part of a series of educational initiatives aimed at fostering practical learning and coding skills in students. If you find it helpful, please give it a star ⭐ and share it with others!
For questions, feedback, or collaboration opportunities, feel free to reach out to me:
- Email: s.mouhoun@gmail.com
- LinkedIn: https://www.linkedin.com/in/said-mouhoun/
- X: https://x.com/saidmouhoun
- YouTube Channel: https://www.youtube.com/@saidmouhoun