Академический Документы
Профессиональный Документы
Культура Документы
INTRODUCTION
Online Exams is being launched because a need for a destination that is
beneficial for both institutes and students. With this site, institutes or universities can
register and host online exams. Students can answer the exams and view their results.
This site is an attempt to remove the existing problems in the system of conducting
exams. Purpose Online Exams System fulfills the requirements of the institutes to
conduct the exams in online. They do not have to go to any software developer to
make a separate site for being able to conduct exams in online. They have to register
with their own id and password on the site and enter the exam details and the lists of
the students which can appear in the exam. Students can attend exam without the
need of going to any physical destination. They can view the result at a time
immediately after finishing the exam. Thus the purpose of the site is to provide a
system that saves the efforts, material and time of both the institutes and the students.
The presentation of answers to questions is a key factor in its efficiently meeting the
information.
Online course examinations are useful to evaluate the students knowledge using
modern computer technology without any effects on the traditional university course
exam that uses Papers and invigilators. Online exam can improve the ability of
students examination where the traditional exam system using the pen and paper
requires more effort and time on the part of students and invigilators. Online exams are
considered an important source for university exam, and the development of network
technology has given the possibility to conduct the exams in online. Thus, the
university students and teachers can benefit from this software.
1.1 OBJECTIVES
1. Providing online comprehensive solution to manage exams where the
individuals are participating in a team or induvial
2. To enhance the learning methodology by providing a virtual learning
environment for students and a single window management tool for staffs to
assess the students performance
CHAPTER 2
2
LITERATURE SURVEY
Paper 1: , Yong-Gang Cao Evaluation of the Clinical Question Answering Journal of
Biomedical Informatics 44 (2011) 277288
Proposals: Question answering is different from information retrieval in that it attempts
to answer questions by providing summaries from numerous retrieved documents
rather than by simply providing a list of files that requires users to do further work.
However, the quality of answers that question answering provides has not been
investigated extensively, and the practical approach to presenting question answers
still needs further more study. In addition to factoid answering using phrases or
entities, most question answering systems use a sentence-based approach for
generating answers. However, many sentences are often only meaningful or
understandable in their context, and a passage-based presentation can often provide
efficient, more coherent context. However, passage-based presentations may
introduce additional noise that places greater burden on users.
Achievement: It is very much protected in such a way that it gives permission to the
students to access only when the username and password is correct.
Findings: Collaborative Instructional framework is to be improved
Paper 2: , Heba Kurdi, Sara Alkhaider, Nada Alfaifi,. Development and Evaluation Of
A Web Based Question Answering System For Arabic Language CCSIT pp. 187
202, 2014.
Proposals: Question Answering (QA) systems are gaining great importance due to the
increasing amount of web information and the high demand for digital information that
regular information that has future techniques cannot satisfy. A question answering
system enables users to have a natural language dialog with the machine, which is
required for virtually all emerging online service systems on the Internet. The need for
such systems is higher in the context of the Arabic language. This is because of the
3
scarcity of Arabic QA systems, which can be attributed to the great challenges they
present to the research community, including the particularities of Arabic, such as short
vowels, absence of capital letters, complex morphology, etc.
Achievement:
mistakes.
Finding: Getting students to become intrinsically interested in daily class activities is
complicated
Paper 4: Gao Cong. Finding Question-Answer Pairs from Online Forums SIGIR
2008, July 20-24, 2008,
Proposals: Online forums contain a huge amount of valuable user generated content.
problem of extracting question-answer pairs from forums. Question-answer pairs
extracted from forums can be used to help Question Answering services (e.g. Yahoo!
Answers) among other applications. the sequential pattern based classification method
to detect questions in a forum language thread, and a graph based propagation
4
method to detect answers for questions in the same thread. Experimental results show
that their techniques are very promising.
Achievements: The person is given access only if he/she has a valid user name and
password
Finding: advanced technology cannot process tis software.
Proposal: A module for the Moodle open source eLearning platform through which
undergraduate students can start, Answer and Evaluate by blind peer review questions
related to a course subject. In the first learning phase the students can build and
submit questions. Selected questions for the candidates for inclusion in later tests.
After the test a reference solution and evaluation criteria is made in front of every one.
The student's answers are then randomly distributed so that each student has to
evaluate at least three of his peer's tests using double blind peer review. In the more
traditional learning contexts there is a sharp distinction between the student/teacher
roles, such that the evaluation and learning assessment is an indisputable teacher's
role. After all tests are cross-evaluated by the group of students, the system grades
them by majority mark for each question.
Achievements:The classification of formal education led to a growing number of
students, such that the student to teacher ratio is constantly increasing. Moodle is a
web based Learning Content Management led to a growing number of students, such
that the student to (LCMS) designed around pedagogical principles, namely a social
principles using the collaborative possibilities of the internet. Due to its flexibility it can
also be used in more outcome-oriented classroom environments.
Findings: It is not secured
5
Paper 6:
luis miguel serrano-cmara, maximiliano paredes-velasco, antonio ahijado-snchez,
and jess ngel velzquez-iturbide (2015). Modeling the Collaborative Instructional
Framework for LMSs Using Educational Modeling Language APRENDIZAJE, VOL. 10,
NO. 2, MAY 2015
CHAPTER 3
FINDINGS
6
of studying from home and doing it in ones own home makes the students take up the
online examination. Besides, a lot of people take up the E learning and examination to
balance between their personal and professional responsibilities and studies. If the
students once wrote answer in offline exams or in OMR sheets cannot be changed.
Lack of space It becomes a problem in itself to find space to keep the sheets of paper
being generated as a result of the ongoing discussion. The documents being generated
are too important to be ill-treated
Filing poses a problem Filing the documents categorically is a time consuming and
tedious exercise.
Lack of time conducting exams in offline consumes more time.
CHAPTER 4
7
MOTIVATION
This domain can be developed for any institution or universities. It is the software
which helps students to improve their exam knowledge and interacting with other
students and staffs. Staffs will assess the assessment test of each student.
MOODLE(Modular Object Oriented Dynamic Learning Environment). MOODLE
is the worlds most widely used learning management system (LMS) in the world.
MOODLE is a learning platform designed to provide educators, universities, teachers
and learners. MOODLE is a massively successful open-source project. Using the
internet to enhance E learning has become a trend in many universities. The advantage
of E learning is the good opportunity for students to interact with teachers electronically.
CHAPTER 5
8
PROPOSED SYSTEM
5.1. INTRODUCTION
As sentence-based answers those approaches that return a list of
independently retrieved and ranked sentences. Although all the sentences are assumed
to be relevant to the question, there are no assumptions of their relationship with each
other. On the other hand, a passage-based approach is defined as one that returns a list
of independently retrieved and ranked passages, each of which can comprise multiple
tightly coupled sentences. The passage-based approach has two benefits It provides
richer context for reading and understanding. It provides greater evidence for relevant
ranking of the passage by matching across sentences.
The Quiz activity module allows the teacher to design and build quizzes consisting
of a large variety of Question types, including multiple choice, true-false, and short
answer questions. These questions are kept in the Question bank and can be re-used in
different quizzes. Quizzes can be configured to allow multiple attempts. Each attempt at
a question is automatically marked, and the teacher can choose whether to give
feedback and/or show the correct answers. Feedback about performance and selfassessment are important parts of a learning environment. There are several ways to
give feedback to students: on each question or overall. The quiz module can display
feedback and scores at different times during the quiz, using the review options in
the Quiz settings. A single quiz can automatically select random and/or specific
questions from different categories of questions
Domain model
Adaption model
User
intermediate difficulty, they will then be presented with a more difficult question.If they
performed poorly, they would be presented with a simpler question. Compared to
static multiple choice tests that nearly everyone has experienced, with a fixed set of
items administered to all examinees, computer-adaptive tests require fewer test items
to arrive at equally accurate scores
5.2.3 REQUIREMENT
5.2.3.1. System Requirements
Table no 5.1 System Requirements
TYPE
Processor
Memory
Hard Disk Drive
Key Board
Mouse
Monitor
DESCRIPTION
Pentium(R)Dual-core cpu E5800@3.20GHz
2GB RAM
20 GB
Standard Windows Keyboard
Two or Three Button Mouse
SVGA
DESCRIPTION
Operating system
Web server
Windows
Apache
MOODLE
MYSQL
Tools
Database
13
Front End
Back-End
PHP
Moodle LMS
5.2.3.3 MYSQL
PhpMyAdmin is a free and open source tool written in PHP intended to
handle the administration of MySQL or Maria DB with the use of a web browser. It can
perform
various
tasks
such
as
creating,
modifying
or
deleting databases, tables, fields rows; executing SQL statements; or managing users
and permissions.
PhpMyAdmin is one of the most popular applications for MySQL
databases management. It is a free tool written in PHP. Through this software you can
create, alter, drop, delete, import and export MySQL database tables. You can run
MySQL queries, optimize, repair and check tables, change collation and execute other
database management commands.
All the Site Ground clients can manage their MySQL databases through
the preinstalled PhpMyAdmin software which is integrated in cPanel. Check
our PhpMyAdmin hosting for more details. In this tutorial we will show how to use
PhpMyAdmin and manage your MySQL databases through it.
5.2.3.4 PHP
FILE SYSTEM
CLIENT
PHP
14
DATABASE
WEB SERVER
MAIL
SERVER
PHP stands for Hypertext Pre-processor that now installed on most of the
websites and web servers. PHP is a database-enabled web pages HTML documents
that able to connect with the database in effectively and quickly, which make it able to
store important information through the Internet better.
All the command on PHP will keep in the file called script and it requires the
use of a set of instructions such as JavaScript, Perl etc. The different between PHP
script and other language is developed and design to use in the creation of HTML
documents, which it can be automatically inserted or edit content.
Therefore, PHP is a server-side or HTML-embedded scripting language; it is an
important one that allows us to create Dynamic HTML documents more efficiently and
more features
The PHP works with the web server without server it doesn't take any request
and it doesn't respond any things to the browser, PHP is the software that delivers web
pages to the world. When you enter a URL (Uniform Resource Locator) into your web
browsers address bar, youre sending a request to the web server through a browser
with URL, asking it to send you an HTML file. The web server responds by sending the
requested file. Your browser reads the HTML file and displays the web page.
As PHP is readily available, users can download from any PHP website with the
necessary rights and licenses and start running the PHP scripts in ones own
15
computer. PHP is compatible with all kinds of operating systems and versions of
software packages. PHP is used by inserting the codes inside the HTML that
comprises the website. When the client visits the webpage containing the codes, the
server executes it. Therefore, it is needed to install ones own server to locally test
PHP. There is no need to install any additional plug-ins to see the PHP up and running.
It gets to the end user as the regular old-fashioned HTML scripts. Moreover, PHP does
not need to be compiled before it can be used. This is done automatically on the go .
16
17
is to show what system functions are performed for which actor. Roles of the actors in
the system can be depicted.
messages exchanged between the objects needed to carry out the functionality of the
scenario. Sequence diagrams typically are associated with use case realizations in the
Logical View of the system under development. The Sequence Diagram models the
collaboration of objects based on a time sequence. It shows how the objects interact
with others in a particular scenario of a use case.
CHAPTER 6
SYSTEM DESIGN
6.1 ARCHITECTURAL DIAGRAM
20
Teachers
Question TYPE
selection
SYSTEM
Topic
1,2,3.
Course
management
SUPPORTED
MATERIAL
Question
answering
STUDENT
POINTER TO
EXTERNAL
DATA FORUMS
QUIZ
SHORT
DETAILED
QUESTIO
NS
QUESTIONS
QUESTIONS
In this architectural diagram, teachers will be uploading any kind of files forums,
learning materials in the database and make those file visible to students. Teachers
also can ass exam or quiz activities for the students. Teachers should prepare question
for the students.
21
The question type selector is the option where the teachers can select what
type of questions and answer to made according to their subjects eg. quiz, matching,
essay, short answer questions. Then the prepared question will be uploaded into
admin/ server side. The previous uploaded file and study material can be made
invisible to the students. The teachers should allot the marks for each and every
question and they should give time limit of every exam. The students should login with
their own login Id and password. Only authorized user can use it.
To answer the question they should give test password. When they start the test
the time will be running and students can navigate between the questions. Students
are also allowed to attempt 3 times. After completing the exam the students should
give the exam finish and submit. Once it is submitted it cannot be changed.
The evaluation part the answers and the keywords will be given by the teachers.
By those key words the questions will be evaluated and results will be displayed
imminently after completing the exam.
CHAPTER 7
IMPLEMENTATION
22
STEP 2: Then, please upload the package under your public_html directory, which is
the main one for the web site content. If you decide to use the script in a subdirectory
of the main one, place it there. You can upload the Moodle package either
through cPanel -> File Manager or using an FTP client.
23
STEP 1: After this you need to create a new database and add an user to it. You can
check our comprehensive MySQL tutorial in order to learn how to create databases
and add users to them. Once the database is created and the package is uploaded,
please extract the Moodle archive through cPanel -> File Manager.
For the needs of this tutorial we will assume that you are going to install the Moodle
software in the /moodle subfolder.
24
Choose the language for the installation and click on the [Next] button.The script will
check the configuration of the server and inform you if there are any compatibility
problems.On the next step the script determines the installation paths for Moodle. You
do not need to change anything.
In this window you need to enter the details of the database, which you have already
created (Database, User, Password).
Note, that the names of the database and the user are prefixed with "username_"
where username is your cPanel login name.
Do not forget to type in the password of the MySQL user and note that it is casesensitive.Here you need to click on the Next button in order to install the script .
25
This window contains a link to the release information of the current Moodle version.
At this point the Moodle database will be populated. There will be several similar
screens with MySQL queries. If there are any problems, you will be notified by the
script. Otherwise you can click on the [Continue] button to proceed. Once the database
content installation is completed, you will be forwarded to a new window, where you
should enter the administrator details. Click on the [Update ]Profile button when you
are ready. In the following screen you can enter the site name and the corresponding
description. Now you will be redirected to the main web page of the newly installed
Moodle script.
26
7.3 MODULES
7.3. 1 QUESTION CREATOR
This component aims at creation of the question. It has five modules: tokenizer,
answer-type detector, question keyword extractor, extra keywords generator and
question words stemmer. The user creates the question manually and then the
question will be uploaded in server side. The question is sent to the server side, where
the tokenizer breaks the question into separate words. Afterwards, the answer-type
detector identifies the category of the answer.
7.3. 2 QUESTION TYPE SELECTOR
27
The process of Checking the result. After completing the exam the students
should give finish and submit. The result will be displayed immediately after finishing
the exam. The grade and mark scored by the students will be also displayed
immediately. And the mark scored by students will be stored in the database.
CHAPTER 8
RESULT ANALYSIS
8.1 FORMULA
This formula shows the performance of pattern matching algorithm. The iterative
method can be viewed as the power iteration method or the power method. The basic
mathematical operations performed are identical.
At t=0 an initial probability distribution is assumed, usually
. PR(
pi ; 0 =
1
N
1d
N
+d
R(t+1)=d MR(t)+
1d
N
PR(
pi ;
t+1)=
pi
PJEM )
j
p
L
PR ( p j ; t )
or in matrix notation
Where,
Ri
(t)=PR(
pi ; t
1. (*)
only 1.
28
mij=
Pj
L )
{1/
if j links to i
0,
otherwise
i.e.,
M:= (
K1 A)T
Where A denotes the adjacency matrix of the graph and K is the diagonal
matrix.
Algebraic
For t -
1d
N
1 (**)
R=(
1d M
1
1d
N
The solution exists and is unique for 0<d<1. This can be seen by noting
that M is by construction a stochastic matrix and hence has an eigenvalue equal to one
as a consequence of the PerronFrobenius theorem
29
30
100%
90%
80%
70%
60%
cat algorthim
pattern matching
algorithm
50%
40%
30%
20%
10%
0%
efficency time delay evaluation difficulty
CHAPTER 9
31
COMPARATIVE ANALYSIS
PARAMETRE
METRIC
ALGORITHM
EXISTING
Computer
algorithm
adaptive
PROPOSED
EFFICIENCY
Low
High
EVALUATION
Difficult
Easy
TIME DELAY
High
32
Low
CHAPTER 10
10.1 CONCLUSION
This online quiz system provides facility to conduct online examination worldwide.
It saves time as it allows number of students to give the exam at a time and displays
the results as the test gets over, so no need to wait for the result. It is automatically
generated by the server. Administrator has a privilege to create, modify and delete the
test papers and its particular questions. User can register, login and give the test with
his specific id, and can see the results as well.
teacher.
We are trying to do the project at best level to satisfy all the end user (i.e student /
3.
faculty).
In our future we are decided to provide more security to our website which may
4.
not be hacked.
And we give the choice to student to add their name under the faculty who they
5.
6.
33
CHAPTER 11
REFERENCES
[1] Yong-Gang Evaluation of the Clinical Question Answering Journal of Biomedical
Informatics 44 (2011) 277288
[2] Heba Kurdi, Sara Alkhaider, Nada Alfaifi. Development and Evaluation Of A
Web Based Question Answering System For Arabic Language. Vol. 36, No. 58
2011 pp. 109-101
[3] Mrio Zenha-Rela and Rafael Carvalho University of Coimbra, Dep. Eng.Informtic
Coimbra (2006). Self Evaluation Through Monitored Peer Review Using Moodle
Platfrom ieee rita, vol. 6, no. 4, pp. 167174, Nov. 2011.
[4] Pablo Moreno-Ger, Ivn Martnez-Ortiz, Virginia Francisco Gilmartn, Raque
ballesteroTrivialCV: Competitive Activities for the Classroom Integrated in a
Moodle virtual Campus ieee journal of latin-american learning technologies, vol.
201, no. 1,may 2011
[5] Anna Helena Silveira Sonego, rico Marcelo Hoff do Amaral, Felipe Becker Nunes,
Gleizer Bierhalz Voss use of Moodle as a Tool for Collaborative Learning
Conference IEEE Frontiers in Education October 28 31, 2006, San Diego, CA
34
[6] luis miguel serrano-cmara, maximiliano paredes-velasco, antonio ahijadosnchez,jess ngel velzquez-iturbide Modeling the Collaborative Instructional
Framework for LMSs Using Educational Modeling Languages ieee revista
americana de tecnologias vol. 99, no. 19 may 2013.
[7] W. Ma, Y. Liu, F. Ye, X. Yang. An improved Wu-Manber multiple patterns
matching algorithm, Applied Science and Technology,vol.34, no.10, pp.32-34,
2007
[8] A. Al-Ajlan, H. Zedan, Why Moodle in: 12th IEEE International Workshop on
future Trends of Distributed Computing Systems,2008,pp 58-64.
APPENDIX 1
35
CODE
1.1 INDEX.PHP
<?php
require('../config.php');
require_once('lib.php');
if (!isset($CFG->additionalhtmlhead)) {
$CFG->additionalhtmlhead = '';
}
$CFG->additionalhtmlhead .= '<meta name="robots" content="noindex" />';
redirect_if_major_upgrade_required();
$testsession = optional_param('testsession', 0, PARAM_INT);
$cancel
= optional_param('cancel', 0, PARAM_BOOL);
$anchor
= optional_param('anchor', '', PARAM_RAW);
if ($cancel) {
redirect(new moodle_url('/'));
}
$PAGE->https_required();
$context = context_system::instance();
$PAGE->set_url("$CFG->httpswwwroot/login/index.php");
$PAGE->set_context($context);
$PAGE->set_pagelayout('login');
$errormsg = '';
$errorcode = 0;
if ($testsession) {
if ($testsession == $USER->id) {
if (isset($SESSION->wantsurl)) {
$urltogo = $SESSION->wantsurl;
36
} else {
$urltogo = $CFG->wwwroot.'/';
}
unset($SESSION->wantsurl);
redirect($urltogo);
} else {
$errormsg = get_string("cookiesnotenabled");
$errorcode = 1;
}
}
if (!empty($SESSION->has_timed_out)) {
$session_has_timed_out = true;
unset($SESSION->has_timed_out);
} else {
$session_has_timed_out = false;
}
$frm = false;
$user = false;
$authsequence = get_enabled_auth_plugins(true);
foreach($authsequence as $authname) {
$authplugin = get_auth_plugin($authname);
$authplugin->loginpage_hook();
}
$site = get_site();
$PAGE->navbar->ignore_active();
$loginsite = get_string("loginsite");
$PAGE->navbar->add($loginsite);
if ($user !== false or $frm !== false or $errormsg !== '') {
} else if (!empty($SESSION->wantsurl) && file_exists($CFG37
>dirroot.'/login/weblinkauth.php')) {
include($CFG->dirroot.'/login/weblinkauth.php');
if (function_exists('weblink_auth')) {
$user = weblink_auth($SESSION->wantsurl);
}
if ($user) {
$frm->username = $user->username;
} else {
$frm = data_submitted();
}
} else {
$frm = data_submitted();
}
$frm = false;
} else {
if (empty($errormsg)) {
$user = authenticate_user_login($frm->username, $frm->password, false,
$errorcode);
}
}
if (!$user and $frm and is_restored_user($frm->username)) {
$PAGE->set_title(get_string('restoredaccount'));
$PAGE->set_heading($site->fullname);
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('restoredaccount'));
echo $OUTPUT->box(get_string('restoredaccountinfo'), 'generalbox
boxaligncenter');
$form = new login_forgot_password_form('forgot_password.php',
array('username' => $frm->username));
$form->display();
echo $OUTPUT->footer();
die;
}
if ($user) {
if (isguestuser($user)) {
unset($user->lang);
} else if (!empty($user->lang)) {
unset($SESSION->lang);
}
if (empty($user->confirmed)) {
$PAGE->set_title(get_string("mustconfirm"));
$PAGE->set_heading($site->fullname);
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string("mustconfirm"));
echo $OUTPUT->box(get_string("emailconfirmsent", "", $user->email),
"generalbox boxaligncenter");
echo $OUTPUT->footer();
39
die;
}
complete_user_login($user);
\core\session\manager::apply_concurrent_login_limit($user->id, session_id());
if (!empty($CFG->nolastloggedin)) {
$userauth = get_auth_plugin($USER->auth);
if (!isguestuser() and !empty($userauth->config->expiration) and $userauth>config->expiration == 1) {
if ($userauth->can_change_password()) {
$passwordchangeurl = $userauth->change_password_url();
if (!$passwordchangeurl) {
$passwordchangeurl = $CFG>httpswwwroot.'/login/change_password.php';
}
} else {
$passwordchangeurl = $CFG>httpswwwroot.'/login/change_password.php';
}
$days2expire = $userauth->password_expire($USER->username);
$PAGE->set_title("$site->fullname: $loginsite");
$PAGE->set_heading("$site->fullname");
if (intval($days2expire) > 0 && intval($days2expire) < intval($userauth40
>config->expiration_warning)) {
echo $OUTPUT->header();
echo $OUTPUT->confirm(get_string('auth_passwordwillexpire', 'auth',
$days2expire), $passwordchangeurl, $urltogo);
echo $OUTPUT->footer();
exit;
} elseif (intval($days2expire) < 0 ) {
echo $OUTPUT->header();
echo $OUTPUT->confirm(get_string('auth_passwordisexpired', 'auth'),
$passwordchangeurl, $urltogo);
echo $OUTPUT->footer();
exit;
}
}
unset($SESSION->loginerrormsg);
$SESSION->wantsurl = $urltogo;
redirect(new moodle_url(get_login_url(), array('testsession'=>$USER->id)));
} else {
if (empty($errormsg)) {
if ($errorcode == AUTH_LOGIN_UNAUTHORISED) {
$errormsg = get_string("unauthorisedlogin", "", $frm->username);
} else {
$errormsg = get_string("invalidlogin");
$errorcode = 3;
}
}
}
}
if (empty($SESSION->wantsurl)) {
$SESSION->wantsurl = null;
41
$referer = get_local_referer(false);
if ($referer &&
$referer != $CFG->wwwroot &&
$referer != $CFG->wwwroot . '/' &&
$referer != $CFG->httpswwwroot . '/login/' &&
strpos($referer, $CFG->httpswwwroot . '/login/?') !== 0 &&
strpos($referer, $CFG->httpswwwroot . '/login/index.php') !== 0) {
$SESSION->wantsurl = $referer;
}
}
if (!empty($CFG->alternateloginurl)) {
$loginurl = $CFG->alternateloginurl;
if (strpos($SESSION->wantsurl, $loginurl) === 0) {
$SESSION->wantsurl = NULL;
}
if ($errorcode) {
if (strpos($loginurl, '?') === false) {
$loginurl .= '?';
} else {
$loginurl .= '&';
}
$loginurl .= 'errorcode='.$errorcode;
}
redirect($loginurl);
}
$PAGE->verify_https_required();
if (!isset($frm) or !is_object($frm)) {
$frm = new stdClass();
}
} else {
$frm->username = get_moodle_cookie();
}
$frm->password = "";
}
if (!empty($frm->username)) {
$focus = "password";
} else {
$focus = "username";
}
if (!empty($CFG->registerauth) or is_enabled_auth('none') or !empty($CFG>auth_instructions)) {
$show_instructions = true;
} else {
$show_instructions = false;
}
$potentialidps = array();
foreach($authsequence as $authname) {
$authplugin = get_auth_plugin($authname);
$potentialidps = array_merge($potentialidps, $authplugin>loginpage_idp_list($SESSION->wantsurl));
}
if (!empty($SESSION->loginerrormsg)) {
$errormsg = $SESSION->loginerrormsg;
unset($SESSION->loginerrormsg);
} else if ($testsession) {
unset($SESSION->loginerrormsg);
} else if ($errormsg or !empty($frm->password)) {
if ($errormsg) {
$SESSION->loginerrormsg = $errormsg;
}
redirect(new moodle_url($CFG->httpswwwroot . '/login/index.php'));
}
$PAGE->set_title("$site->fullname: $loginsite");
43
$PAGE->set_heading("$site->fullname");
echo $OUTPUT->header();
if (isloggedin() and !isguestuser()) {
echo $OUTPUT->box_start();
$logout=newsingle_button(new moodle_url($CFG>httpswwwroot.'/login/logout.php', array('sesskey'=>sesskey(),'loginpage'=>1)),
get_string('logout'), 'post');
$continue=newsingle_button(newmoodle_url($CFG>httpswwwroot.'/login/index.php', array('cancel'=>1)), get_string('cancel'), 'get');
echo $OUTPUT->confirm(get_string('alreadyloggedin', 'error', fullname($USER)),
$logout, $continue);
echo $OUTPUT->box_end();
} else {
include("index_form.html");
if ($errormsg) {
$PAGE->requires->js_init_call('M.util.focus_login_error', null, true);
} else if (!empty($CFG->loginpageautofocus)) {
//focus username or password
$PAGE->requires->js_init_call('M.util.focus_login_form', null, true);
}
}
echo $OUTPUT->footer();
1.2 User.php
<?php
require_once("../config.php");
44
require_once("lib.php");
$id= required_param('id',PARAM_INT);
$user
$mode
= required_param('user',PARAM_INT);
= optional_param('mode', "todaylogs", PARAM_ALPHA);
46
$modes = array();
if (has_capability('moodle/grade:viewall', $coursecontext)) {
$modes[] = 'grade';
} else if ($course->showgrades and $user->id == $USER->id and
has_capability('moodle/grade:view', $coursecontext)) {
$modes[] = 'grade';
} else if ($course->showgrades and has_capability('moodle/grade:viewall',
$personalcontext)) {
$modes[] = 'grade';
} else if ($course->showgrades and $anyreport) {
$modes[] = 'grade';
}
if (empty($modes)) {
require_capability('moodle/user:viewuseractivitiesreport', $personalcontext);
}
if (!in_array($mode, $modes)) {
$mode = reset($modes);
}
add_to_log($course->id, "course", "user report", "user.php?id=$course>id&user=$user->id&mode=$mode", "$user->id");
$stractivityreport = get_string("activityreport");
47
$PAGE->navigation->extend_for_user($user);
$PAGE->navigation->set_userid_for_parent_checks($user->id); // see MDL-25805
for reasons and for full commit reference for reversal when fixed.
$PAGE->set_title("$course->shortname: $stractivityreport ($mode)");
$PAGE->set_heading($course->fullname);
echo $OUTPUT->header();
switch ($mode) {
case "grade":
if (empty($CFG->grade_profilereport) or !file_exists($CFG>dirroot.'/grade/report/'.$CFG->grade_profilereport.'/lib.php')) {
$CFG->grade_profilereport = 'user';
}
require_once $CFG->libdir.'/gradelib.php';
require_once $CFG->dirroot.'/grade/lib.php';
require_once $CFG->dirroot.'/grade/report/'.$CFG>grade_profilereport.'/lib.php';
$functionname = 'grade_report_'.$CFG->grade_profilereport.'_profilereport';
if (function_exists($functionname)) {
$functionname($course, $user);
}
break;
break;
default:
}
echo $OUTPUT->footer();
1.3 enroll.php
48
<?php
define('NO_OUTPUT_BUFFERING', true);
require_once('../config.php');
require_once($CFG->libdir.'/adminlib.php');
$action = required_param('action', PARAM_ALPHANUMEXT);
$enrol = required_param('enrol', PARAM_PLUGIN);
$confirm = optional_param('confirm', 0, PARAM_BOOL);
$PAGE->set_url('/admin/enrol.php');
$PAGE->set_context(context_system::instance());
require_login();
require_capability('moodle/site:config', context_system::instance());
require_sesskey();
$enabled = enrol_get_plugins(true);
$all
= enrol_get_plugins(false);
break;
case 'enable':
if (!isset($all[$enrol])) {
break;
}
$enabled = array_keys($enabled);
$enabled[] = $enrol;
set_config('enrol_plugins_enabled', implode(',', $enabled));
core_plugin_manager::reset_caches();
$syscontext->mark_dirty(); // resets all enrol caches
break;
case 'up':
if (!isset($enabled[$enrol])) {
break;
}
$enabled = array_keys($enabled);
$enabled = array_flip($enabled);
$current = $enabled[$enrol];
if ($current == 0) {
break; //already at the top
}
$enabled = array_flip($enabled);
$enabled[$current] = $enabled[$current - 1];
$enabled[$current - 1] = $enrol;
set_config('enrol_plugins_enabled', implode(',', $enabled));
break;
case 'down':
50
if (!isset($enabled[$enrol])) {
break;
}
$enabled = array_keys($enabled);
$enabled = array_flip($enabled);
$current = $enabled[$enrol];
if ($current == count($enabled) - 1) {
break; //already at the end
}
$enabled = array_flip($enabled);
$enabled[$current] = $enabled[$current + 1];
$enabled[$current + 1] = $enrol;
set_config('enrol_plugins_enabled', implode(',', $enabled));
break;
case 'migrate':
if (get_string_manager()->string_exists('pluginname', 'enrol_'.$enrol)) {
$strplugin = get_string('pluginname', 'enrol_'.$enrol);
} else {
$strplugin = $enrol;
}
$PAGE->set_title($strplugin);
echo $OUTPUT->header();
// This may take a long time.
set_time_limit(0);
// Disable plugin to prevent concurrent cron execution.
unset($enabled[$enrol]);
51
= required_param('id',PARAM_INT);
$user
$mode
= required_param('user',PARAM_INT);
= optional_param('mode', "todaylogs", PARAM_ALPHA);
53
55
switch ($mode) {
case "grade":
if (empty($CFG->grade_profilereport) or !file_exists($CFG>dirroot.'/grade/report/'.$CFG->grade_profilereport.'/lib.php')) {
$CFG->grade_profilereport = 'user';
}
require_once $CFG->libdir.'/gradelib.php';
require_once $CFG->dirroot.'/grade/lib.php';
require_once $CFG->dirroot.'/grade/report/'.$CFG>grade_profilereport.'/lib.php';
$functionname = 'grade_report_'.$CFG->grade_profilereport.'_profilereport';
if (function_exists($functionname)) {
$functionname($course, $user);
}
break;
break;
default:
}
Z
echo $OUTPUT->footer();
1.3 enroll.php
<?php
define('NO_OUTPUT_BUFFERING', true);
require_once('../config.php');
require_once($CFG->libdir.'/adminlib.php');
$action = required_param('action', PARAM_ALPHANUMEXT);
56
= enrol_get_plugins(false);
$enabled[] = $enrol;
set_config('enrol_plugins_enabled', implode(',', $enabled));
core_plugin_manager::reset_caches();
$syscontext->mark_dirty(); // resets all enrol caches
break;
case 'up':
if (!isset($enabled[$enrol])) {
break;
}
$enabled = array_keys($enabled);
$enabled = array_flip($enabled);
$current = $enabled[$enrol];
if ($current == 0) {
break; //already at the top
}
$enabled = array_flip($enabled);
$enabled[$current] = $enabled[$current - 1];
$enabled[$current - 1] = $enrol;
set_config('enrol_plugins_enabled', implode(',', $enabled));
break;
case 'down':
if (!isset($enabled[$enrol])) {
break;
}
$enabled = array_keys($enabled);
$enabled = array_flip($enabled);
$current = $enabled[$enrol];
if ($current == count($enabled) - 1) {
58
manage'))
{
$return = new moodle_url('/admin/plugins.php');
}
echo $OUTPUT->continue_button($return);
echo $OUTPUT->footer();
exit;
}
redirect($return);
redirect($return);
60
APPENDIX 2
SCREEN SHOTS
STEP 1: Admin login
Administrator/ teacher can login using their own login ID and password
STEP 2: List of courses
61
This page shows no of students who are enrolled for respected courses
STEP 4 Enrolling users to new course
This is the process of enrolling students to new course this can be done by
admin
62
This is the home page, where students can select respected courses.
STEP 6 Question bank
Teachers can add questions for exam, in question banks. They can maintain
different question banks for each courses
63
Teachers should select question type, for each exam. It can be quiz exams, short
answers, brief questions.
STEP 7 Entering question for exam
For each and every questions teachers should allot time limit for completing
exams and mark for every questions
STEP 9 Adding new questions for quiz
After giving time limit and marks they can add the new question to the question
bank and they can be added to quiz exams
65
Teachers can select the question type and in that can give the question type as
short answers and can add questions.
STEP 11 Giving answers for questions
Teachers can add respected answers for the short questions test
66
this
process
can
be done by
students by
their own id
and
password
STEP
13
Attempting exam
67
For starting the exams students should be given a new password which is give
by the teachers
STEP 15 Answering quiz
Students should answer each and every questions,amd they also can navigate
between the questions
STEP 16 Completing exam
68
After completing the exam the students should click on finsh and submit once
the answers are submitted it cannot be changed
STEP 17 Result evaluation
The result will be evaluated immediately and right and wrong answers will be
showed the grade will be also displayed
STEP 18 Show how many students have completed the quiz and their grade
69
This can be viewed by the admin.it shows how many students have been
completed the test and time taken by the students to complete the exam will be
also showed
70
APPENDIX 3
USER MANUAL
1. Moodle installation
2. Moodle configuration
3. Apache server Installation
4. Phpmyadmin Installation
5. Admin/faculty registration
6. Faculty/admin login
7. Create course
8. Enroll users
9. Create quiz/exam
10. Select question type
11. Add question to quiz
12. Allot marks
13. Allot time limit
14. Grade allotment
15. Discussion with answer key
16. Result analysis
17. End user
TECHNICAL BIOGRAPHY
71
Technology of
72