Project Report

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 17

(AUTONOMOUS)

PROJECT REPORT

DEPARTMENT OF INFORMATION TECHNOLOGY

FOURTH YEAR

VII SEMESTER

EMOTION CORRELATION MINING

PRESENTED BY:
D.Sree Pujitha - 19NG1A1216
B.Anitha - 19NG1A1206
B.Lokesh - 19NG1A1213
Sai Pavan - 19NG1A1237
Ashwin - 19NG1A1256
ABSTRACT
A quiz is used to test students understanding of the material given. In early days Manual quiz
system was one of the most popular methods for assessing students. Even today the quiz
system is quite popular among the students as well as the teachers. But in manual quiz
system there are many problems that everyone face in common. Some of the problems are
that the manual system requires pen/pencil and paper, teacher needs to spend time for script
checking, students need to wait to get their result untill the teacher finishes script checking.
These are the most common problems of Manual quiz system that rotated each and everytime
the quiz held.
For these reasons, the popularity of manual systems decreases day by day and computer
based quiz system is taking place of manual quiz system. The computer based quiz system
are getting popular with a tremendous speed. As the technology is spreading throughout the
world, the automated system is taking the place of manual systems. Currently big institutes
are running their online quiz system at a very successful rate. In the recent years, the use of
electronic online quiz systems has become quite popular due to pressure of increasing class
sizes, need of more efficient methods of assessing distance students. These things motivate us
to work with computer based quiz systems.
The main objective of “Quizzee Bee Buzz” is to facilitate a user friendly environment for all
the users and reduce the manual effort. The application Quizzee Bee Buzz will provide a quiz
with multiple choice questions where a user can easily register and login to take quiz and
view his score.
TABLE OF CONTENTS

SNO CONTENTS PAGE


NUMBER

1 1
Introduction

2 2
Literature survey

3 3-4
Modules Implementation

4 5
Software and Hardware Requirements

5 6-8
Code Implementation

6 9-11
Output

7 12
Advantages and Disadvantages

8 13
Conclusion

9 14
References
INTRODUCTION

The Quizzie Bee Buzz Application is based on Python programming language and MYSQL .
The project Quizzie Bee Buzz consists of only the user side. The user must sign up first and
then log in to start the Quiz. The Quizzie Bee Buzz consists of basic multiple choice
questions based on basic Engineering. It is a Quiz portal system with Register, Login, and
Quiz modules.

The main objective of “Quizzie Bee Buzz” is to facilitate a user friendly environment for all
users and reduces the manual effort. In past days quiz is conducted manually but now this
quiz application proves to be time efficient and accurate.

The user registers for the quiz by providing necessary details. Whenever a new user registers,
a new record is stored in reg table of quizapp database of MySQL server at backend. The
unique username and password are the login credentials for the user which are used to login
and attempt the quiz. The user name and password are verified at backend. The user can view
his previous quiz score. The quiz score is updated as the user retakes the exam each time.

In the quizapp database of MYSQL server, we maintain two different tables, one for
registration and other for questions. Whenverer a new user registers a new record is added to
the registration table. The questions are imported from excel sheet to questions table using
python module – xlrd and MYSQLdb. Among the various number of questions, everytime
ten questions are generated randomly for the user in the quiz exam which is done by the
random module of python.

The application is implemented in six steps:


1) Establishing connection between MYSQL and PYTHON.
2) Fetching data from excel sheet to database using xlrd module of python.
3) Adding user data to the database.
4) Checking for user Authentication.
5) Retrieving questions from the database.
6) Providing the score to the user based on his performance.

1
LITERATURE SURVEY

Currently, education is evolving from a traditional perspective to a digital and web-based


perspective characterized by the technological advances in the society in general and particularly
in the academic world.
The Survey on Devices and the Use of Information and Communication Technologies (ICTs) in
the Spanish households in 2013 , reveals that around 50% of the Spanish households have personal
computers (desktop or laptop). This percentage increases to 96% if the ICT device is smartphones
and intelligent mobile phones. On the other hand, the percentage of Spanish households that has
iPads, Android tablets and e-books decrease approximately to 15%. Despite this last value, the
study shows that most of the Spanish population has electronic devices related to ICTs, which
demonstrates a technologically advanced society. This advancement in society not only influences
households but also enterprises and public institutions.
Increasingly, companies use technological tools to manage their daily operations. The same
happensto public institutions such as schools and universities that have invested in the provision of
technical equipment (computers, tablets, etc ...) for teaching and learning activities. In 2002, there
were 13 students per computer while in 2011 there were only 2,8 students per computer in non-
university education (primary and secondary levels).
These data provide an insight of the importance that technological devices, the frequency and the
capacity of use of them has in these present times
Therefore, with this kind of tools teachers are able to create quizzes with different questions to
assess the students understanding and comprehension.

2
MODULES IMPLEMENTATION

Module 1 : Establishing connection between Python and MySQL

MySQLdb is an interface for connecting to MySQL database server to python.


Cursor is a object which helps to fetch queries and execute from a database.
Conn=MySQLdb.connect(host='localhost',database='quizapp',user='root',password='root')
cursor = conn.cursor()

Module 2 : Reading questions from EXCEL sheet and adding them to database

XLRD – Excel read module in python


Questions are manually uploaded to excel sheet. The questions from the excel sheet are uploaded
to database using cursor object.
Each question is added as each row in table in specified database.
#Code to add rows
for i in range(1,n):
lst = sheet.row_values(i)
print(lst)
q2 = "insert into questions(QID, qstn, opA, opB, opC, opD, ans)
values('%d','%s','%s','%s','%s','%s','%d')"
arg = (int(lst[0]), lst[1], lst[2], lst[3], lst[4], lst[5], lst[6])
cursor.execute(q2 % arg)
conn.commit()

Module 3 : User Registration using tkinter module of python

User registers and his details are added to added to databse using MySQLdb.
self.mainTitle = Label(f1, text="Register Yourself", bg="azure",font=("Helvetica", 30, "bold italic
underline")).place(x=50, y=10)
self.name = Label(f1, text="First Name : ", bg="azure", font=("Times New Roman", 10))
self.lname = Label(f1, text="Last name : ", bg="azure", font=("Times New Roman", 10))
self.email = Label(f1, text="Email id : ", bg="azure", font=("Times New Roman", 10))
self.uname = Label(f1, text="Username :", bg="azure", font=("Times New Roman", 10))
3
self.pw = Label(f1, text="Enter password : ", bg="azure", font=("Times New Roman", 10))
s = "insert into reg(name,lname,email,uname,p,score) values('%s','%s','%s','%s','%s','%d')"
arg = (name, lname, email, uname, p, 0)
cursor.execute(s % arg)
conn.commit()
Module 4 : User Authentication
s = "select * from reg where uname='%s' and p='%s'"
arg = (u, p)
cursor.execute(s % arg)
result = cursor.fetchall()
if result:
self.goinaccount(u)
else:
messagebox.showerror("Error", "Invalid Username or Password, Try Again!")
Module 5 : Quiz page and score updation
Generating questions using random module
id = random.randint(1, 85)
while len(s1) > 0:
s = "select qstn from questions where QID=%d"
id = s1.pop()
arg = (id)
cursor.execute(s % arg)
strQ = strQ.join(list(cursor.fetchone()))
questions.append(strQ)
Updating score of user whenever user logs in to the account
conn = MySQLdb.connect(host='localhost', database='quizapp', user='root', password='root')
cursor = conn.cursor()
q = "update reg set score='%d' where uname= '%s'"
arg = (s, self.user)
cursor.execute(q % arg)
conn.commit()
cursor.close()
conn.close()
messagebox.showinfo("Score", "Your Score is: " + str(s) + "/10")

4
HARDWARE AND SOFTWARE REQUIREMENTS

SOFTWARE REQUIREMENTS:

Operating System : Windows 8/10/11


Python 3 or above versions along with xlrd, tkinter, MYSQLdb modules.
MYSQL 5.6.19 or above versions

HARDWARE SPECIFICATIONS:

Processor : Intel(R) Core(TM) i3 or


more Installed RAM : 4.00 GB or more
System type : 64-bit operating system, x64-based
processor Monitor : 1024 x 720 Display

5
CODE IMPLEMENTATION

#Adding questions from excel sheet to database using slrd module of


python.
import MySQLdb
import xlrd

loc = ("E:\Academics\MINI PROJECT-2\Quiz App Using Python and MYSQL\Resources\


Questions.xlsx")
wb = xlrd.open_workbook(loc)
sheet = wb.sheet_by_index(0)
n = sheet.nrows

conn = MySQLdb.connect(host='localhost', database='quizapp', user='root',


password='root')
cursor = conn.cursor()
cursor.execute("drop table if exists Questions")
q = "create table questions(QID int, qstn text, opA text, opB text, opC text, opD text, ans
int)"
cursor.execute(q)
#Code to add rows
for i in range(1,n):
lst = sheet.row_values(i)
print(lst)
q2 = "insert into questions(QID, qstn, opA, opB, opC, opD, ans)
values('%d','%s','%s','%s','%s','%s','%d')"
arg = (int(lst[0]), lst[1], lst[2], lst[3], lst[4], lst[5], lst[6])
cursor.execute(q2 % arg)
conn.commit()

# lst = sheet.row_values(3)
# print(lst[0], lst[1], lst[2], lst[3], lst[4], lst[5], lst[6])
# q2 = "insert into questions(QID, qstn, opA, opB, opC, opD, ans)
values('%d','%s','%s','%s','%s','%s','%s')"
# arg = (int(lst[0]), lst[1], lst[2], lst[3], lst[4], lst[5], lst[6])
# cursor.execute(q2 % arg)
# conn.commit()

cursor.close()
conn.close()
import MySQLdb
from tkinter import *
from tkinter import messagebox
import hashlib
6
import random

class MainWindow:

def __init__(self, master):


self.master = master
self.master.geometry("1350x750+0+0")
self.master.title("Online Quiz")
self.master.config(bg="#009FBF")

f = Frame(self.master, height=1080, width=1920, bg="azure", relief="ridge", bd=20)


f.propagate(0)
f.pack()
self.man = PhotoImage(file="E:\Academics\MINI PROJECT-2\Quiz App Using
Python and MYSQL\Resources\imag.png")
imgMan = Label(f, image=self.man, bg="azure")
imgMan.place(x=0, y=60)

self.mainTitle = Label(f, text="Quizzee Bee Buzz", fg="red" ,bg="azure",


font=("Helvetica", 30, "bold italic")).place(
x=400, y=200)
self.regi = Button(f, text="Register", width=20, height=5, fg="royalblue4",
bg="lavender",
font=("Helvetica", 10, "bold italic"), command=self.c_reg)
self.login = Button(f, text="Login", width=20, height=5, fg="royalblue4",
bg="lavender",
font=("Helvetica", 10, "bold italic"), command=self.c_login)
self.regi.place(x=450, y=400)
self.login.place(x=650, y=400)

def c_reg(self):
self.newWindow = Toplevel(self.master)
self.newWindow.resizable(0, 0)
self.app = Register(self.newWindow)

def c_login(self):
self.login = Toplevel(self.master)
self.login.resizable(0, 0)
self.log = Login(self.login)

def Submit(self):
l1[self.qno] = self.opt_selected.get()
x=0
y = True

7
for i in range(10):
if (l1[i] == 0):
x += 1
if (x > 0 and x != 1):
y = messagebox.askyesno("Warning", "You have not attempted " + str(
x) + " questions, Are you sure you want to submit?, You won't be able to make changes
again")
elif (x == 1):
y = messagebox.askyesno("Warning", "You have not attempted " + str(
x) + " question, Are you sure you want to submit?, You won't be able to make changes
again")
if (y == True or x == 0):
s=0
for i in range(10):
if (l1[i] == answerstemp[i][0]):
s=s+1
print("DEBUG: Score: ", s)

conn = MySQLdb.connect(host='localhost', database='quizapp', user='root', password='root')


cursor = conn.cursor()
q = "update reg set score='%d' where uname= '%s'"
arg = (s, self.user)
cursor.execute(q % arg)
conn.commit()
cursor.close()
conn.close()

messagebox.showinfo("Score", "Your Score is: " + str(s) + "/10")


mQuiz.destroy()

root = Tk()
root.resizable(0, 0)
RegObj = MainWindow(root)
root.mainloop()

8
OUTPUT
START PAGE:

REGISTRATION PAGE:

9
LOGIN PAGE:

QUIZ START PAGE:

1
QUESTIONS:

1
ADVANTAGES AND DISADVANTAGES
ADVANTAGES:

1) Immediate Grading:

For internal tests or class tests, CBT technology can assess students’ grades immediately, and
help them assess their own performance.This immediate grading system can guide students
on what needs to be done to improve their studies.

2) Reduces Time:

Paper-based exams take a lot of time to set up. But in computer-based exams, the question
papers are distributed virtually. The candidate gets a set time to give the examination; after
the time, the candidates' answers automatically get submitted. It saves the time and effort of
collecting answer sheets from the candidates one by one.

3) Randomizing questions

It is significant and more easy to randomize your question with just one click than to do it all
manually. Randomizing questions and even answers of those questions is not a lot a of work
to do with online quizzes. Besides the advantage of time saving, it also helps preventing
students from cheating.

4) Large number

Taking online quizzes makes it possible to have a large number of participants.

These advantages are overwhelming compared to a traditional quiz.

DISADVANTAGES:

1) Often test literacy skills: “if the student reads the question carefully, the answer is
easy to recognize even if the student knows little about the subject”.

2) Provide unprepared students the opportunity to guess, and with guesses that are right,
they get credit for things they don’t know.

3) Expose students to misinformation that can influence subsequent thinking about the
content.
4) Takes time and skill to construct (especially good questions.)

1
CONCLUSION

This Quizee Bee Buzz application provides facility to play quiz anywhere and anytime. It
save time since user does not need to wait for the result. The main purpose of this project is to
develop an application that offers new aspects of learning and improving knowledge in
educational area. Most of the available apps are entertainment-based, which mostly do not
contribute to the academic enhancement of the students. User gets extra knowledge and
skills. User can register, log in, and give the test with his/her user id, password and can see
the results as well. This Quiz Application project is developed to overcome the time
consuming problem of manual system. The users who will use the system, don’t need high
computing knowledge and also the system will inform them while entering invalid data. This
application is developed for educational purpose, allowing the users to prepare the multiple
choice questions for different examinations conducted on provincial and national level. The
main goal of the application is to enable users to practice for subjective tests conducted for
admissions and recruitment

1
REFERENCES

1) D. Bruce, R. Maxim and R. Pressman, Software Engineering: A


Practitioner’s Approach, McGraw-Hill Education, 2019.
2) R. C. Clark and R. E. Mayer, e-Learning and the Science of Instruction:
Proven Guidelines for Consumers and Designers of Multimedia Learning, John
Wiley & Sons, 2016.
3) Byers, J.A. 1999. Interactive Learning Using Expert System Quizzes on the
Internet. Educational Media International 36:191-194.
4) B. M. Saulnier, J. P. Landry, H. E. Longenecker and T. A. Wagner, "From
Teaching to Learning: Leamer-Centered Teaching and Assessment in
Information Systems Education", Journal of Information Systems Education,
vol. 19, no. 2, pp. 169-174, 2008.
5) Tzu-Hua. Wang, "Web-based quiz-game-like formative assessment:
Development and evaluation", Computers & Education 51, pp. 1247-1263,
2008.

You might also like