enhancement of web based clicker software · of clicker, by virtue of its simplicity can be of...
TRANSCRIPT
1
Enhancement of Web Based Clicker Software
Summer Internship 2012
Submitted in fulfilment of internship project
By Clicker Software Team
Under the Guidance of
Prof. D. B. Phatak
Department of Computer Science and Engineering
Indian Institute of Technology, Bombay Mumbai
2
Acknowledgment
We, the summer interns of the team Clicker Software, are overwhelmed in all humbleness and
gratefulness to acknowledge our deep gratitude to all those who have helped us put our ideas to
perfection and have assigned tasks, well above the level of simplicity and into something
concrete and unique
We, whole heartedly thank Prof. D.B. Phatak for having faith in us, selecting us to be a part of
his valuable project and for constantly motivating us to do better.
We are very thankful to our mentors Mr.Tushar Kambli, Mr. Rajesh Kushalkar Mr.Manjurelahi ,
Mr.Rajavel , Ms. Dipti and Mr Gobinath for their valuable suggestions. They were and are
always there to show us the right track when needed help. With help of their brilliant guidance
and encouragement, we all were able to complete our tasks properly and were up to the mark in
all the tasks assigned. During the process, we got a chance to see the stronger side of our
technical and non-technical aspects and also strengthen our concepts. Here by, we gladly
consider ourselves to be the most fortunate batch of interns.
We would also like to thank Mr.Bikas Chhatri for making our stay here comfortable and for all
his administrative help. Without his mention our project would always be incomplete.
Last but not the least, we whole heartedly thank all our other colleagues working in different
projects under Prof. D.B Phatak for helping us evolve better with their critical advice.
3
Team Members
Abhishek Joshi (IIT Guwahati): Worked on Question Bank, Polling and also modified
database and an enthusiastic programmer.
Ankur Yadav (NITK, Surathkal): Worked on Question Bank, Quiz Conduction and a good
debugger.
Dhruv Joshi (NIT, Rourkela): Worked on Question Bank and GUI Design and has creative
instinct.
Lakshita Gulati (Vignana Bharathi Institute of Technology, Hyderabad): Worked on
Question Bank and a sincere student.
Mohd. Yawar Nihal Siddiqui (Jamia Milia Islamia, New Delhi): Worked on Question Bank,
Quiz Bank and Raise Hand and a very exceptional coder.
Shalini Laddha (MNIT, Jaipur): Worked on Question Bank, Admin module and an
enthusiastic coder.
Shiwani Srivastava (NIT, Jamshedpur): Worked on Question Bank, Admin module and an
ambitious programmer.
Vishwajeet Kumar (Vignan University): Worked on Question Bank, Raise Hand and Polling
and supervised all activities.
MENTORS :
Mr.Tushar Kambli: Our guide for all problems and a Linux OS mastermind.
Mr.Rajesh Khusalkar: The very patient who guides us in any problem regarding Aakash
Tablet.
Mr.Manjurelahi: A very helpful person and he helped a lot in coding work.
Mr.Rajavel: A great person who supervised all our project work and helped a lot with web
related technology.
Ms Dipti Ghosalkar: Helped a lot in understanding the previous code and debugging process.
Mr. Gobinath Mani: Showed a keen interest in our project work and helped us with our
problems.
4
Abstract
Clicker Software – is a MHRD sponsored project aimed to simplify interaction between students
and professors in many colleges across India. It is a technology aimed to mainly reduce the
manual labour; one which does same for both students and teachers. It is an affordable,
interactive hardware cum software utility for collecting attendance, creating and conducting
quizzes, generating reports, polling and clarifying doubts raised by a student precisely and in
lesser time. It helps the instructor in analysing quizzes, reports etc. with ease.
The software part is a computational and analytical tool running on an instructor machine which
uses MySQL for database storage, JAVA,JSP, Java-Script, J-query etc. for designing and utilizing
the Web-Based application.
5
Contents
1. Introduction 7
1.1 Purpose 7
1.2 Scope 8
1.3 Definitions, Abbreviations 8
1.4 Motivation 9
2. Objective 10
3. Design Considerations 11
3.1 Assumptions and Dependencies 11
3.2 GENERAL CONSTRAINTS 12
3.3 Goals and Guidelines 12
3.4 Technology Used 13
4. Architecture 14
5. Design And Implementation 16
5.1 ER DIAGRAM 16
5.2 Schema Diagram 18
5.3 Use Case Diagram 19
5.3.1 Overall 19
5.3.2 Admin Module 20
5.3.3 Instructor 21
5.3.4 Student 23
5.4 Sequence Diagrams 24
5.4.1 Login 24
5.3.2 Question Bank 25
5.4.3 Create Quiz 26
5.4.4 Raise Hand 27
5.4.5 Polling 28
5.5 Activity Diagram 29
5.5.1 Login 29
6
5.5.2 Question Bank 30
5.5.3 Quiz Conduction 31
5.5.4 Raise Hand 32
5.5.5 Polling 33
5.6 Deployment Diagram 34
6. Detailed Description 35
6.1 Admin Module 35
6.2 Question Bank 36
6.3 Quiz Bank 37
6.4 Quiz Conduction 37
6.5 Raise Hand 38
6.6 Polling 38
7. Graphical User Interface 39
7.1 Login Page 39
7.2 Login Page of Student 40
7.3 Question Bank 41
7.4 Create Quiz 42
7.5 Raise hand 43
7.5.1 Response by Mail 44
7.6 Poll 45
7.7 Admin module 46
8. Test Cases 47
9. Technical Details 52
9.1 Admin 52
9.2 Question Bank 52
9.3 Quiz Bank 52
9.4 Quiz Conduction (Updated) 53
9.5 Raise Hand 53
9.6 Polling 54
10. Challenges 55
11. Future Work and Conclusion 55
12. Frequently asked Questions 56
13. APPENDIX –A(Screenshots) 57
14. Bibliography 71
7
Chapter 1
Introduction
Clicker is a student response system being developed at IIT Bombay as part of the National
Mission on Education through ICT (NMEICT), MHRD.
The system can be used to capture responses from a live audience in real time. During a
classroom session, each of the participants is provided an Aakash Tablet, which is associated
with a unique ID. It can be used in a classroom to teach the students effectively and to evaluate
performance of the students by keeping records of quizzes, generating reports and solving
doubts. Clicker system provides the facility to the instructor to interact with students by
presenting question, collecting answers of individual students, and evaluating the understanding
level of each student in that session. The system can collect the attendance of the students present
in the session, where the attendance can be recorded and stored.
Some faculty refer to this as just in-time teaching making adjustments or adaptations to their
course as needed in any given situation. Personal response technology works well both for large
lecture halls and for smaller classes. Regardless of the class size, the instructor is always able to
gauge student understanding due to the immediate feedback the technology provides. Results
from class responses can be saved and then displayed in a variety of formats (bar chart, pie
charts, and so forth) or saved to spread sheet programs for semester-long analyses that may inform
subsequent curriculum development
We developed a Web Based Application such that instructor can access the utility directly from
internet without downloading anything. Similarly, the student can easily interact with the
instructor in any session.
1.1 Purpose
Web based development for this software has provided an efficient and easier way to extract and
manage the software. It does not require any installation and hence is user friendly. The main
purpose of this web based application is to provide the user with a suitable environment where he
can use and manage everything with ease. It can be accessed either from the main centre or from
any remote centre with the Clicker Device. We use a robust database which is very flexible and
easy to handle. Hence the required data can be manipulated and managed easily. It also provides
an efficient way of learning, as the instructor can evaluate the understanding level of each
student and help them to develop their overall concepts. It allows students to participate by
submitting responses to questions and viewing immediate feedback.
8
The main purpose in making this document is to describe all the features and its working to make
any enhancements in future. To increase the students interest in the classroom session and also
increase their understanding.
1.2 Scope Desktop based version of clicker was dependent on the operating system and the specific
software, and thus will not allow the clicker to run on all systems but AakashClicker is web
based and hence does not require any specific Operating system and software, it just require a
browser, from where we can access it through an url and will be more user friendly and easier to
access and process.
Earlier Clicker versions require a specific version of Ubuntu and Netbeans to run on the
desktop but this will not be the case in AakashClicker, a simple browser which is provided by
every operating system will be just enough for running it in any system. Hence any person sitting
at some place can access it and run it without any installation. This system allows for active
participation by all students and provides immediate feedback to the instructor and the students
about any confusion or misunderstandings of the material being presented. Web based clickers
represent an easy-to-adopt technology that can enhance the learning experience and help the
student to have a better understanding of the courses in a friendlier manner. Web based development
of clicker, by virtue of its simplicity can be of great application in a classroom session and its use can
also be increased in different colleges.
1.3 Definitions, Abbreviations
1. XML : eXtensible Markup Language
2. Admin : Administrator: He has the authority to add, delete or edit
course, department, student as well as instructor.
3. JSP : Java Server Pages.
4. J2EE : Java 2 Enterprise Edition.
5. SQL : Structured Query Language.
6. XLS : Excel File.
7. GUI : Graphical User Interface.
8. UML : Unified Modelling Language.
9. ID : Identification number
10. Clicker : A system which is used to collect response from audience
11. HTTP : Hypertext Transfer Protocol.
12. JRE : Java run time environment
13. HTML : Hyper Text Markup Language
14. CSS : Cascading Style Sheet
15. Ajax : Asynchronous JavaScript and XML.
16. LOC : Line of code
9
1.4 Motivation The motivation behind developing clicker was mainly to make interaction between students and
professors in a classroom more efficient and less time consuming. The motivation for the project
was to provide an interface between student and teacher which help the instructor to conduct the
classroom sessions more effectively. Also to create an interface which will allow a large number
of students to participate and learn in a single classroom session and also create an interface
which will allow students from remote center to participate in the classroom session conducted at
some other place. As it takes a long time of the class to take attendance or solve individual
doubts in class this device was meant to take automated attendance, quizzes of different patterns
(single answer correct, Multiple answer correct, True/False, numeric, etc.) and a unique feature
of raise hand (i.e. student clicks the raise hand button on clicker and his/her ID and the doubt is
visible in the side screen in the software utility of the instructor which he can store in the
database if he wants.
Clickers give the faculty the ability to fine-tune their instruction based on student response.
Regardless of the class size, the instructor is always able to gauge student understanding due to
the immediate feedback the technology provides. Results from class responses can be saved and
then displayed in a variety of formats (bar chart, pie chart) and can be saved for semester –long
analyses that may inform subsequent curriculum development.
As far as internship work modules go the motivation was to add extra features and furnish the
few software codes already written. The feature of Quiz conduction was added to evaluate
student mastery of content and to identify concepts that are proving difficult for students to
grasp. For students, they provide a quick way to validate their own learning, helping them
identify areas that need improvement. The feature of Polling used to gauge student opinion
on controversial or sensitive issues. It can be used to catalyse debate and discussion, turning a
passive lecture into an interactive exchange. The addition of admin module will help the admin to
easily manage the details of departments, courses, instructors and students with the minimum clicks.
The Raise Hand module can be used when a student is having some doubt or confusion.
10
Chapter 2
Objective
The objective of the each assigned task is:
The main purpose of this work is to create a web interface such that the instructor uses the
complete software as it is without any installation and downloading. Server at IIT-B processes all
information, stores it and sends result back to the remote centre. This is the technology which
will enable to use this device even in remote locations in India where people don’t have technical
knowledge needed to run the software properly.
Admin Module:
The aim of designing the module was to provide admin the facility to add, edit, fetch and delete the
information about the department, course, instructor and student. Also provide instructors and
students the login.
Raise Hand:
This module aimed to help the student in case he/she is having some doubt or confusion; it is just
the raising hand in the classroom environment. The instructor can see the list of all the students
who has pressed the raised hand button along with their doubts which can be discussed in the
class.
Polling:
It aimed at getting the views of the students on some sensitive and controversial issues and helps
the instructor in making a decision.
Question Bank:
The Question Bank module aimed at for adding question and searching the specific question to
conduct either quiz or for other classroom sessions. We can search a question by using a string in the
database and also we can add new questions in the database with the help of the XLS file. It also
provides the facility to perform some editing in that question.
Create Quiz:
This module is for conducting quiz in the classroom session, this will provide the facility to get
the question from the database according to the course selected by the instructor and also they
can create the quiz as required by the instructor.
11
Chapter 3
Design Considerations
3.1 Assumptions and Dependencies
We have used the following software to develop the Web Based Version of the Clicker i.e.
AakashClicker:
• Eclipse-Indigo for JEE developers
• MySQL Administrator
• MySQL Query Browser
• PHP MyAdmin
• Mozilla Firefox
• Google Chrome
• Apache Tomcat 7.0
• Jaspersoft iReport Designer 4.0.2
• Aakash Tablet
All these software are Open Source software and are freely available.
And the Operating System used by us is Ubuntu 11.04, also we have ClickerV2 as the
basis for designing the interface of the web pages.
The dependencies of various modules are as follows:
The instructor must login through its unique ID and Password and after this login only he
can proceed with the different modules present.
All the students in the classroom session must have their Aakash Tablet having a unique
ID and they must login through their unique ID and Password to access quiz, raise hand
and other modules.
The instructor should connect all the Tablet of the student through the master tablet to
start the communication between the two.
When the successful communication start, then the instructor can go through all the
modules properly and perform task as required by him.
12
3.2 GENERAL CONSTRAINTS
The AakashClicker has some General Constraints or limitation, which includes the following and
these are necessary for successful processing of the software:
1. It requires the Aakash tablet of the students to be connected to the master tablet of the
instructor so that they can access the URL launched by the instructor and the instructor
tablet can collect the responses from the students.
2. It requires an Internet browser to fetch Clicker Web Application through url on
AakashClicker and at the remote centers.
3. For using Clicker Application a classroom environment is required to get real time
responses.
4. The data of the XLS used to upload the questions to the question bank should be in the
prescribed format otherwise the file will not be uploaded.
5. GUI is only in English.
6. Login and password is used for the identification of users.
7. Only registered instructors and students will be authorized to use the application
8. Limited to HTTP/HTTPS.
9. In the question bank module we can’t use scientific symbols.
10. Works best in latest version of Mozilla Firefox and Google Chrome.
11. Compatible with Aakash version 2.
3.3 Goals and Guidelines
The main goal behind this project is to provide an efficient environment for instructor
and student to have an interactive session in the classroom.
To provide a new scope to the present technology.
To strengthen the student and teachers relationship by giving facility of raise hand and
polling.
This technology enables more effective, more efficient, and more engaging education.
13
3.4 Technology Used
HTML: It is the main markup language for displaying web pages and other information
that can be displayed in a web browser.
CSS: (CSS) is a style sheet language used for describing the presentation semantics
(the look and formatting) of a document written in a markup language.
JavaScript: It is a prototype-based scripting language that is dynamic, weakly typed
and has first-class functions and is mainly used for validation etc.
Ajax: AJAX is the art of exchanging data with a server, and updating parts of a web page
- without reloading the whole page.
JQuery: It is a cross-browser JavaScript library designed to simplify the client-side
scripting of HTML. It also includes the functionality of Ajax.
JSP: JSP provide excellent server side scripting support for creating database driven
web applications. JSP enable the developers to directly insert java code into jsp file, this
makes the development process very simple and its maintenance also becomes very
easy.
MySQL: It is the world's most used open source relational database management that
runs as a server providing multi-user access to a number of databases.
Servlet: A servlet is a Java programming language class used to extend the capabilities
of servers that host applications access via a request-response programming model.
XML: The web.xml file defines each servlet and JSP page within a Web Application. It
also enumerates enterprise beans referenced in the Web application. The file goes into
the WEB-INF directory under the document root of a web application.
14
Chapter4
Architecture
When describing the architecture of the Clicker Web Application software, it has two mode
namely Local mode and Remote mode, where the local mode can be viewed as a classroom
environment and the remote mode are the remote centers where the utility program works and
there are many remote centers of clicker in India and its main center is situated is situated at IIT
Bombay from where it is managed.
15
16
Chapter 5
Design And Implementation
5.1 ER DIAGRAM
17
18
5.2 Schema Diagram
19
5.3 Use Case Diagram
5.3.1 Overall
20
5.3.2 Admin Module
Use Case Diagram for Admin
Use Case Description
Login The Admin must login with a valid username and password.
Manage Departments The Admin can add new Departments, edit or delete existing ones.
Manage Courses The Admin can add new Courses, edit or delete existing ones.
Manage Instructors The Admin can add new Instructors, edit or delete existing ones.
Manage Students The Admin can add new Students, edit or delete existing ones.
Backup Database The Admin can create a backup of the existing database containing
records.
21
5.3.3 Instructor
22
Use Case Descriptions
Login The Instructor must login with a valid username and password
Collect Attendance The Instructor can collect attendance for students registered in his course
Conduct Quiz The Instructor can conduct a quiz selected among available quizzes
Create Quiz The Instructor can create a quiz from the questions available in question
bank
View Reports The Instructor can view/download various reports pertaining to students,
quizzes or courses
Student Reports The Instructor can reports related to Students
Student Info The Instructor can view report containing information about a particular
student
Student Result The Instructor can view report containing the results of a particular student
Course Reports The Instructor can view reports related to his course
All Quiz Summary The Instructor can view the summary of all the quizzes for his course in a
single report
Participant List The Instructor can view all the participants enrolled in his course
Attendance Report The instructor can see the Attendance records for his course
Quiz Reports The Instructor can generate reports related to the existing quizzes for his
course
Quiz Details The Instructor can view the details about all the questions in one particular
quiz
Quiz Response The Instructor can view the responses of students for an already conducted
quiz
Quiz Results The Instructor can view the results of students for an already conducted
quiz
Conduct Poll The Instructor can conduct a poll in the form of a yes/no question and view
the response of students for that poll
Raise Hand The Instructor can view/save doubts raised by students while raise hand
module is enabled
Enable/Disable
Raise Hand
The Instructor can enable or disable the raise hand module
View Previously
Raised Doubts
The Instructor can view the doubts saved by him at a later time
Reply to doubts The Instructor can reply to the saved doubts through email at a later time
Question Bank The Instructor can add new questions or modify, delete existing questions
Search Question The Instructor can search the questions in the question bank based on
question text
Add Question The Instructor can add single correct, multiple correct, true false or
numeric answer questions
Quick Add
Question
The Instructor can add a single question of any type
Add through XLS
file
The Instructor can add multiple questions from an XLS file with a
prescribed format
Edit Question The Instructor can edit existing questions present in the Question Bank
Delete Question The Instructor can delete/archive a question from the Question Bank
23
5.3.4 Student
Use Case Descriptions
Login The Student must login with a valid username and password
Submit Attendance The Student can mark his attendance when attendance is conducted by
Instructor
Participate in Quiz The Student can participate in the quiz launched by the Instructor
Raise Hand The Student can pose a doubt in front of the Instructor
View Reports The Student can view reports related to him
Student Information The Student can view his details as stored in records in form of reports
View Results The Student can view his results in the form of reports
24
5.4 Sequence Diagrams
5.4.1 Login
Sequence Diagram for Login
25
5.3.2 Question Bank
Sequence diagram for Question Bank
26
5.4.3 Create Quiz
Sequence diagram for Create Quiz
27
5.4.4 Raise Hand
Sequence diagram for Raise Hand
28
5.4.5 Polling
Sequence diagram for Polling
29
5.5 Activity Diagram
5.5.1 Login
Initially the user needs to enter the login name and password. Once the user clicks the login
button, then the username and password are verified from the database. If the verification
succeeds then the user is taken to the corresponding page. If the verification fails then the user is
informed of the wrong username and password.
30
5.5.2 Question Bank
Initially the instructor has two options: one is to edit any question which he had
previously entered or he/she can enter a new question to the database. To edit a question ,first he
needs to select the question and then after selecting the question, he/she can modify the question,
options and option correctness. When he clicks on the save button the changes are saved in the
database.
The instructor can enter new questions in the database by adding the questions ,their options and
credit by using the GUI designed for this purpose .The another way to enter new question is by
uploading the XLS file containing the questions in a fixed format.
31
5.5.3 Quiz Conduction
In order to conduct the quiz, the instructor needs to select the quiz name from the
dropdown list which contains all the names of the quiz associated with that course.
Once he/she selects the quiz then he needs to set the time for the quiz and then launch the quiz
URL. After the completion of the quiz he/she can view the responses given by the student in
terms of bar chart and pie chart.
32
5.5.4 Raise Hand
Firstly the instructor needs to enable the raise hand so that the student can post his/her
query. Whenever any student posts any query the colour of the side bar of the instructor window
changes. The instructor can see the doubts and has the option of saving or deleting the doubts.
The instructor can later on see the saved doubts and can respond to the student by mail.
33
5.5.5 Polling
The instructor enters the poll question and presses the Conduct Poll button. The students
see the poll question and are allowed to give the response within the specified time limit.
No student is allowed to give response more than once. The instructor can see the responses
given by the student and the results are also stored in the database for the future reference.
34
5.6 Deployment Diagram
35
Chapter 6
Detailed Description
Now we begin with the detailed system description of the AakashClicker software system. When
the instructor/student gets login through the main page their corresponding ID’s are preserved in
the session.
When a student logs in then he/she needs to select course ID from the drop down list, which
contains the course IDs for which the student is enrolled. This will be requires while raise hand,
polling and quiz, so that he/she retrieves information related to that course only.
And when the instructor logs in his/her associated course ID will also be preserved in the session
so that he can communicate with the student enrolled with this course only.
As we know that there are different modules in this, so we now explain the different modules:
6.1 Admin Module For any instructor, registration is must to direct access centralized database, so
Administrator Profile gives provision to register any Instructor in database with authenticated
Username and password for further usage. This authentication will be valid forever for that
particular Instructor to manipulate Clicker Software Database.
After successful login for Administrator Database Access, Instructor can use Clicker
database Admin Utility. This is very important Utility in order to do updates in Database. This is
way by which an Instructor can direct access Database Contents and can see the status of
database.
Admin is an authenticated instructor of Clicker Software System. There can be more than
one Admin for Clicker Software System. The actions done by this Admin People is totally
authenticated and valid according to rules for any Database Administrator. So rights related to
changes of database include mostly Department, Course, Instructor and Student. All
manipulative changes related to database access such as Insert, Delete, Update, Show can be
performed in an efficient way.
Searching Option:
The admin can search the department, instructor, course and student by name. For this a search
box is provided on each page so that the administrator can see the required record easily without
going through the large list.
Backup Option:
The admin has the facility of taking the backup of the database. The backup file will be stored in
the data backup folder of the project. This will provide the admin the facility to recover data after
its loss, be it by data deletion or corruption. The backup filename will be contain the date on
36
which backup was taken so that the admin can easily distinguish between the backups taken by
him.
6.2 Question Bank
This module is related to Questions only. We can create Question according to the Question
type. We can construct Questions of following types with minimum two to maximum six options
as,
1) Single Answer Questions
2) Multiple Answers Questions
3) True False Type Question
4) Numeric Question
Add through XLS file
There is one more provision for adding Question in database by using XLS file. The file needs to
be in a particular format. The instructor can preview the file before inserting the data in the
database. And after viewing the file, he can decide whether to upload the questions or not. The
XLS file to be uploaded should contain the following fields:
1. Question No.
2. Question Text
3. Question Type
4. Credit
5. Answer
6. Option A
7. Option B
8. Option C
9. Option D
10. Option E
11. Option F
Search Option:
This module also provides facility to search the question present in the database. For this a
search box is provided, through which instructor can search the question by some text and
Searched question will appear in the list box and it will also show the option of the highlighted
question.
Delete Option:
The facility to delete the question is also given. Deleting the question will set its archived value 0
and make it disappear from the list box but it is not permanently deleted from the database.
37
Archived Question Option:
By checking the archived question option the instructor can also see the questions that are
archived i.e. deleted.
Edit Option:
There is facility to edit the question by pressing the edit option. This option allows the instructor
to edit the selected question, its options as well as change the correct answer.
6.3 Quiz Bank As name suggest, this module is very much related to Quizzes. By using this module, Quizzes
can be formed by selecting particular Questions. Quiz is created by giving it a unique name and
time.
In this module all the question and its associated option will appear to the instructor and
according to his/her requirement, he/she can add/remove the question in the list box to create the
quiz. After creating the quiz, the quiz will appear in the list of the quizzes from the QUIZ
module. The instructor also has the facility to search the question.
Search Option:
This will provide the facility of searching the question through the particular keywords. After
writing the keyword in the textbox, the question related to that keyword will appear in the list
box and the instructor can proceed with this question.
6.4 Quiz Conduction This module is associated with the conduction of the quiz. Through this module the
instructor can conduct the quiz in the real time during the classroom session and the student’s
tablet connected to the instructor can responds to the question in the given time.
This module will be for both instructor and student.
At the instructor side the list of the quizzes will appear that was created by him through
the quiz bank module. After selecting the quiz and pressing conduct quiz option, all the question
of that quiz will appear. The instructor after having a look of the question can set the time for the
quiz and then launch the quiz for the student.
After launching the question from the instructor side, the question will appear to the student for
the allotted time. The student can move from one question to another as required by him.
The student also has the facility to switch between the questions as all the question
number is listed.
After the quiz is over, both the instructor and the student can view the result immediately. The
instructor can view the overall result of the entire student through report or chart, while student
can view only his/her result through report.
38
6.5 Raise Hand It is Special Utility module designed for any Classroom or Workshop session to accept
and to present the doubts, Queries, questions or comments raised by students. When the
instructor will enable the raise hand mode of the software, the students will get the option to
enter their queries and doubts. The instructor will see the change in the side tab color and can
open it to see the queries of the students. This tab will be showing all the clicker ids that have
raised their hands with their names which are fetched from the database.
Whenever a student presses the raise hand button, the color of the side bar/tab will
change. The check for raised hand is done constantly .If any student posts the doubt, the color of
the side bar will change. That is how instructor will know that someone has doubt and if he looks
for it in the list then the color will be restored to the original one.
By selecting a particular doubt, later on by Verbal Communication Queries will be
resolved. Along with this if he finds any query very important or he wants to answer it afterwards
then that query can be saved with related necessary parameters in database and further retrieved
in future for analysis or responding purpose.
Response through Email:
The instructor will have the facility of responding to the doubts of students after the class by
email .The database contains the mail addresses of the students. The instructor will have to save
the doubt for future reference and can see the saved doubts and can mail the answer to the
student who asked the doubt.
6.6 Polling The feature of Polling is used to gauge student opinion on controversial or
sensitive issues. It can be used to catalyse debate and discussion, turning a passive lecture
into an interactive exchange. The instructor needs to enter the question for the poll and press
the conduct poll option. The student will see the poll question and can respond in the given time
limit. The responses will be stored and the instructor will see the responses in the form of bar
graph immediately. On analysing the results, the instructor gets to know the view of the class
and can then take the decision accordingly.
39
Chapter 7
Graphical User Interface
7.1 Login Page The below page is the login page of the clicker software. The admin ,instructor and
student needs to enter the username and password to login. The username and password are
verified from the database and if they are correct then the user gets logged in otherwise it shows
the message of Wrong UserName/Password.
40
7.2 Login Page of Student As the student logs in he/she needs to select the course from the dropdown which
contains the courses for which he/she is registered.
41
7.3 Question Bank
The instructor can add new questions to the database either by manually selecting the
question type and adding the corresponding question details or he can enter the questions with
the help of the XLS file. He can choose the file from his computer and can see the preview of the
file to see the contents and then can decide whether to upload the file or not. The instructor can
also edit the question and its options.
42
7.4 Create Quiz The instructor can search the question based on some keyword and can see the corresponding
questions in the Available Question list box. He can select the questions and see the options in
the options list box and can add or remove the questions from the quiz.
The instructor needs to give the name and duration to the quiz.
43
7.5 Raise hand The student can post the queries and the instructor can see those queries on his/her screen. The
instructor can respond at the same moment or can save the doubt for future reference.
44
7.5.1 Response by Mail
The instructor will have the facility of responding to the doubts of students after the class
by email. He can reply to the selected doubts by email and can delete the selected doubts if he
doesn’t want it for future reference.
45
7.6 Poll The instructor needs to enter the question for the poll and press the conduct poll option. The student
will see the poll question and can respond in the given time limit. The responses will be stored and the
instructor will see the responses in the form of bar graph immediately.
46
7.7 Admin module The admin can see, edit, delete and add new department, course, instructor and student. He can also take the backup of the database which he can later use to restore.
47
Chapter 8
Test Cases
Test Case 1
Test Case Name: Unit Testing
Description: If the admin enters a new department with the departmentID
which already exists then a message will be displayed that deptID already
exists!!
Output: A dialog box that will show “DEPT ID ALREADY EXISTS!!!”
48
Test Case 2
Test Case Name: Unit Testing
Description: If the instructor wants to edit or delete the question and
presses the Edit/Delete button without selecting the question then the
message is shown to enter the question.
Output: A dialog box that will show “Please select the Question”
49
Test Case 3
Test Case Name: Unit Testing
Description: If the instructor presses the Create Quiz button without
entering the Quiz Name then the message will be shown to fill the quiz
name.
Output: A dialog box that will show “Please Fill Quiz name”
50
Test Case 4
Test Case Name: Unit Testing
Description: If the instructor tries to remove the last option in Single
Choice Question creation, then he gets the message that minimum 4
options are required.
Output: A dialog box that will show “Options must be at least 4!”
51
Test Case 5
Test Case Name: Unit Testing
Description: If the instructor forgets to enter the option value then he will
asked to enter that option value.
Output: A dialog box that will show “Please give appropriate value for
option”.
52
Chapter 9
Technical Details
9.1 Admin
FILE LOC Description
department.jsp 164 This is the main page for the department tab in the admin module which
contains the query for creating the table and other GUI related stuffs.
dept.js 132 This page is connected with the department.jsp and contains all the
javascript and jquery functions through which we are making text box
dynamically and other validation functions.
dept_conn.jsp 115 This page is called from department.jsp on submission of the form and
contains all the code of the database connectivity.
back_up.jsp 65 This page contains code for creating the backup of the database and the sql
dump is stored in the folder called backup in the project.
search.jsp 183 This page contains the code for searching the records by name.
Total lines of Code: 2258
9.2 Question Bank
FILE LOC Description
GetAllQuestions.j
ava
54 This is used to asynchronously get all questions from the database.
Insert_Question.ja
va
29 Used for inserting questions into the Database.
Insert_Options.jav
a
44 Used for inserting options into the Database.
XLSimport.java 191 Used for importing fields of XLS file into the database in respective
places(Questions, Options etc.)
XLSPreview.java 164 Used for showing preview of the quiz so that instructor can easily cancel
the quiz creation if not satisfied.
Total lines of Code: 2574
9.3 Quiz Bank
53
FILE LOC Description
OptionPoulator.jav
a
37 Populates the options of the question selected(Uses
RetrieveQuestionsModel.java)
Question.java 11 Model for encapsulating the attributes of question. QuestionPopulator
.java
32 Populates the questions into the Questions select box (Uses
RetrieveQuestionsModel.java).
QuizCreator.java 96 Controller for creating the quiz.
RetrieveQuestions
Model.java
68 Model for retrieving the Questions.
RetrieveQuestions
Model.java
51 Model for retrieving the Options of question selected.
Total lines of Code: 523
1.4 Quiz Conduction (Updated)
FILE LOC Description
QuizURL.jsp 297 Executes to start the quiz, gets the time for which the quiz will be
conducted and launches the QuizURL. Responses.jsp 106 For collecting responses by student to prepare bar chart and report of quiz.
Quizdlg.jsp 252 Fetches quiz questions and answers and stores them in vector. ResponseTable.jsp 58 Generates Table for responses
ListQuiz.jsp 67 Retrieves QuizId, Name from database to show to instructor in a drop-
down.
EndQuizURL.jsp 111 Responses of student get stored in Databases.
StudentQuiz.jsp 462 Stores responses for student in a Map so that we can retrieve the
checked options when students go to an answered question. StudentQuizURL.j
sp
208 For showing Quiz to students.
StudentQuizMenu.
jsp
120 To check the active courses so that student receives quiz of its own
course only. StudentResponse.j
sp
35 Uses Responses.jsp for making Bar Charts of the results.
Total lines of Code: 1582
1.5 Raise Hand
FILE LOC Description
DeleteDoubtServle
t.java
11 Deletes the doubt raised by the student.
RaiseHandDBMod
el.java
94 Class which provides methods for storing and deleting doubts.
54
RestoreDoubtsMa
nager.java
43 Restores the doubts when instructor changes the Tab.
SaveDoubtServlet.
java
15 Saves the doubt raised by the student in database.(Uses
RaiseHandDBModel.java) SwitchRaiseHand.
java
43 Switches the Raise Hand from enabled (default) to disabled.
RaiseHandChanne
l.java
66 Servlet for posting and retrieving doubts.
RaiseHandRowDa
ta.java
75 Class which provides basic getter and setter methods.
RetrieveRecordsSe
rvlet.java
37 Retrieves the records from Database when Instructor views past
saved doubts.(Uses RaiseHandDBModel.java)
StudentRaiseInvali
d.java
37 Checks whether the student's course has raise hand currently
enabled. RaiseHandSideBar
.jsp
127 File which contains the sidebar at the teacher side and uses jQuery to
retrieve doubts raise by students. StudentRaiseHand.j
sp 55 File which executes at the student side and checks using AJAX whether the
raise hand for his/her course is enabled.
Total lines of code: 865
1.6 Polling
FILE LOC Description
Poll.java 398 Servlet which is used for posting(by Teacher) and retrieving(by
Student) questions, also contains logic for counting the number of
votes given by students, avoiding double votes by same student etc. CheckActive.java 68 Retrieves the Poll (results and questions) back when an instructor
changes the tab, and comes back. Course.java 23 Encapsulates a Course.(Useful for keeping records(like number of
yes and no) of various courses(if various polls are going on
simultaneously) poll.jsp 167 Executes at the Instructor side and checks whether the some poll is
already going on or not uses AJAX to count votes and avoid
Double Votes.(Uses Poll.java) Student_Poll.jsp 170 Executes at the Student side which has AJAX executing to retrieve
questions of the Poll.(Uses Poll.java)
Total lines of code: 821
Total lines of code in the entire project: 8623
55
Challenges
Admin Module
Modifying database while handling foreign key constraints.
Quiz Conduction
Displaying the correct input element based on the type of question.
Synchronizing Server and Client side time.
Raise Hand
Setting up a synchronized communication between Instructors and students.
Handling multiple Instructors and Students simultaneously.
Polling
Setting up a synchronized two way communication between Instructors and students.
Synchronization of Server side and Client side time.
Avoiding multiple votes from a single student.
Prevent caching of AJAX requests on android browser.
Future Work and Conclusion
The basic aim of the project was to pave way for a user-friendly and an interactive
session in the classroom for a better future. The task has been successfully completed by the
team and all the above mentioned features and characteristics have been incorporated in the
project. The future work regarding this project can be:
56
Add images with Questions for better understanding of questions
Only a student submitting attendance should be allowed to participate in quiz and polling
Polling should have editable options and a feature to add more choices when needed, also
students can optionally give their views in brief with votes on same topic.
Enable students to know their relative performance after each quiz.
Teacher should able to view a Students performance for entire semester, overall
performance as well as performance in each quiz
Lastly, if the Instructor is physically unable to attend any lecture, he can conduct the
lecture remotely or have pre-planned activity for students, which would be conducted
automatically in absence of Instructor.
Tutorials can be integrated into the application where in the student can browse through
the subject whenever required.
Frequently asked Questions
Q.) Where to find all the work done by summer interns 2012?
You should contact Mr.Tushar Kambli, Mr.Manjurelahi, Mr.Rajavel, Ms. Dipti for the same.
You will find them in Clicker lab in KRESIT building.
Q.) What to do in case of any doubts?
57
If there are some specific doubts which you want to discuss with previous interns, you can take
contact numbers from Mr.Bikas Chhatri from 4rth Floor office in KRESIT.
Q.) How to start the work?
As far as we as interns write it, just don’t think too much, just start doing something, take help
from Google and your mentors always. Keep discussing with friends as well.
Q.) What to do in case there is a multiple session login error?
This error arises when you try to login with that username that is already logged in. In this case
try to find any other login with that username or restart the server.
Q.)Where to find the backup of the database created by admin?
The backup of the database is stored in the backup folder inside the main project folder with the
name containing the current date_backup (eg if the backup is created on 4/7/2012 then the name
of the file will be 04072012_backup.sql).
APPENDIX –A(Screenshots)
This is the screenshot of the main login page of our project running on Aakash tablet.
58
Screenshots associated with Question Bank
This is the GUI for searching, editing and deleting the questions already present in the database.
The instructor can select the question and see the corresponding options in the options box.
59
In case he wants to edit the selected question he can press the edit button and can do the required
changes.
Screenshot of the database showing the content of question table :
60
Screenshots of creating new Questions: The instructor can enter the question and its options. In case he wants to add more options then
he can use the Add Option button but he can give min. 4 and max. 6 options for any question. He
can also enter the true/false type and numeric type questions.
61
62
63
Editing the selected Question
File preview for XLS selection:
64
Screenshots associated with Quiz Bank:
Shows the content of Quiz table
65
Screenshots Associated With Admin Module Department Page:
Course Page:
66
Instructor Page:
67
Student Page:
Screenshots Associated With Raise Hand Module For student
68
For instructor
Screenshots Associated With Polling Module For instructor
69
For student:
70
Content Of Poll table:
71
Bibliography
1. Head First Servlets and JSP - O'Reilly Media
2. http://w3schools.com/ (May-June 2012)
3. http://www.roseindia.net/jsp/jsp.htm (May-June 2012)
4. http://www.eclipse.org/downloads/ (May-June 2012)
5. http://stackoverflow.com/ (May-June 2012)
6. http://jquery.com/ (May-June 2012)