Abstract
Content
- Introduction
- 1. General description of the interactive control system of students' knowledge
- 2. Development of the database system structure
- 3. Selection of the database control system
- Conclusion
- References
Introduction
Nowadays the society raises the question of the modern education informatization and the implantation of modern information development. Education is a multifaceted process and the knowledge control is one of its sides. However, computer technologies rose very high, and among them the interactive test systems occupy a leading position. In some countries, this type of testing displaced the traditional forms of knowledge control [1]. The benefits of the automated test systems are obvious, they can:
- release the teacher from routine work during exams and interim tests;
- automate the data reduction process;
- facilitate and improve the quality of the educational process;
- make a cold evaluation of students' knowledge;
- reduce the costs of organizing and testing;
- test a lot of students with the usage of a wide range of questions.
Thus, we determined the value of the knowledge test systems for educational institutions in general, and for the university in particular.
Nowadays there are a lot of interactive test systems. However, among this variety it is difficult to find a program that satisfies all the demands of the university or faculty. The solution of this problem is to create its own expert test system.
The database structure, necessary for the implementation of an interactive test system, depends on the architecture of the system, so lets consider the structure and main features in details.
1. General description of the interactive control system of students' knowledge
Interactive control system of students' knowledge is a set of software tools aimed at improving the quality of user testing [1].
Usually the testing process at the university looks like this (Figure 1.1).
As we see all the work of the test organization and conduction lies with the teacher. Interactive test system radically changes the situation.
The main purpose of the system is to promote the educational process at the university and to facilitate the testing process of students' knowledge.
To achieve this goal, the interactive test system should include the following subsystems:
- test development subsystem;
- users editing subsystem;
- access module and password generator;
- testing subsystem;
- subsystem of evaluation and processing of results;
- module that views the results of testing;
- analysis of statistics subsystem.
Before we examine all the subsystems, it must be noted that there are two types of access: the student and the administrator (i.e. teacher).
The test development subsystem. With its help you can create and edit questions. There are the correct answers in it, which can be edited or changed later. The questions can be of several types:
- choose one answer;
- choose several answers;
- write down the answer and compare it with the correct one;
- questions on compliance.
In our system we use only the first two types of questions. The rest can be used later if it is necessary. Further it is possible to use pictures, tables, animation etc.
All questions must be grouped by topic or subjects. As a result the test questions or tests will be formed. An access to the test development subsystem is allowed only for the administrator.
The users editing subsystem. All information about users (list of students, groups), and a list of teachers and disciplines will be exported directly from the environment and stored in the system.
Only the administrator can add or remove a student, edit a group or an object.
Access module and password generator is needed to make the system more secure. There are two types of passwords in accordance with the type of access. Login and password are automatically generated and assigned to a specific user. The method of generating passwords is given only by the administrator.
The teacher can view a list of passwords and change it if it is necessary. For example, if the student has passed login and password to a third party.
The testing subsystem generates tests and outputs them to the user. The test is being passed step by step. Each question is a separate page. Questions are numbered. There is a system of passing the current question. All the missed questions appear at the end of testing. At the moment there is not a time limit, but it can appear further.
The selection of questions in the test is accidental and it is taken from the entire set of existing ones.
The subsystem of evaluation and processing of results. Analysis of the control results is required for the formation of inferences about the dynamics of the student’s knowledge. The result of evaluation is the percentage of correct answers. After passing the test the date and time of evaluation, the results of the percentage and the number of attempts are recorded in the database. In the initial version of development all the questions have the same level of difficulty. Later, we can divide questions into the levels.
The module that views the results of testing. The page with the test results is created after each attempt. It displays all the questions. Correct answers are green, red ones are wrong. If the user has given wrong answers, the correct ones are displayed on the screen. The main result is given in percent. You can also view the results of previous attempts, if you have any, and the equated interest.
The teacher can view the test results of individual students or the overall group statistics.
The analysis of statistics subsystem. In this subsystem the general analysis of the results will be implemented. For example, the number of positive and negative attempts in the individual group.
Thus, the software allows the user to perform the following tasks:
- Creating and maintaining database of test items.
- Test development on the basis of educational tests, both: the most simple, task-oriented, usual control tests, and professional ones of the highest standards of quality.
- Testing, both individual and mass, with a high level of scalability and protection against falsification of the test results.
- Analytical processing of test results
- Standardization of the test and setting standards based on the interpretation of the data processing test results.
- Getting objective estimations of the knowledge level.
- Calculation of students’ marks based on the percentage of the correctly completed tasks and rules of the test.
- Obtaining various forms of reporting, analytical and graphical form, with the ability to export the result data of any reports.
After implantation of this system, the testing process becomes much easier (Figure 1.2).
While using the test program the teacher needs only to write the questions on a subject and put them with the answers (single action) into a database, then if it is necessary, he/she can replace or edit the material. The system does all other procedures. It generates tests, processes and publishes the results and makes the statistics.
2. Development of the database system structure
The basis of the knowledge control system is a database that contains a description of the main points, logical connections between them, information about users of the system, and also the basic elements involving questions of logical data integrity, access control, and formation of typical representations [2].
The developed system has to process large amounts of data, such as test data sets, data about groups, users, the test results, and secondary data. For this reason, the storage environment meets the strict requirements: ensuring the integrity and consistency of data storage, high-speed data processing, high degree of data protection from hackers’ attacks, multi-user data access support with functions of permission or exclusion of the conflict situations.
The basis of the database project is its information model, a means of providing an idea of the data and their use in the specific conditions [3].
During the project development the following external conceptions were identified:
- teacher of the department (test developer);
- administrator;
- user.
As we see from Figure 2.1, the client-server structure (Figure 2.2) is a basic element of the interaction scheme.
It means that any number of students can pass the test simultaneously. There are the advantages of such architecture:
- any number of tested students;
- data and test storage on the server, which makes unauthorized access more difficult;
- easy data collection or test changing;
- easy control.
Also the main objects of the information model database were identified [3]:
- subject;
- test question;
- test on a subject;
- list of students;
- the test results;
- authors of the tests.
Simplified information model of the database is shown in Figure 2.3.
When creating a database, the most important task is to make the best structure.
The projected database consists of the interconnected conceptions, among which we can highlight two main groups [3]:
- conceptions which describe the data storage of the tests, the questions and their answers;
- conceptions of users, user groups and the test result.
In further database developing some actions were made [3]:
- identification of the information attributes of the main database objects and their data types;
- normalization to optimize the structure of the database and their data types;
- identification of additional objects of the information model based on the results of normalization, their attributes and data types;
- clarification of relations between the main and additional objects.
Figure 2.4 shows the ER-model of the developed database.
Let’s describe the database tables and their attributes [4,5].
Table Sections. There is information about the test sections (academic subject). Attributes are:
- Section_id. Type: integer. The primary key.
- Section_name.Tip: text. Name of section tests.
- Section_hidden. Type: bit. Flag that hides test section. It possesses the value "1" and "0". When it is "1" the test section is removed from the visible list. The information is not deleted.
Table Groups. There is information about user groups. Attributes are:
- Group_id. Type: integer. The primary key.
- Group_name. Type: varchar (512). Name of the group.
- Group_description. Type: varchar (512). Description of the group.
- Group_hidden. Type: bit. Flag that hides a group. It possesses the value "1" and "0". When it is "1" the group is removed from the visible list. The information is not deleted.
Table Groupsections. There is information about compatibility of groups with the test sections. Attributes are:
- Id. Type: integer. The primary key.
- Gs_group_id. Type: integer. The group ID.
- Gs_section_id. Type: integer. Test section ID.
Table Tests. There is information and settings for the test. Attributes are:
- Test_id. Type: integer. The primary key of the table.
- Test_description. Type: text. Description of the test.
- Test_section_id. Type: integer. Identifier is kept in the Sections conception. It defines the test with the topic.
- Test_name. Type: text. Name of the test.
- Test_author_id. Type: integer. Author of the test. Identifier is kept in the Author conception.
- Test_questions_count. Type: integer. The number of questions in the test.
- Test_questions_limit. Type: integer. It determines the amount of the total number of questions in the test, which will be given to the user.
- Test_is_random_answers. Type: bit. Flag that mixes answers. It possesses the value "1" and "0".
- Test_is_back. Type: bit. Flag that can return the user to the previous question. It possesses the value "1" and "0".
Table Questions. There are test questions. Attributes are:
- Question_id. Type: integer. The primary key.
- Question_test_id. Type: integer. Identifier is kept in the Tests conception. It defines the question to the test.
- Question_number. Type: integer. The local number of the question. The numeration starts from one.
- Question_header. Type: varchar (1024). Question Title. The text of the question can be duplicated. It is used in the history of the user’s answers.
- Question_Text. Type: text. Text of the question. It can be formatted.
- Questin_type. Type: integer. Type of the question. "0" means single choice, "1" means multiple choice.
Table Answers. There are possible answers to the questions. Attributes are:
- Answer_id. Type: integer. The primary key.
- Answer_question_id. Type: integer. Identifier is kept in the Questions conception. It defines the possible answers to the question.
- Answer_text. Type: varchar (512). Text of the answer. It can not be formatted.
- Answer_right. Type: bit. Flag of the correct answer. It possesses the value "0" and "1".
Table Users. Tere is information about users. Attributes are:
- User_id. Type: integer. The primary key.
- User_group_id. Type: integer. Identifier is kept in the Groups conception. It defines the user to the group.
- User_name. Type: varchar (512). User name.
- User_code. Type: varchar (128). Additional field for the user ID (such as a record-book).
- User_password. Type: varchar (128). Password. It is kept in encrypted form.
- User_desable_test. Type: bit. This flag temporarily prohibits the user to pass the test.
Table User_results. There is a storage of test results. Attributes are:
- User_result_id. Type: integer. The primary key.
- User_result_completed. Type: bit. Flag of the end of the test (the answer to all the questions.) It possesses the value "1" and "0".
- User_result_time_begin. Type: smalldatetime. Start time of the test.
- User_result_cmpleted_questions. Type: integer. The number of passed question.
- User_result_right_questions. Type: integer. The number of correct answers.
- User_result_percent_right. Type: real. The percentage of correct answers.
- User_result_total_questions. Type: integer. The number of questions in the test.
- User_result_test_title. Type: varchar (128). Name of the test.
- User_id. Type: integer. Identifier is kept in the Users conception. It defines the results to a specific user.
- User_attempt. Type: integer. It keeps the attempt number.
Table User_answers. There is the log of the test and it can be displayed in the report. Attributes are:
- User_answer_user_result_id. Type: integer. The primary key.
- User_answer_qnumber. Type: integer. Number of the question.
- User_answer_question. Type: varchar (512). The question text with hypertext markup elements for a correct output in the report.
- User_answer_answer. Type: varchar (512). Text of the answer with s hypertext markup elements for the correct output in the report.
- User_answer_is_right. Type: bit. Flag of the correct answer. It possesses the value "T" and "F".
- User_answer_answerd. Type: bit. Flag of the answer to the question. It possesses the value "1" and "0".
Table Author. Tere is information about the author of the tests. Attributes are:
- Author_id. Type: integer. The primary key.
- Author_name. Type: varchar (512). User name.
- Author_section. Type: integer. Identifier is kept in the Sections conception. It defines to which section the test can be created.
- Author_password. Type: varchar (128). Password. It is kept in encrypted form.
- Author_login. Type: varchar (128). Additional field for the user ID.
- Author_garant. Type: integer. It encodes the user's access rights. "0" means the test editor, "1" means the administrator.
3. Selection of the database control system
We have already said that the internal storage is the basis of the project. Also the added to the database requirements were discussed. Thus, there is a question of choosing a data model and a database management system (DBMS).
All the requirements are described in the relational database. We selected MySQL as the target database. MySQL is one of the number of databases, supported by PHP. This is a very important criterion, because the main language of the project is PHP. In addition, the system MySQL is free and powerful enough to solve real problems.
SQL is an abbreviation of the words Structured Query Language, which means a structured query language. This language is a standard tool to access different databases. The MySQL system is a server that can connect remote users.
It is easier to work with the database if you use a special tool that came with the Web-Developer: Denwer phpMyAdmin. Here you can create a new database, a new table in the selected database, fill the table with data, and also add, delete, and edit data.
There are three basic types of data in MySQL: numeric type, date and time type and the row type. Each of these categories is subdivided into a great number of types. The main ones are listed in Figure 3.
The main advantages of the MySQL package are [3]:
- Multithreading. Supporting multiple concurrent requests.
- Optimization of the ties with the accession of data through one-pass.
- Records of fixed and variable strings.
- ODBC driver with the source.
- A flexible system of privileges and passwords.
- 16 keys in the table. Each key can have up to 15 fields.
- Supporting key fields and special fields in the CREATE operator.
- Supporting numbers from 1 to 4 bytes (ints, float, double, fixed), variable-length strings and time stamps.
- Interface with C and perl languages.
- Fast memory system based on streams.
- Check and repair utility of the table (isamchk).
- All data is kept in ISO8859_1 format.
- All string manipulation do not pay attention to the symbol register in the processed rows.
- Aliases can be used in both tables and individual columns in the table.
- All fields have a default value. INSERT can be used on any subset of fields.
- It is easy to control the table, including adding and deleting keys and fields.
The flexibility of the MySQL database is provided by supporting many types of tables. Users can select tables of MyISAM type, that support full-text search and InnoDB tables, which support transactions at the level of individual records. Moreover, the MySQL database system comes with a special type of EXAMPLE tables, demonstrating the principles of creation of the new table types. Due to its open architecture and GPL-license, new types of tables always appear in the MySQL database.
All the above features will create an efficient and stable database for our project.
Conclusion
In this research it was considered a general description of the developing system that tests students' knowledge. We designed the structure of the database system and selected the database for the project.
Testing is being developed in all branches of our information society. It is used in the school exams, secondary education institutions and universities, psychological tests when applying for a job, etc., so we need the automation of this process. It solves a lot of problems and highlights a number of advantages of using the test, for example, the lack of influence of the human factor, significant saving of the teacher’s time, reducing the control time, etc.
There is nothing surprising in the fact that there are many analogues of this system. But in most cases they are individual and limited in their functionality.
The basis of the developed system includes such characteristics as:
- ease of use (for both students and teachers);
- access for key audience;
- safe data keeping and using;
- independence of the system;
- an objective analysis of the results.
- Булыгин В.Г. «Основы автоматизации процесса обучения». – Йошкар-Ола, 2003. – 190 с.
- Томас Коннолли, Каролин Бегг, Анна Страчан. «Базы данных. Проектирование, реализация и сопровождение. Теория и практика»: Пер. с англ. – 3-е издание. – М.: Издательский дом «Вильямс», 2003. – 1440 с.
- Марценюк В.П., Семенец А.В. «О структуре базы данных информационной системы проверки знаний в медицинском образовании» – Научна статья 11.11.2008
- Хансен Г., Хансен Дж. «Базы данных: разработка и управление» — М.: БИНОМ, 1999. — 704 с
- Документация на MySQL. Версия пакета MySQL : 3.20.29 [электронный ресурс]. – Режим доступа: http://citforum.ru/database/mysqldoc/index.shtml
- Полат Е.С., Бухаркина М.Ю., Моисеева М.В. «Теория и практика дистанционного обучения: Учеб. пособие для студ. высш. пед. учебн. заведений» Под ред. Е. С. Полат // М.: Издательский центр «Академия», 2004. — 416 с.
- Elitarium: Центр диагностического образования [электронный ресурс]. – Режим доступа:http://www.elitarium.ru
- Википедия – свободная энциклопедия [электронный ресурс] – Режим доступа: http://ru.wikipedia.org/wiki/Дистанционное_обучение
- Гвоздев В.В., Проскурин В.В. «Работа в системе дистантного обучения Moodle. Инструкция для преподавателей». Тольятти, 2011. – 155 с.
- Московский институт радиотехники, электроники и автоматики. Доклад на тему «Обзор существующих платформ и систем управления контентом в целях обеспечения учебного процесса». Докладчик: Кригоузов Илья Сергеевич. Москва, 2011г.