Customizing Moodle to include efficient Examination Processes: Difference between revisions

From OLPC
Jump to navigation Jump to search
mNo edit summary
Line 86: Line 86:


The modular structure of System being proposed can be visualized as follows:
The modular structure of System being proposed can be visualized as follows:

<b>Note: The block diagrams only show the extended scope of interfaces and skip to explain the existing part and processes of Moodle</b>


[[Image:Dia1.jpg|Modular Structure of System]]
[[Image:Dia1.jpg|Modular Structure of System]]

Revision as of 13:50, 10 April 2008

Project Summary

The scope of this project is to extend Moodle to provide an easy customizable environment for faculty and examination controllers to form a database of questions over a Distributed Network (or may be Intranet as well at School) which could thus be used to generate examination papers for conducting examinations as well as for practice of students. Moodle as of now is only related to E-Learning processes but does not deals with any activity regarding Examination processes. This extension also aims at automation and facilitation of interaction between students and faculty in regards to assignments, etc (through blogs) while providing robust infrastructure for examinations and other academic analytical activities (online and offline).

The salient features (Goals) the proposed system looks to add to Moodle are

  • Providing an inbuilt mechanism to generate evaluation papers such as examination papers with various features and template support to Moodle having a comprehensive database.
  • Providing a Course, Subject and Unit wise Question Bank for students (for practice)
  • Providing a scheduling support so that the students can follow up and adhere to course and check out where they stand (similar to Pert and Gantt charts; but with reduced complexities for enabling novoices to use it without any trouble)
  • Providing plugin and external tools support for added functionalies
  • Providing online examination facility to judge students online
  • Storing and publishing the question papers and reports in form of pdfs, doc and other formats
  • Providing statistical analysis and related graphical heuristics for analyzing results and patterns
  • Providing a mechanism to get feedback of processes through a web interface
  • Providing an interface to act as an effective mechanism for intra institutional communication
  • Providing system and interface for attendance roster and other such relevant features


The 3-Dimensional structure of the extension(in terms of interfaces)

The whole system is planned to have a 3-Dimensional structure (in terms of interfaces):

(which are already as being proposed by Moodle but customized to add the enlisted feature and support as well)

  1. Administrator (or school management)
  2. Teachers (or Mentors)
  3. Students

The above listed features / goals can further be classified for the three dimensions

  1. Administrator
    • Publishing papers, managing templates and the database administration
    • Manage all the external tools and plugins
    • Managing and supervising question bank and various courses being offered
    • Supervise all schedules related to various courses and mentors and handling global variables
    • Scheduling and running online examinations
    • Manage the allowable formats and access rights to various mentors
    • Managing available statistical analysis and external tool support
    • Managing Feedback mechanisms and intra institutional communication (via forum and instant notice support)
    • Providing an interface to act as an effective mechanism for intra institutional communication
  2. Teacher (or Mentors)
    • Submit questions to the courses assigned to them, choosing difficulty levels and other related properties for each question
    • Access to external tools and plugins as embedded by the Administration
    • Reviewing question bank generated against their course and answering instant queries by students
    • Use easy scheduler to chalk out course schedule for their courses and manage students progress against them
    • Viewing statistical analysis and related graphical heuristics for analyzing results and patterns for their courses
    • Be a part of feedback mechanism to keep the educational channel interactive and alive
  3. Students
    • Can access Course, Subject and Unit wise Question Bank and solve questions online/offline
    • Check scheduler for current assignments (to follow up at moodle) or to check course progress
    • Participate in time bound online examinations
    • Viewing question papers and question bank in various formats such as pdfs, doc, etc
    • View statistical analysis and related graphical heuristics of class / institution
    • Feedback about courses, questions and process through relevant interface


Apart from this, an Assistance System (initially a trainer interface) to lead the student through all the features and mechanisms of the system will be incorporated

Technology and Modules Summary

This section entails about the technology used, modular structure and technical abstract of modules.

Technology Used

The technology proposed to use is LAMP (Linux, Apache, MySQL and PHP), CGI along with AJAX

We will go through the development process as follows:

1. Write extra modules required and database update (for providing extended features to Moodle) 2. Updating the various interfaces of Moodle (rewriting and updating existing codes) 3. Introducing cache features and secure connection (for examination) 4. Carrying out extensive test suites

Modular Structure

The modular structure of System being proposed can be visualized as follows:

Note: The block diagrams only show the extended scope of interfaces and skip to explain the existing part and processes of Moodle

Modular Structure of System

Technical Abstract of Modules

The description entails the added features to either of the interfaces:

Teacher Module:

Teacher module undertakes all the features and goal as described in the previous section and uses an AJAX engine to interact with the Administrator module. A cache is implemented to tackle multiple request and a situation of overload at the mentor end. It is to be noted that the figure illustrates a single mentor whereas multiple mentors may be issuing queries over the network

Student Module:

Student module used AJAX engine as intermediate for all transactions with server but for examination routine, during which no cache is maintained and a secure communication channel is established.

Administrator Module

The Administrator module is responsible for processing all requests through scheduling and caching all XMLHttpRequests and also servicing examination routines under secure channel. The other responsibilities shared by administrator module is database backup, maintenance, plug-ins profiling and other administrative responsibilities as listed above.

Coding Paradigm Used

The coding to be done will be object oriented with libraries of classes to be written up first. This will follow with objects being declared under main files of scripting with template based look and feel induction to the system. The caching at server side will also curtail through the usage of classes and code snippets of CGI.

Work Plan

The work plan for the design and development for the system has been planned as follows:

  • Prior to GSoC Start: Chalking out details of each module and refining the requirements
  • Week 1: Creating Blueprint for the system and System's prototype
  • Week 2: Customizing, developing and testing Administrator's module
  • Week 3: Customizing, developing and testing Mentor's module
  • Week 4: Customizing, developing and testing Students module and interfaces
  • Week 5: Packaging and Integration testing
  • Week 6: Further plug-ins incorporation and improvements based on testing and feedbacks
  • Week 7,8: System implementation and stress test, Beta testing
  • After GSoC: Maintainence and Support


Mentor

Any interested mentor may please enlist his/her name here

Deliverables

The deliverables for the project will include:

1. All script files for the three modules 2. A trainer module to train the usage of system to the students 3. An installer file to install the database and set environment variables 4. Comprehensive documentation and help files

To add to the deliverables, I will be available for help and assistance to the developed system in future and handle any bugs

About Me

Introduction

My name is Abhishek Tiwari and am located in Lucknow, Uttar Pradesh (India) and am pursuing bachelors in engineering (Computer Science stream). I have developed several LAMP based web-applications (working as a freelancer on internet) during my college life and have done several other design and development works continuously (adhering to industry norms) for commercial and non-commercial (academic) purposes. I have strong hold and experience in several Open Source and Java Technologies; as well as have a hand on experience of many other popular technologies.
I have good problem solving and algorithmic skills. I have bragged several national and international level awards by winning programming contests at various levels such as of International Programming Contests organized by renowned universities, TopCoder, ACM ICPC, etc (in team and individually).
My experience as an intern in the Platform Development Department at Yodlee Infotech Pvt. Ltd. as well attests to my skills of design and development. During my internship, I developed a module which was deployed as an integral part of Service Level Agreement Computation Model (Java and Oracle 9i) at Yodlee which leveraged me to learn and work under industry standards.

Related Skill Set

PHP, AJAX, CGI, MySQL, GTK, (X/D)HTML, JavaScript, XML, Understanding of Linux Web-Server, etc

Related Experience and Detailed Portfolio

A list of projects undertake and detailed portfolio can be viewed at:

http://inforex.moved.in/