AUTOMATED COURSE OUTCOMES ASSESSMENT FOR MULTIPLE CHOICE QUESTIONS(AUTO_ASSESS)

: Auto_Assess is a tool used to generate, evaluate and assess objective question papers as per the practices of outcome based education. This tool randomly selects the questions from the question base, and then generates the Objective question papers by using those randomly selected questions, in a predefined manner. This tool is developed by using python along with its graphical user layout toolkit pyqt. This tool ensures that the objective question papers are automatically formulated so as to cover all of the course outcomes that were prescribed in the syllabus. The design and implementation details of this tool were discussed in this paper


INTRODUCTION
The educational standards, set by the accreditation institutions like NBA and NAAC, helps the teaching institutions to improve their quality of education. Such accreditated institutions are likely to produce high quality graduates, who can apply for jobs globally [1]. OBE(Outcome Based Education) is a critical aspect of accreditation requirement.OBE is a disciple centered knowledge acquisition process for measuring students achievement in accordance with the program outcomes based on summative and formative assessments. Adel et al.worked out a innovative course outcomes assessment tool. [2] Auto_Assess is a tool, used to generate, evaluate and assess Objective question papers as per the best practices of Outcome Based Education.
This tool automatically generates the objective question paper, by randomly selecting the questions from the question base. The tool won't consider to include a randomly selected question, if it was already selected. Also, a question will not be included, if it's inclusion exceeds the predefined threshold of the corresponding course outcome. If these two conditions are satisfied, then the randomly selected question will be included in the question paper. Question base is a data base containing the Answer, Course, Unit and Question entities. The questions are stored in the question base along with their corresponding answers and course outcomes. The tool verifies and suggests for the coverage of course outcomes after selecting a question randomly. This tool is developed by using Python [4] along with its Graphical user layout toolkit pyqt [5]. Various widgets of pyqt are elaborately used in the input screens of this tool as needed. Pyuic module is used to automatically generate the python program for the input screen layouts created, by using the pyqt Designer.
Qt is designed for developing applications and user interfaces once and deploying them across several desktop and mobile operating systems. The easiest way to start application development with Qt is to download and install Qt 5. It contains Qt libraries, examples, documentation, and the necessary development tools, such as the Qt Creator integrated development environment (IDE).
Qt Creator provides you with tools for accomplishing your tasks throughout the whole application development life-cycle, from creating a project to deploying the application on the target platforms. Qt Creator automates some tasks, such as creating projects, by providing wizards that guide you step-by-step through the project creation process, create the necessary files, and specify settings depending on the choices you make. Also, it speeds up some tasks, such as writing code, by offering semantic highlighting, checking code syntax, code completion, refactoring actions, and other useful features.
The Qt GUI module provides classes for windowing system integration, event handling, OpenGL and OpenGL ES integration, 2D graphics, basic imaging, fonts and text. These classes are used internally by Qt's user interface technologies and can also be used directly, for instance to write applications using low-level OpenGL ES graphics APIs. For application developers writing user interfaces, Qt provides higher level API's, like Qt Quick, that are much more suitable than the enablers found in the Qt GUI module.
The most important classes in the Qt GUI module are QGuiApplication and QWindow. A Qt application that wants to show content on screen, will need to make use of these. QGuiApplication contains the main event loop, where all events from the window system and other sources are processed and dispatched. It also handles the application's initialization and finalization.
The QWindow class represents a window in the underlying windowing system. It provides a number of virtual functions to handle events (QEvent) from the windowing system, such as touch-input, exposure, focus, key strokes and geometry changes.
The main python program calls the automatically generated layout program. This main program was developed manually, and it generates the question paper, evaluates the answers and assess the course outcomes. The tool is implemented through the following five modules: The Faculty User Interface Module enables the faculty to enter the Questions, answers and the corresponding course outcomes into the question base. Disciples can attend answer the objective type examination, by using the Student User Interface Module. Question paper generation Module is used to generate the question paper on the basis of equal concentration on the course outcomes. The Evaluation module is used to evaluate the answers and the assessment module is used to summarize the productivity against course outcomes. The tool ensures that the question base contains the prescribed minimum number of questions corresponding to each of the course outcomes by generating the appropriate messages. The tool also directs the faculty to other course outcomes, when any of the course outcomes received the specified maximum number of questions. This tool enforces that the objective questionnaire designed so as to cover all of the course outcomes that were prescribed in the syllabus.

DESIGNING OF QUESTION PAPER
If all the course outcomes, are to be covered equally in the question paper, then faculty can simply specify the same by clicking a radio button, in the corresponding user interface. Otherwise, the needed coverage of outcomes can be provided by using a reference entity as follows: While designing the question paper, the tool considers objective questions randomly, from the question base. The tool will check the coverage obtained, due to the consideration of that question. If the coverage is within the limits, as prescribed in the above table, then the question will be included in the question paper. Otherwise, the question will be rejected, and the next random question will be verified for inclusion. This process continues till the above mentioned needed coverages are obtained.

EVALUATION OF ANSWERS
After answering the question paper completely, the disciple can initiate the evaluation online, by clicking the corresponding push button in the GUI. The tool picks up each and every answer provided by the student, and compare it with the standard answer, that was stored in its answer base. If the answer matches, then marks will be awarded, and after evaluating the answers of all queries, the tool will display the summarized score.

ASSESSMENT OF COURSE OUTCOMES
The tool simultaneously carry out the evaluation of answers and assessment of course outcomes. If a question was successfully answered, then the corresponding course outcome will be incremented. The summary of the outcomes attained, will be displayed as a Report on request.. Assessment determines which evidence gives the graduating students the appropriate knowledge and skills. However, the manual assessments with the continuous growth in the educational data makes the assessment process complicated and time taking. It is expected that after graduation, each disciple should have achieved the basic purpose of education i.e. necessary skills to work in his/her area of interest/specialization.  [3].A course outcomes' assessment program, developed in house at MLR Institute Of Technology, is used to evaluate the contributions of a given course/training, or any other item like practical classes/mini projects. Currently, the course outcomes are evaluated using an Excel Workbook which includes many sheets for input calculation, and analysis and interpretation of student scores. For instance student scores for activities such as the internal examinations are fed in where the relevance of the exam questions against the course outcomes is also entered. The corresponding metric comprises of the following two measures. The no.of students, who scored at least half marks for the queries against each of the specified course outcome. The no.of students, who scored less than half marks for the queries against each of the specified course outcome. Auto_Assess tool integrate different educational assessments into a unified evaluation report that provides a plan for continues improvements. Upon input of all the course activities in the data entry sheets the student's final grades and reports on the assessment of individual activities, corresponding to various course outcomes, are generated automatically. Also, the report assists the instructors in determining the weakness and strength of course delivery process. Reports showing results of course outcomes' assessments and degree of outcomes achievements are also generated automatically based on student performance(scores) in the specific course outcomes.

Database Design
The data base comprises of four entities viz., Course, Unit, Question and Answer entities. The Course entity is used to store the course outcomes details viz., Outcome id, Outcome description and Question id. The Unit entity comprises of two attributes i.e. Unit id and Unit name. The Question entity contains Question Id, Question Description and the four optional answers for that multiple choice question. The Answer entity contains the correct answer for each of the questions. These entities and the corresponding attributes are depicted in the following figures. The first four push buttons leads a new window, in which the user can enter the details and store them in the database. The last push button is used to generate the question paper. "Add Course Outcomes" push button leads to the following new window, where the user can enter the outcome id and outcome description details and store them in the data base.

Fig4:GUI for adding course outcomes
The following window can be displayed by using "Add Unit Details" push button, and this window is used to store the details Unit id and Unit Name in the data base.  The following window can be displayed by using "Add Answers" push button, and this window is used to store the details Question id and Answer in the data base.

Fig7: GUI for adding answers
After executing the display.ui program the following window is opened where we were able to see questions with the four options(A,B,C,D).

Fig8: GUI for Generating question paper
In the above GUI, There are three pushbuttons below the questions. By pushing the Generate QP button, user gets the question paper which contains questions randomly selected from the database. By pushing the Evaluate QP button, user can evaluate the question paper which is generated. By pushing the Assess Outcomes button, user gets assessment details of question paper which is generated.

CONCLUSION
This tool randomly selects the objective questions from the database and generates the question paper such that the questions in the question paper satisfy all the course outcomes that were mentioned in the syllabus. Hence it is beneficial to educational institutions. In this tool, end user has a choice to increase the number of questions on the screen. The tool is successfully tested and implemented at MLR Institute Of Technology. As of now, the tool generates reports in .pdf format. The tool can be further extended to generate reports in other formats like .xls and .doc.