0% found this document useful (0 votes)
4 views

pwp microproject

The document is a project report on the 'Periodic Quiz' micro-project developed by students for their Diploma in Computer Engineering. It outlines the project's aims, benefits, methodology, and the roles of team members, along with a detailed literature review and actual implementation of the quiz game using Python. The project aims to enhance chemistry learning through an interactive quiz format while improving programming skills.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

pwp microproject

The document is a project report on the 'Periodic Quiz' micro-project developed by students for their Diploma in Computer Engineering. It outlines the project's aims, benefits, methodology, and the roles of team members, along with a detailed literature review and actual implementation of the quiz game using Python. The project aims to enhance chemistry learning through an interactive quiz format while improving programming skills.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

A

PROJECT REPORT
ON
“PERIODIC QUIZ”
FOR THE DIPLOMA IN COMPUTER ENGINEERING
SUBMITTED BY
SARTHAK UMESH MEVHANKAR
YASH KADUBAL NIKAM
VIKAS BHAGWAN NIRASHE

UNDER THE GUIDANCE OF


MS.N.S.WAGH
DEPARTMENT OF COMPUTER ENGINEERING
CSMSS COLLEGE OF POLYTECHNIC,
CHH. SAMBHAJINAGAR, MAHARASHTRA,INDIA

AND
MAHARASHTRA STATE BOARD OF
TECHNICAL EDUCATION,MUMBAI

ACADEMIC YEAR 2024-25


CHHATRAPATI SHAHU MAHARAJ SHIKSHAN
SANSTHA’S
COLLEGE OF POLYTECHNIC
KANCHANWADI, PAITHAN ROAD,
CHH.SAMBHAJINAGAR

A
MICRO-PROJECT REPORT ON

“PERIODIC QUIZ”
FOR THE DIPLOMA IN COMPUTER ENGINEERING

SUBMITTED BY
SARTHAK UMESH MEVHANKAR
YASH KADUBAL NIKAM
VIKAS BHAGWAN NIRASHE

COMPUTER ENGINEERING SECOND YEAR


SUBMITTED TO
COMPUTER ENGINEERING DEPARTMENT
YEAR 2024-2025
CERTIFICATE OF COMPLETION
This is to certify that Following Students of Sixth Semester of Diploma in
Computer Engineering of Institute CSMSS College of Polytechnic(code:1152)
have completed the Micro Project satisfactorily in subject PWP (22616) for the
academic year 2024-2025 as prescribed in the curriculum.

Place: Chhatrapati Sambhajinagar DATE:- / /2025

SR.NO ENROLLMENT NO. NAME OF STUDENT

1. 2211520091 SARTHAK UMESH MEVHANKAR

2. 2211520095 YASH KADUBAL NIKAM

3. 2211520096 VIKAS BHAGWAN NIRASHE

Ms.N.S.Wagh Ms.R.S.Pophale Dr.S.R.Dikle


(Course teacher ) (H.O.D) (Principal)
ACKNOWLEDGEMENT

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.

SR.NO ENROLLMENT NO. NAME OF STUDENT

1. 2211520091 SARTHAK UMESH MEVHANKAR

2. 2211520095 YASH KADUBAL NIKAM

3. 2211520096 VIKAS BHAGWAN NIRASHE

Ms. N.S.Wagh
(Project Guide)
INDEX

SR.NO TITLE PAGEG.NO

1 MICRO-PROJECT PROPOSAL 1

2 AIM/BENEFIT OF THE PROJECT 1

3 COURSE OUTCOME 1

4 PROPOSED METHODOLOGY 1

5 ACTION PLAN 2

6 RESOURCE USED 3

7 RATIONALE 4

8 LITERATURE REVIEW 5

9 ACTUAL METHODOLOGY FOLLOWED 6-9

10 OUTPUT OF THE MICROPROJECT 10

11 SKILL DEVELOPMENT 11

12 APPLICATIONS 11
MICRO-PROJECT PROPOSAL

TITLE OF MICRO-PROJECT:- “PERIODIC QUIZ”

1.0 AIMS/BENEFITS OF THE MICROPROJECT

 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:

Sr. Planned Name of Responsible


Planned
No. Details of activity Start Finish Team Members
date date

Select the topic about the micro-


1. 17.01.2025 27.01.2025 ALL
project.

Collect information about our


2. 28.01.2025 31.01.2025 ALL
topic.

To understand the concept of


3. 03.02.2025 07.02.2025 ALL
topic.

4. Analysis, coding and debugging 07.02.2025 22.02.2025 ALL

5. To prepare project Report 27.02.2025 30.03.2025 ALL

2
5.0 RESOURCES REQUIRED:

Sr.No. Name of Specification Quantity Remarks


resources/material

1. Computer Windows 10 1

2. Internet Youtube / Google

Python Programming
3. Textbook/Manual 1
Textbook

6.0 NAME OF TEAM MEMBERS

Sr.No Roll Numbers Name of Students

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.

2.0 AIMS/BENEFITS OF THE MICROPROJECT

 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.

3.0 COURSE OUTCOMES

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

1. Data Module (data.py)

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",
}

Advantages of this module:


 Easy Expansion: If we want to add more elements, we can do it in data.py without modifying any
other part of the code.
 Code Separation: The game logic and UI do not need to handle the element storage, making them
cleaner and more focused.

2. GUI Module (gui.py)

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

def create_label(root, text, font_size, fg="white", bg="#1e1e2e"):


"""Creates and returns a Tkinter Label widget."""
label = tk.Label(root, text=text, font=("Arial", font_size), fg=fg, bg=bg)
return label

def create_button(root, text, command, font_size=14):


"""Creates and returns a Tkinter Button widget."""
button = tk.Button(root, text=text, font=("Arial", font_size), command=command)
return button

Advantages of this module:


 Reusable UI Components: Instead of defining UI elements multiple times in different locations, we

can use these functions to create buttons and labels easily.


 Easy Modification: If we want to change UI design (e.g., colors, fonts), we can do it

in gui.py without affecting the game logic.

3.Game Logic Module (game.py)

Purpose:
The game logic module is responsible for handling the quiz mechanics, including:
 Selecting a random element symbol.

 Checking user answers.

 Updating scores and lives.

 Providing hints.

 Ending the game when lives reach zero.

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.

4. Main Application (main.py)

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()

Advantages of this module:


 Clear Entry Point: main.py serves as the only entry point to start the game.

 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:

Sr. No. Name of Resource/Material Specifications Qty Remarks

1 Windows 10 Intel Core i3 1

2 Text book/Manual Python 1

7.0 OUTPUT OF THE MICROPROJECT:

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.

9.0 APPLICATIONS OF MICROPROJECT

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.

To be Approved by the Concerned Teacher:

Ms.N.S.Wagh

DEPARTMENT OF COMPUTER ENGINEERING

11

You might also like