VIETNAM NATIONAL UNIVERSITY HO CHI MINH CITY UNIVERSITY OF INFORMATION TECHNOLOGY ADVANCED PROGRAM IN INFORMATION SYSTEMS DO TUAN KIET - 15520398 BUILDING A MOBILE BASED MULTIPLE-CHOICE TEST GRADING SYSTEM BACHELOR OF ENGINEERING IN INFORMATION SYSTEMS HO CHI MINH CITY, 2021 VIETNAM NATIONAL UNIVERSITY HO CHI MINH CITY UNIVERSITY OF INFORMATION TECHNOLOGY ADVANCED PROGRAM IN INFORMATION SYSTEMS DO TUAN KIET - 15520398 BUILDING A MOBILE BASED MULTIPLE-CHOICE TEST GRADING SYSTEM BACHELOR OF ENGINEERING IN INFORMATION SYSTEMS HO CHI MINH CITY, 2021 ASSESSMENT COMMITTEE The Assessment Committee is established under the Decision. by Rector of the University of Information Technology. - Member ACKNOWLEDGMENTS First of all, we would like to express our appreciation to Doctor NGUYEN THANH BINH for his time and guidance during the making of this thesis. His teaching has greatly influenced our works and helps us change in positive ways.
Our top positive receptions also go to all the members of Faculty of Information Systems as well as everyone of University of Information Technology for their guidance, supports to us with greatest care. Not the least, we feel an extreme need of showing our gratitude to our family, our friends, and our classmates for every support and love that we have received on our maturity path. Do Tuan Kiet - students of aep 2015. TABLE OF CONTENTS Chapter 1 3 PROBLEM STATEMENT 3 1.
Contributions 7 Chapter 2 8 BACKGROUND KNOWLEDGE 8 2. Advantage of Flutter 10 2. Important components in Flutter 11 2. OpenCV and Algorithms 13 2.
OpenCV on Android. Transformation of Affines 15 Chapter 3 22 OUR SUGGESTED PROCESSING 22 3. About the environment 22 3. The proposed processing flow 25 Chapter 4 26 MOBILE APPLICATION DESIGN AND IMPLEMENTATION 26 4.
The Project's Structure 26 4. Architecture of applications 26 4. State Administration and Routing 30 4. Answer template and storage 30 4.
Detail of Design 33 4. Exam marking model 33 4. Data structure: 34 Figure 4. UI/UX and Features 34 Figure 4.
Application features tree 35 4. Advantage of application 48 Chapter 5 49 CONCLUSION AND FUTURE WORK 49 5. Future Projects 50 References 50 Chapter 1 PROBLEM STATEMENT 1. Introduction The idea of MCQs (Multiple choice questions) was first put forward by Frederick J.
Kelly as a quick and efficient way to spot talented US recruits during World War Jin 1914. Nowadays, MCQs is very popular, which is used by almost all universities and high schools to evaluate and rating students. Although automatic multiple-choice marking support systems are also very popular, specialized equipment systems are very expensive, low customization, computer-based systems combined with good quality scanners, high price, only suitable for organizations, big exams, due to limited mobility, complicated use.0 era, owning a phone with a built-in camera was not difficult, and the image quality from the camera has also improved compared to many years ago. Combined with artificial intelligence and computer vision techniques, it will help us integrate into mobile applications easily and save money and time.
Therefore, this graduation thesis with the idea of creating a multiple-choice marking application, to support teachers in marking exams easier, more flexible and cost effective. Related Researches Specialized automated multiple-choice scoring systems were invented very early on. The first commercially available dedicated scoring machine was from IBM, code-named IBM 805, in 1937 [8]. It is a breakthrough in educational technology.
The 805 machine reads pencil marks by sensing graphite because graphite makes a connection when it comes into contact with electricity. There is a key table to determine whether the answer is correct or incorrect based on the connection point of the shaded answer. The machine needs human help because it cannot score multiple answer sheets automatically. Then in the early 1960s, the IBM 805 was replaced by a new technology called optical mark recognition (Optical Mark Recognition - OMR) (IBM 1230) [9].
IBM implemented the first OMR successfully designed by Everett Franklin. Lindquist Lindquist's proposed mechanism is based on the contrast difference of the light beam at the marked positions on the answer sheet to recognize which answer is selected. The machine recognizes the highlighted position because it reflects less light than the unmarked locations on the answer sheet [10]. This is the premise of OMR technology.
Today, besides IBM, several other companies also provide scoring machines with the same idea and have a huge market share, such as Scantron [11] and [12]. However, although specialized OMRs are highly reliable, 4 the product and maintenance costs are high, and the cost of the Scantron machine varies depending on the machine model. They range in price from $5,400 to $17,275 [13].In addition to the high cost of equipment, these specialized scoring machines require dedicated answer sheets, which cost $0.15 per sheet, and pen colors and answer sheet templates are limited. Over the past two decades, personal computer (PC)-based OMR systems using image processing technology have been developed to overcome the limitations of specialized OMR machines.
Sandhu, Singla and Gupta [14] proposed using optical character and symbol region recognition as the basis to achieve a new method of OMR system for scoring multiple-choice MCQs. The new solution is cost-effective, fast, and easy to customize the answer sheet format. In 1999, Chinnasarn and Rangsanseri [15] developed the first PC-based grading system that reads the answer sheet through images obtained from scanning paperwork with a conventional optical scanner. In order for the system to work, a white answer sheet must be read to sample regions of interest, such as the subject code and the student code.
Then, the answer sheets will be processed based on a learned answer sheet model.Nguyen and his partner [16] have developed a reliable algorithm to use cameras instead of optical scanners with the aim of simplifying multiple-choice marking. The article has demonstrated that collecting answer sheets via camera is faster and more portable than using optical scanners because of its smaller and lighter size. upi [17] has developed an open-source grading system based on the Java language. The application is designed to grade two sets of test answer sheets: one is a set of traditional MCQs with only the option to answer without questions; the other is a set of samples where the questions will be integrated into the answer sheet but with a smaller number of multiple-choice questions.
The application 5 provides two forms of encoding and identifying student code information; the different codes are based on barcode and matrix. upi and partners [18] have focused on solving the problem of identifying student identifiers using a matrix in the same answer sheet to achieve a 100% recognition rate despite the image being rotated and having a large deviation. Next, Bonai and partners [19] continued upi's research on decoding student identification information through the method of applying Optical Character Recognition (OCR) to digital recognition. recorded ona 7-segment tape format (7 segments).
A pattern consisting of a display of 7 segments for each digit is designed for candidates to color. The positions of digits and segments in each number are predefined, allowing numbers from 0 to 9 to be recognized based on input patterns. Although the method seems limited because it is based on painting instead of handwriting, it is still more intuitive and easier to apply than the matrix identifier to encode the candidate code and give the success rate result. greater than 90%Furthermore, upi [20] devised a method by which candidates could change their answers two or three times if they got it wrong.
Ifa candidate changes their answer, they can simply annotate the error with a circle and write the correct letter next to the answer area. Then during processing, if a circle error is filled in, the handwritten character will be recognized, whether it is an A, B, C, E, or F character. Sattayakawee [21] proposed three different versions of grid-structured answer sheets that yielded an average accuracy of up to 99. Her method relies on ticks instead of filling in the answer box.
Chai [22] designed an automatic scoring algorithm that focuses on the results from the feedback. The proposed method of scoring the paper answer sheet then notes on the board the scanned image by marking the correctness of the answer and sending this result sheet to the candidate via email. The results show that the method is fast, with up to 1.4 seconds per test, and has high accuracy. Finally, if recent articles are based on 6 image processing operations, pixel linear statistics to find the location of the filled answer [25] and use a neural network to identify image regions at the answer position after it has been cut out.
Although [25] gives good results, it can recognize many types of responses, but the speed is slow due to running through each partition to be cut. The article proposes a method of marking MCQs automatically using phone cameras and answer sheet templates similar to those used in recent national graduation exams. Similar to the recent papers, however, instead of applying the processing steps based entirely on pure image processing like [23] [24] with the linear counting method to find the answer marker position or using a neural network to recognize each answer symbol after it has been cut [25], we build a deep learning neural network with the YOLO 4 foundation to locate all the answers filled. The algorithm is optimized to run on mobile phones.
Motivation Our first goal is to build a MOBILE-BASED MULTIPLE-CHOICE TEST GRADING SYSTEM that will help the teacher mark the multiple choice faster with an android application combined with openCV. We consider the UX of the user carefully; what is special is how the user can interact with the application with the least amount of learning time. The future goal is to successfully release a stable version of this application to the Play Store. Due to time constraints, this thesis only focuses on the first goal.
Contributions - We consider the related applications [6] [7] on the Play store to create the design UI of our own application. - We created multiple filled-in forms for users to select from. - Wealso have the option of a single or multiple choice filling form. - Users can view statistics and share the results of the exams on social networks.
- When the amount of data increases, users can save the result to the Shared social feature and clean device storage. Chapter 2 BACKGROUND KNOWLEDGE 2. Introduction There are many ways to build a mobile app, such as: - Native code: Java/Kotlin for Android and Swift/Objective-C for iOS. - Hybrid: React Native: Hybrid apps are deployed in a native container that uses a mobile WebView object.
- Cross-platform: Flutter with Dart language-Flutter uses Dart and a collection of native widgets to create stunning cross-platform apps. This application was developed by Flutter. Why Flutter? Flutter is a cross-platform SDK for the Dart programming language.It can be built for iOS, Android, Mac, Windows, Linux, and the web with only one code-base and has Google backing. Applications built with Flutter are virtually indistinguishable from those built using the Android SDK, both in look and performance.
Moreover, with small tweaks, they can run on iOS devices. Unified App Development: Flutter has tools and libraries to help us easily bring our ideas to life on iOS and Android. If you re new to mobile development, Flutter is an easy and fast way to build stunning mobile apps. If you are an experienced iOS or Android developer, you can use Flutter for your views and leverage a lot of your existing Java/Kotlin/ObjC/Swift code.
Beautiful and expressive UI: Indulge our users with Flutter's beautiful built-in widgets by Material Design and Cupertino (iOS-flavor), rich motion APIs, smooth natural scrolling, and self-aware communication. The interface runs at 60 fps. Apps created with Flutter perform much better than apps created with other cross-platform development frameworks such as React Native and Ionic.