You are on page 1of 16

MAHARASHTRA STATE BOARD OF TECHNICAL

EDUCATION
GOVERNMENT POLYTECHNIC , DHULE
MICRO PROJECT
Academic year: 2023-2024

TITLE OF MICRO-PROJECT
" Create An English Dictionary
Using Python "
Program: COMPUTER ENGINEERING Program Code: CO6I
Course: PROGRAMMING WITH PYTHON Course code: 22616

Group Details:

Sr.
No Name of Group members Roll No Enrollment No

1 Nikhil Ravindra Rajput 333 2100170066

2 Tejas Mayur Agrawal 316 2100170040

Name of Project Guide: Mrs. Nayana Borse


MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION

Certificate
This is to certify that :-

Roll Enrollment Exam


Name of Student
No. No. SeatNo.
333 Nikhil Ravindra Rajput 2100170066

316 Tejas Mayur Agrawal 2100170040

has completed the Micro Project satisfactorily in Subject – Programming with Python
(22616) for the academic year 2023 - 2024 as prescribed in the curriculum.

Place: Dhule

Date:

Subject Teacher Head of the Department Principal

Seal of Institution
Micro Project (Teacher Evaluation Sheet)
Name of Program: Diploma in Computer Engineering Semester:6th

Course Title: CO6I Code: 0017

Title of Micro Project : Create An English Dictionary Using Python

Process and Individual Total


Roll Enrollment Product Presentation Marks
Name of Student
No. No. Assessment / Viva (10)
(06) (04)
333 Nikhil Ravindra 2100170066
Rajput
316 Tejas Mayur 2100170040
Agrawal

Comments/Suggestions about work:

Signature of Teacher :

Name and Designation :


of the Teacher
INDEX

Sr.
No Content Page No.

1 Project Proposal 01

2 Action plan 02

3 Resource required 02

4 Introduction 03

5 Actual Procedure 05

6 Output 08

7 Skill developed 09

8 Evaluation sheet 12
lOMoARcPSD|34756506

Annexure – I
Micro-Project Proposal

Create An English Dictionary Using Python

Aim/ Benefits of the Micro-Project


This Micro-Project aims at:
1) Understanding basic Python concept.
2) Implementing Exceptional Handling.
3) Improving our Python Programming skills.
4) Implementing python learning in creating projects.

2.0 Course Outcomes Addressed


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 [✓]

Proposed Methodology
 The first step will be, finalizing the topic with our respective guide.
 The rough draft and logic will be discussed by all the four members.
 We will then make an algorithm and flowchart of the topic so that we could get a
clear idea.
 Function definitions that will be required in the project will be done by each
member individually.
 Coding of the program will be divided part by part.
 Then the output will be discussed with the respective guide.
 Printouts of the code and output will be taken.
 Then, rough draft of the project will be made.
 The final submission will be done.
lOMoARcPSD|34756506

4.0 Action Plan

SR. Planned Start Planned Name of Responsible


Details of activity
No. date Finish date Team Members

1 Finalization of Project Title 08/03/2024 09/03/2024 All team members


and Scope
2 Project Definition and
11/03/2024 14/03/2024 All team members
design structure

3 Design procedure (Algorithm / 16/03/2024 17/03/2024 All team members


Flowchart)
4 Coding 18/03/2024 22/03/2024 All team members

5 Coding 25/03/2024 28/03/2024 All team members

6 Editing and Testing of Program 02/04/2024 04/04/2024 All team members

7 Report writing 05/04/2024 09/04/2024 All team members

Demonstration of project and


8 12/04/2024 15/04/2024 All team members
final submission

5.0 Resources Required

Sr. No. Equipment Name with Broad Specification Remark if any


s1. Desktop pc – Windows 7 ✓

2. Editor used – Python IDLE ✓

3. Software – Python 3.4.2 ✓

Name of Team Members with Roll Nos.:


Nikhil Ravindra Rajput 333
Tejas Mayur Agrawal 316

Mrs. Nayana Borse (Course Teacher)


lOMoARcPSD|34756506

Annexure – II

Micro-Project Report

Create An English Dictionary Using Python


1.0 Rationale
Python is a 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. Its 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 of the Micro-Project


This Micro-Project aims at:
1) Understanding basic Python concept
2) Implementing Exceptional Handling
3) Implementing basic data structures like dictionary
4) Improving our Python Programming skills

Course Outcomes Addressed


a) Develop 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) Handle Exceptions
lOMoARcPSD|34756506

Literature Review
 Data Structures:
 Python has four basic inbuilt data structures namely:
 Lists: Lists in Python are one of the most versatile collection object types
available. Lists can be used for any type of object, from numbers and
stringsto more lists.
 Dictionary: In python, dictionary is similar to hash or maps in other
languages. It consists of key value pairs. It is mutable and can contain mixed
types. A Dictionary is an unordered collection. Python dictionary are called
associative arrays hash tables in other languages. The keys in a dictionary
must be immutable objects like strings or numbers. They must also be unique
within a dictionary.
 Tuple: Python tuples work exactly like Python lists except they are
immutable, They are normally written inside parentheses to distinguish them
from lists (which use square brackets)
 Set: Sets are the unordered collection of unique objects.

 Exceptional handling:
 Even if a statement or expression is syntactically correct, it may cause an error when
an attempt is made to execute it. Errors detected during execution are called
exceptions
 These exceptions can be handled using the try statement
 Since the try block raises an error, the except block will be executed.

 User Defined Module:


 The user-defined module just written by the user at the time of program writing.
 Creation of User-defined module
To create a module just write a Python code in a file extension as.py:
Example:
def accept_int():
val=int(input(“Enter the integer number:”))
print(“The integer value is:”,val)
lOMoARcPSD|34756506

Actual Procedure Followed

 The first step was that we finalized our topic with our respective guide. We
discussed the topic and came to an agreement of making project on guessing
the number game.
 We divided the project work equally among all the members of our group.
 The rough draft and logic was discussed by all the four members.
 We made the algorithm and flowchart of the topic so that we could get a clear idea.
 Function definitions that were required in the project was done by
each member individually.
 Coding of the program was divided part by part and was done by all the team
members.
 Then the output was discussed with the respective guide who asked us
to make some modification in our project.
 After the modifications in the project were made, the printout of the code
and output were taken.
 The final submission was done.
Algorithm:
Step 1: Start
Step 2: Install Python Libraries i.e. tkinter , json
Step 3: Import all these Libraries
Step 4: Initialize The Dictonary File name
Step 5: Pass that variable to json variable.
Step 6: Create Functions named Add , Update , Search ,Delete
Step 6.1: Initialize These Functions.
Step 6.2: . Perform The Action According Its Functionality
Step 7: Create A Instance Of Tkinter For Display UI
Step 7.1: Adjust Components
Step 7.2: With the help These Perform The Actions .
Step 8: while True:
Step 8.1: Call The Load_dictonary() function and store it in variable
Step 8.2: Pass that variable as argument to Get The Desired Result Of Other
Actions.
Step 8.3: Call The Add(),Update(),ect Functions And Pass the Tkinter Object ,
And Dictonary To Its Parameters.
Step 9: Stop
lOMoARcPSD|34756506

Flowchart:
lOMoARcPSD|34756506

Code:

import tkinter as tk
from tkinter import messagebox
import json

# Function to load the dictionary from JSON file


def load_dictionary(file_name):
try:
with open(file_name, 'r') as file:
return json.load(file)
except FileNotFoundError:
return {}

# Function to save the dictionary to JSON file


def save_dictionary(dictionary, file_name):
with open(file_name, 'w') as file:
json.dump(dictionary, file, indent=4)

# Function to search for a word in the dictionary


def search_word(dictionary, word):
return dictionary.get(word.lower(), "Word not found in dictionary.")

# Function to add a new word to the dictionary


def add_word(dictionary, word, meaning):
dictionary[word.lower()] = meaning
return "Word added successfully."

# Function to remove a word from the dictionary


def remove_word(dictionary, word):
if word.lower() in dictionary:
del dictionary[word.lower()]
return "Word removed successfully."
else:
return "Word not found in dictionary."

# Function to update the meaning of a word in the dictionary


def update_word(dictionary, word, new_meaning):
if word.lower() in dictionary:
dictionary[word.lower()] = new_meaning
return "Meaning updated successfully."
else:
return "Word not found in dictionary."

# Function to handle the search button click


def search():
word = entry_word.get()
meaning = search_word(dictionary, word)
text_result.config(state=tk.NORMAL)
text_result.delete(1.0, tk.END)
text_result.insert(tk.END, meaning)
text_result.config(state=tk.DISABLED)
lOMoARcPSD|34756506

# Function to handle the add button click


def add():
word = entry_word.get()
meaning = entry_meaning.get()
messagebox.showinfo("Add Word", add_word(dictionary, word, meaning))
save_dictionary(dictionary, dictionary_file)

# Function to handle the remove button click


def remove():
word = entry_word.get()
messagebox.showinfo("Remove Word", remove_word(dictionary, word))
save_dictionary(dictionary, dictionary_file)

# Function to handle the update button click


def update():
word = entry_word.get()
new_meaning = entry_meaning.get()
messagebox.showinfo("Update Meaning", update_word(dictionary, word, new_meaning))
save_dictionary(dictionary, dictionary_file)

# Main code
dictionary_file = "dictionary.json"
dictionary = load_dictionary(dictionary_file)

# GUI setup
root = tk.Tk()
root.title("English Dictionary")
root.configure(bg="lightblue")

label_word = tk.Label(root,text="English Dictionary Using Python :",


bg="lightblue",fg="black",relief="raised",font=("Lucida Sans Typewriter", 20))
label_word.pack()

label_word = tk.Label(root, text="Word:", bg="lightblue",font=("Times New Roman", 15))


label_word.pack()

entry_word = tk.Entry(root,bg="lightblue",font=("Times New Roman", 15))


entry_word.pack()

label_meaning = tk.Label(root, text="Meaning:", bg="lightblue",font=("Times New Roman", 15))


label_meaning.pack()

entry_meaning = tk.Entry(root,bg="lightblue",font=("Times New Roman", 15))


entry_meaning.pack()

button_search = tk.Button(root, text="Search", command=search, bg="lightgrey",font=("Times New Roman", 15))


button_search.pack()

button_add = tk.Button(root, text="Add", command=add, bg="lightgrey",font=("Times New Roman", 15))


button_add.pack()
lOMoARcPSD|34756506

button_remove = tk.Button(root, text="Remove", command=remove, bg="lightgrey",font=("Times New Roman",


15))
button_remove.pack()

button_update = tk.Button(root, text="Update", command=update, bg="lightgrey",font=("Times New Roman",


15))
button_update.pack()

text_result = tk.Text(root, height=5, width=50, state=tk.DISABLED,bg="lightblue",font=("Times New Roman",


15))
text_result.pack()

root.mainloop()
lOMoARcPSD|34756506

6.0 Actual Resources Used

Sr. No. Equipment Name with Broad Specification Remark if any

1. Desktop pc – Windows 7 ✓

2. Editor – Python IDE ✓

3. Software – Python 3.4.2 ✓

7.0 Outputs of the Micro-Projects


lOMoARcPSD|34756506

Skill Developed / learning out of this Micro-Project


The following skills were developed while performing and developing this micro project:
 Deigning: Designing of micro project with minimum required resources and at low cost.
 Teamwork: Learned to work in a team and boost individual confidence.
 Data Analysis: Interpretation of Data; Drawing and analysis of graphs
 Problem-solving: Developed good problem-solving habits.
 Technical writing: Preparing a report of the proposed plan and final report.
 Comprehended and applied different concepts in Python
 Understood the importance of time management

Application of this Micro-Project


The following are the applications of this micro project:

1) It used to create the English dictionary

2) It can be used to store the words in a dictionary.

3) It issued to update the word in a dictionary.


4) It issued to display the words in a dictionary
lOMoARcPSD|34756506

Suggested Rubric for Assessment of Micro-Project

S. Characteristic to Poor Average Good Excellent


No. be assessed ( Marks 1 - 3 ) ( Marks 4 - 5 ) ( Marks 6 - 8 ) ( Marks 9- 10 )
Take care of
Relevance to the Relate to very Related to some Take care of at-
1 more than
course few LOs Los least one CO one CO
At –least 7
Literature review Not more than At-least 5 About 10
relevant
2 /information two sources very relevant sources, relevant sources,
sources, most
collection old reference at least 2 latest most latest
latest
Completion of the
Completed less Completed 50 to Completed 60 to Completed more
3 Target as per
than 50% 60% 80% than 80 %
project proposal
Sufficient and
Sufficient and
appropriate
appropriate Enough data
Data neither enough data
Analysis of Data enough data collected and
organized nor generated but not
4 and representation generated which sufficient and
presented organized and
is organized and presenting data.
well not presented
well. but not used.
Well assembled Well assembled
and functioning with proper
Just assembled
Incomplete parts. But no functioning
Quality of and some codeis
5 Programming creativity in parts.. Creativity
Prototype/Model not functioning
code design and use in design and
well. of graphics use of graphics
function function
Nearly sufficient Detailed, correct
Very short,
and correct and clear
Details about Very detailed,
details about description of
methods, and correct, clear
Report methods, and methods and
6 conclusions description of
Preparation conclusion. but Conclusions.
omitted, some clarity is not methods, and
Sufficient
details are there in conclusions.
Graphic
wrong presentation. Description.
Major Includes major
Includes major
information is information but Well organized,
information and
Presentation of not included, not well includes major
7 well organized
the micro project information is organized and information
but not
not well not presented ,well presented
presented well
organized. well
Replied to Replied
Could not reply
considerable properly to Replied most of
to considerable
8 Viva number of considerable the questions
number of
questions but number of properly
question. not very question.
properly

You might also like