BACKGROUND OF THE STUDY
HYPOTHESIS OF THE STUDY
The main goal of the study was to test if Polynomial Expression Solver was efficient than to Math Papa application when solving in different polynomial topics that compares each execution time.
STATEMENT OF THE PROBLEM
OBJECTIVES OF THE STUDY
The general purpose of the project is to “Design and Implementation of Android Smartphone Polynomial Expression Solver Based on Regular Expression String Parse Made with Unity Engine”.
Specifically, the study aimed to:
Design an application using regular expression string parse to solve a polynomial expression on smartphones.
Develop a simple, interactive and easy to use application that users can access anywhere.
Develop an application that works offline on smartphones
Perform an evaluation and testing of the application’s performance
Create a documentation for the application development
SCOPE AND LIMITATION OF THE STUDY
The application focused on polynomial topics: Addition, Subtraction, Special Products, and Factoring.
The application was made with Unity Engine.
The application displays the step-by-step solutions and answers for each input polynomial expression.
The application used regular expression to solve a polynomial expression.
The system design provides the information of the application.
The application’s quiz feature generates 10 questions (1 from each topic).
The application provides lessons regarding polynomials such as addition, subtraction, special products, and factoring.
The application runs only on Android smartphones with jellybean version or higher.
The application does not support decimal values, complex numbers, radicals, and fractions.
The application covers addition, subtraction, special products and factoring of polynomials.
The adding and subtracting polynomials solver only supports two polynomial expressions.
The application covers the specific topics of polynomial special products: Squaring a binomial, cubing a binomial and sum and difference of two squares and sum or difference of two cubes.
The application covers the specific topics of factoring of polynomials: Factoring the greatest common factor of a polynomial, factoring a perfect square trinomial, factoring the difference of two squares and factoring a sum or difference of two cubes.
CONCEPTUAL MODEL OF THE STUDY
Figure 1: Conceptual Framework
OPERATIONAL DEFINITION OF TERMS
These terms have been explained to make it easy to understand the study:
C# (C sharp) – In developing the application, C# was used in Unity Engine as the scripting language. The scripts were then used as the behavior components of the objects such as getting the contents of an input field when you click a button object. The main logic and the functionality of the application were also written in C# using Unity’s MonoDevelop.
Mobile Application – Creating a mobile application was chosen over a computer application during the planning phase. The reason for this is because there are more users who have their own smartphones than users with their own computers. Also, mobile applications are more accessible due to the fact that phones can be carried around almost anywhere.
Polynomial – The developers chose Polynomials as the specific topic in Algebra. The application of Polynomials is not limited only to Algebra, even in higher math, polynomial concepts such as factoring and special products are still applied.
Regular Expression – The application was created using regular expression to parse string the input text that consists patterns of operators, character literals and construct.
Smartphone – The application was created specifically for smartphones. The reason is that smartphones are a lot more powerful compared to older phones. Also, the interactivity between the user and application in a smartphone has a higher quality.
Unity Engine – In developing the application, the developers decided to use Unity Engine because of its cross-platform capabilities and it is applicable to both 2D and 3D. The basic application objects such as buttons, text fields, input fields, etc. were created in Unity Engine. In writing the scripts for the objects in Unity Engine, the developers used MonoDevelop IDE which is supplied with Unity Engine when you install it. Because of Unity’s cross-platform capabilities, it is possible to build the application into an .apk (Android Package Kit) file or an executable for computers.
The developers collected and presented various literatures and studies to support the study.
Android is a Linux-based mobile operating system used in android phones developed now by Google (Macken, 2016). Android is widely used and high selling in the market were android users prefer to the reason of easy to use, multitasking in using other applications and varied in different range of android phones (Brany, 2016).
Android Software Development Kit (SDK)
A software development kit is a tool that allows developers to create and to run an android application. SDK are compatible with different platforms includes the operating systems of Windows, Linux and Mac OS X.
Android application is a software application running on Android device like smartphones, tablets and other more. Many android application can be downloaded for free or purchase by users that available to Google Play Store.
A regular expression is a pattern of operators, literals that used to match and locate the input text. The regular expression used input validation in a sequence of characters to search in algorithm.C# (C sharp)
C# is a popular object-oriented programming language in creating web applications developed by Microsoft. C# programming is related and based on C and C ++ programming languages.
Unity Engine is a great cross platform in developing mobile games using a C# programming language that offers a feature of both 2D and 3D environment. Unity Engine can easily and quickly import applications onto platforms of Android, iOS, Windows and BlackBerry.
Rapid Application Development
Rapid Application Development (RAD) is classification of agile development methodology which become the popular used methods and encompasses computer-aided software engineering (Powell-Morse, 2016). In contrary of Waterfall Model, Rapid application development (RAD) produce a faster and iterative development of the software using prototyping techniques that indicates user’s requirements documentation (Anderson, 2017).
Adobe Photoshop CS6
Adobe Photoshop CS6 is a software used to edit and manipulate images and videos with advance feature produced by Adobe System Inc. According to Soffar (2015), in using Adobe Photoshop CS6 it helps to enhance the user’s skills and easily import photos and videos within the software.
The context-free diagram (CFD) is a detailed representation of the system to be modelled which determines the flow of information between the user and the system. Context-Free diagram also called level 0 of data flow diagram defines the limit of the system in a single process.
Data Flow Diagram
The Data Flow Diagram (DFD) is an overview representation of the system that illustrates the process of data through entities. The purpose of DFD visualizes how the system functions, what the outcome will be and what changes will be made (Aslam, 2017).
The Rapid Application Development SDLC model was used for developing the application. The process diagram was used as a guideline in developing the application.
The developers plan to develop in Design and Implementation of Polynomial Expression Solver Using an Improved Regular Expression String Parse. The Polynomial Expression Solver used regular expression which categorized on specific polynomial topics in Algebra that generates the answers with the step-by-step solutions for polynomial expression on a chosen polynomial topic. The application also features a set of lessons for learning more about the topics and a quiz to test and assess the user’s knowledge.
The developers acquired knowledge and gathered information that will be used in developing a mobile application. The developers used Unity Engine for the development of functions, operations, algorithms and layouts of the application, and Adobe Photoshop CS6 for creating the icons and buttons. The required hardware is a desktop computer or laptop that runs Windows 7 OS or higher with a 2GHz Processor and at least 1 – 2 GB RAM. Also, an Android smartphone with android version 4.1 (Jelly Bean) or higher.
The developers presented a Context-free Diagram and Data Flow Diagrams to show the design and process in Design and Implementation of Polynomial Expression Solver Using an Improved Regular Expression String Parse.
Figure 2: Context-Free Diagram (Level 0)
As shown in Figure 2, the context-free diagram shows the relation between the system and the user. The users can input a polynomial expression based on the polynomial solver topic of their choice. The users can view the solution and answer the equation. The system will show the step-by-step solutions and answer of input polynomial expression. The system will generate questions for users to answer. The system will also show to the user the score, correct answer, and solution to the question. The users can read the polynomial lessons and examples given by the system. The users can read the instructions on how the application works. The users could also view the information about the application, disclaimer, credits, and developers.
Figure 3: Data Flow Diagram of Solver (Level 1)
As shown in Figure 3, the system will let the user choose from the polynomial topics in solver to start solving.
Figure 4: Data Flow Diagram of Quiz (Level 2)
As shown in Figure 4, the system will let the user take the quiz. The system will generate questions on a polynomial topic.
Figure 5: Data Flow Diagram of Information (Level 3)
66675440866400As shown in Figure 5, the users could view the tutorial, information about the application, polynomial lessons, and examples.
Figure 6: Data Flow Diagram Level 1 Process 1: Solver
As shown in Figure 6, the users will input polynomial expression on a chosen specific topic. The system will generate step-by-step solutions and answer of the input problem.
Figure 7: Data Flow Diagram Level 2 Process 1: Quiz
As shown in Figure 7, it shows how the set of questions are being generated. The user can answer the questions given by the system then the system will show the correct answer with the solution. The system will show the score of the user.
Figure 8: Data Flow Diagram Level 3 Process 1: Information
As shown in Figure 8, the system will let the user view the polynomial lessons and examples, instructions on how the application works and information about the application, disclaimer, credits, and developers.
The System Development Life Cycle methodology used by the developer was Rapid Application Development which emphasizes a quick changing development and an iterative way that reduces time on planning, designing, and building the application. In the analysis and quick design phase, the developers plan to create an application using a regular expression to create a polynomial expression solver. The developers considered the user requirements with the desired scope and limitations, problems, objectives, and features of the system. The developers gathered techniques on managing the chosen program using Unity Engine for the functions, operations, layouts, and algorithms of the application and Adobe PhotoshopCS6 for the design and layout of the user interface. In the design phase, the developers were able to identify and design the graphical user interface with the desired features and functions. The developers used process diagram as a guide in developing the application.
During the building and testing, the developers ran a series of tests to know if the application fulfills the user specification. When bugs and errors were discovered during the execution of the system, enhancements and revisions were made to make the system more effective and efficient. The deployment phase was done to assure if the system works properly.
OPERATIONS AND TESTING PROCEDURES
Installing the Application
Locate the folder containing the Polynomial Expression Solver.apk of the Android Smartphone then install the application.
Using the application
Tap the icon to open the installed application on the Android Smartphone.
Select a polynomial topic.
Input the appropriate polynomial expression for the selected topic.
Then tap “Go” to view answer and tap “Solution” to view the solution of the selected topic.
Select “Lesson” to read about the certain topics in polynomials.
Select “Quiz” to answer the 10 randomized questions from the 10 topics.
The user is allowed to leave blank answers and proceed by clicking “Submit”.
The system will show the correct solution and answer after the user submits.
The system will show the user’s score.
Select “Help” to view the instructions on how the application works.
Select “About” to view the description of the application, disclaimer, credits and the developers.
The developers personally conducted the preliminary evaluation through stress testing to determine the capabilities and limitations of the application. The bug and errors were patched and fixed for the improvement of the application. In final evaluation, the developers compare the created Polynomial Expression Solver to Math Papa application to test if there is an efficiency on solving in different polynomial topics depending to its execution time.
RESULTS AND DISCUSSIONS
The gathered data were interpreted and analyzed through a statistical procedure.
The regular expression string parse used to design and to implement the Polynomial Expression Solver for input validation that define the search on the sequence of patterns. The application features polynomial topics that focused on addition, subtraction, special products and factoring. When the user select a polynomial topic, the user should input an appropriate polynomial expression then the regular expression string parse will find and match the input to get and display the solutions and answer of polynomial expression.
Figure 9: Splash Screen
As shown in Figure 9, the splash image of the application that appears when it is launched.
Figure 10: Polynomial Expression Solver Menu Screen
As shown in Figure 10, the users can choose a specific polynomial topic to start solving.
Figure 10.1: Polynomial Expression Solver Chosen Topic Screen
As shown in Figure 10.1, the users can start solving within the chosen polynomial topic by inputting the polynomial expression appropriate to the topic.
Figure 10.1.1: Polynomial Expression Solver Sample Error Message Screen
As shown in Figure 10.1.1, the error message when the user inputs an incorrect polynomial expression.
Figure 10.2: Polynomial Expression Solver Solution with Answer Screen
As shown in Figure 10.2, the step-by-step solution and answer for the chosen polynomial topic.
Figure 11: Polynomial Lesson Menu Screen
As shown in Figure 11, the users can read the lessons on each specific polynomial topic.
Figure 11.1: Polynomial Lesson Chosen Topic Screen
As shown in Figure 11.1, the description and examples of the chosen polynomial topic.
Figure 12: Polynomial Quiz Screen
As shown in Figure 11, the users can take a quiz to test and assess their knowledge. The questions are randomly generated for each one of the ten polynomial topics.
Figure 12.1: Polynomial Quiz Submit Screen
As shown in Figure 12.1, the correct solution and answer when the user inputs a wrong answer in a specific polynomial topic with an indicator that shows if the answer is correct or wrong.
Figure 13: Help Screen
As shown in Figure 13, the instructions on how to navigate through the application.
Figure 14: About Screen
As shown in Figure 14, the information about the Application, Disclaimer, Credits and the Developers.
PROJECT CAPABILITIES AND LIMITATIONS
The project provides several features:
The users can test and assess their knowledge by taking a quiz.
The users can view lessons to learn more about the polynomial topics.
The users can start solving by putting the appropriate polynomial expression.
The application’s quiz feature generates ten (10) random questions, one (1) for each topic.
The application’s solver feature does not accept complex numbers, fractions, decimal values, radicals and any special characters except caret, plus, and minus.
The Paired T-test was used to compare the two application to determine whether there is an efficiency of execution time when solving a polynomial expression to different polynomial topics.