pwp microproject
pwp microproject
PROJECT REPORT
ON
“PERIODIC QUIZ”
FOR THE DIPLOMA IN COMPUTER ENGINEERING
SUBMITTED BY
SARTHAK UMESH MEVHANKAR
YASH KADUBAL NIKAM
VIKAS BHAGWAN NIRASHE
AND
MAHARASHTRA STATE BOARD OF
TECHNICAL EDUCATION,MUMBAI
A
MICRO-PROJECT REPORT ON
“PERIODIC QUIZ”
FOR THE DIPLOMA IN COMPUTER ENGINEERING
SUBMITTED BY
SARTHAK UMESH MEVHANKAR
YASH KADUBAL NIKAM
VIKAS BHAGWAN NIRASHE
We would like to express our thanks to the people who have helped us most throughout our
project. We would like to express our sincere thanks to the principal of CSMSS College of
Polytechnic Dr.S.R. Dikle for being always with us as a motivator. We are thankful to the H.O.D. of
Computer Engineering Department Ms.R.S. Pophale for her kind support. We are grateful to our
Project Guide Ms. N.S.Wagh for nonstop support and continuous motivation for the project. Her
help made us possible to complete our project with all accurate information. A special thanks of our
goes to our friends who helped us in completing the project, where they all exchanged their own
interesting ideas.We wish to thanks our parents for their personal support or attention who inspired
us to go our own way. Finally, we would like to thank God who made all things possible for us till
the end.
Ms. N.S.Wagh
(Project Guide)
INDEX
1 MICRO-PROJECT PROPOSAL 1
3 COURSE OUTCOME 1
4 PROPOSED METHODOLOGY 1
5 ACTION PLAN 2
6 RESOURCE USED 3
7 RATIONALE 4
8 LITERATURE REVIEW 5
11 SKILL DEVELOPMENT 11
12 APPLICATIONS 11
MICRO-PROJECT PROPOSAL
Aim :-To develop an interactive Python quiz game that tests users' knowledge of the periodic
table through multiple-choice and fill-in-the-blank questions.
Benefits :-
Enhances chemistry learning in a fun way.
Provides self-assessment and progress tracking.
Improves Python programming skills.
2.0 COURSEOUTCOMES
The theory, practical experiences and relevant soft skills associated with this course are to be taught
and implemented, the following industry-oriented COs associated with the above-mentioned
competency: screen using Python script on IDE.
a) Display message on screen using python script on IDE
b) Develop python program to demonstrate use of Operators
c) Perform operations on data structures in Python.
d) Develop functions for given problem.
e) Design classes for given problem.
f) Handle exception
3.0 PROPOSEDMETHODOLOGY
the "Periodic Quiz" project involves a structured approach to development. First, requirement analysis
will be conducted to identify key features such as quiz types, scoring, and UI design. The system
design phase will focus on planning the quiz logic,and data structure. Implementation will involve
coding the quiz using Python, with a GUI (Tkinter/PyQt) or a simple CLI-based interface. Testing and
debugging will ensure smooth functionality and accuracy. Finally, the project will be deployed .
1
4.0 ACTIONPLANS:
2
5.0 RESOURCES REQUIRED:
1. Computer Windows 10 1
Python Programming
3. Textbook/Manual 1
Textbook
1.
2211520091 SARTHAK UMESH MEVHANKAR
2.
2211520095 YASH KADUBAL NIKAM
3.
2211520096 VIKAS BHAGWAN NIRASHE
-Approved by
Ms. N.S.Wagh
3
MICRO-PROJECT REPORT TITLE:- PERIODIC QUIZ
1.0 RATIONALE
Python is powerful programming language. It has efficient high-level data structures and a simple but
effective approach to object-oriented programming. Python code is simple, short, readable, intuitive,
and powerful, and thus it is effective for introducing computing and problem solving to beginners. It's
elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for
scripting and rapid application development in many areas on most platforms.
Aim :-
To develop a centralized and automated system for managing employee records.
To replace manual record-keeping with a digital solution for accuracy and efficiency.
Benefits :-
Time-Saving Automation – Reduces manual work and speeds up HR processes.
Improved Data Accuracy – Minimizes errors in employee records and payroll.
The theory, practical experiences and relevant soft skills associated with this course are to be taught
and implemented, so that the student demonstrates the following industry-oriented COs associated
with the above-mentioned competency: screen using Python script on IDE.
a) Display message on screen using python script on IDE
b) Develop python program to demonstrate use of Operators
c) Perform operations on data structures in Python.
d) Develop functions for given problem.
e) Design classes for given problem.
f) Handle exceptions.
4
4.0 LITERATURE REVIEW:
The Periodic Quiz project builds upon existing research and applications in the fields of educational
technology, gamified learning, and Python-based quiz systems. Various studies emphasize that
interactive quizzes enhance student engagement and retention of knowledge, particularly in subjects
like chemistry.
Python is widely used for developing quiz-based applications due to its simplicity and extensive
libraries. Tkinter and PyQt are commonly employed for building graphical user interfaces, while
SQLite or JSON can be used for data storage. Several existing Python quiz applications focus on
general knowledge, but limited resources are dedicated to periodic table-based learning tools.
Gamification elements, such as scoring, hints, and leaderboards, have been shown to improve learning
outcomes. Research also suggests that quizzes with real-time feedback help learners identify gaps in
their understanding. By integrating these concepts, the Periodic Quiz project aims to provide an
engaging and educational tool for learning the periodic table efficiently.
Previous studies have emphasized the benefits of real-time feedback in quiz-based learning, allowing
users to immediately assess their mistakes and improve their understanding. Adaptive quizzes, which
adjust difficulty based on user performance, have also been shown to increase engagement and
retention. Additionally, the integration of multiple-choice questions, fill-in-the-blank challenges, and
visual representations of elements has been recognized as a way to enhance cognitive learning.
By incorporating these findings, the Periodic Quiz project aims to provide a user-friendly, offline, and
interactive learning tool for students and enthusiasts to test and improve their knowledge of the periodic
table. The application will integrate gamification elements, real-time feedback, and a structured
learning approach to make chemistry more engaging and accessible.
5
5.0 ACTUAL METHODOLOGY FOLLOWED
Purpose:
The data module is responsible for storing the periodic table elements and their names. Since data
storage and retrieval are separate concerns from the game logic and UI, moving them to an independent
module makes the code cleaner and easier to maintain.
# data.py
ELEMENTS = {
"H": "Hydrogen", "He": "Helium", "Li": "Lithium", "Be": "Beryllium",
"B": "Boron", "C": "Carbon", "N": "Nitrogen", "O": "Oxygen",
"F": "Fluorine", "Ne": "Neon", "Na": "Sodium", "Mg": "Magnesium",
}
Purpose:
The GUI module is responsible for creating buttons, labels, and other UI components used in the game.
By moving UI-related functions to this module, we improve code reusability and make the main script
less cluttered.
6
# gui.py
import tkinter as tk
Purpose:
The game logic module is responsible for handling the quiz mechanics, including:
Selecting a random element symbol.
Providing hints.
7
# game.py
import random
import tkinter as tk
from tkinter import messagebox
from data import ELEMENTS
class PeriodicTableGame:
def __init__(self, root):
self.root = root
self.root.title("Periodic Table Quiz")
self.root.geometry("600x400")
self.root.configure(bg="#1e1e2e")
self.score = 0
self.lives = 3
self.current_element = None
self.label = tk.Label(root, text="Guess the Element Name!", font=("Arial", 16), fg="white", bg="#1e1e2e")
self.label.pack(pady=20)
self.element_label = tk.Label(root, text="", font=("Arial", 24, "bold"), fg="cyan", bg="#1e1e2e")
self.element_label.pack()
self.entry = tk.Entry(root, font=("Arial", 14))
self.entry.pack(pady=10)
self.submit_btn = tk.Button(root, text="Submit", font=("Arial", 14), command=self.check_answer)
self.submit_btn.pack(pady=5)
self.hint_btn = tk.Button(root, text="Hint", font=("Arial", 14), command=self.show_hint)
self.hint_btn.pack(pady=5)
self.score_label = tk.Label(root, text=f"Score: {self.score} | Lives: {self.lives}", font=("Arial", 14),
fg="white", bg="#1e1e2e")
self.score_label.pack(pady=10)
self.next_question()
def next_question(self):
"""Selects a new random element and updates the UI."""
if self.lives <= 0:
messagebox.showinfo("Game Over", f"Final Score: {self.score}")
self.root.quit()
self.current_element = random.choice(list(ELEMENTS.keys()))
self.element_label.config(text=self.current_element)
self.entry.delete(0, tk.END)
def check_answer(self):
"""Checks user input and updates score or lives."""
answer = self.entry.get().strip().capitalize()
if answer == ELEMENTS[self.current_element]:
self.score += 10
messagebox.showinfo("Correct!", "Well done!")
else:
self.lives -= 1
messagebox.showerror("Wrong!", f"The correct answer was {ELEMENTS[self.current_element]}")
self.score_label.config(text=f"Score: {self.score} | Lives: {self.lives}")
self.next_question()
def show_hint(self):
"""Provides a hint by showing the first two letters of the element."""
hint = ELEMENTS[self.current_element][:2] + "..."
messagebox.showinfo("Hint", f"Starts with: {hint}")
8
Advantages of this module:
Better Organization: The game logic is completely independent of the UI and data storage.
Easier Debugging: Since game mechanics are isolated, debugging and testing become simpler.
Scalability: New features, such as difficulty levels, timers, or more element properties, can be added
easily.
Purpose:
The main module is responsible for starting the game by initializing the Tkinter window and creating
an instance of PeriodicTableGame.
# main.py
import tkinter as tk
from game import PeriodicTableGame
if __name__ == "__main__":
root = tk.Tk()
game = PeriodicTableGame(root)
root.mainloop()
Encapsulation: Keeps the main script clean and focused only on launching application.
Modular Testing: The game can be tested independently brunning game.py separately.
9
6.0 ACTUAL RESOURCES USED:
10
8.0 SKILLDEVELOPED/LEARNINGOUTCOMEOFTHISMICROPROJECT
Programming Skills – Strengthen your Python programming knowledge, including syntax, functions,
loops, and conditional statements. GUI Development – Learn how to create an interactive graphical
user interface using Tkinter or PyQt for a user-friendly quiz experience.Data Handling – Gain
experience in managing element data using dictionaries, lists, JSON, or CSV files. Game Logic Design
– Develop logic for quiz questions, scoring systems, hints, and time-based challenges.
Educational Tool – Helps students learn and memorize the periodic table elements through interactive
quizzes. E-Learning Platforms – Can be integrated into online learning platforms for chemistry
education.Gamification in Education – Encourages learning through a fun and engaging quiz-based
approach.Competitive Exams Preparation – Useful for students preparing for exams like JEE, NEET,
and other science-based tests.
Ms.N.S.Wagh
11