LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 1 Lab 2 – littleLEARNERS Product Specification Outline Kayla Halsey Old Dominion University CS 411W Professor Janet Brunelle 23 March 2021 Version 1 LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 2 Table of Contents 1 Introduction .................................................................................................................................. 3 1.1 Purpose .................................................................................................................................. 3 1.2 Scope ..................................................................................................................................... 4 1.3 Definitions, Acronyms, and Abbreviations .......................................................................... 7 1.4 References ........................................................................................................................... 11 1.5 Overview ............................................................................................................................. 14 2 General Description ................................................................................................................... 14 2.1 Prototype Architecture Description .................................................................................... 14 2.2 Prototype Functional Description ....................................................................................... 16 2.3 Exteral interfaces ................................................................................................................ 19 2.3.1 Hardware Interfaces .................................................................................................... 19 2.3.2 Software Interfaces ..................................................................................................... 19 2.3.3 User Interfaces ............................................................................................................ 19 2.3.3 Communications Protocols and Interfaces.................................................................. 19 List of Figures Figure 1: Major Functional Components of littleLEARNERS Prototype ................................... 15 List of Tables Table 1: Mock Families for littleLEARNERS Prototype ............................................................... 5 Table 2: Feature Comparison Between RWP and Prototype ........................................................ 17 LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 3 1 Introduction The rapid spread of COVID-19 necessitated a sudden shift from in-person to virtual learning. Faced with a complex, impersonal learning environment, many of the youngest students are left feeling confused and isolated. A report published by Renaissance (2020), an online testing service, revealed that math test scores had dropped significantly between 2019 and 2020 – with fourth and fifth grade mean scores falling almost twice as much as seventh and eighth grade scores. The dual synchronous and asynchronous format of virtual learning programs requires students to navigate numerous online platforms to attend virtual meetings and complete homework. Elementary students lack the digital literacy, reading comprehension, and time management skills needed to be successful in these programs. The solution is littleLEARNERS, a software platform that acts as an intelligent virtual assistant to support K-5 students as they participate in virtual learning. littleLEARNERS is tailored to elementary-age children – assisting with website navigation, schedule adherence, and reaching out for help. The supplementary mobile application for parents enables them to monitor their child’s performance and assist remotely. In addition, parents can use the discussion board to network with parents of their child’s classmates to stay informed of any schedule changes and discuss class-related topics. 1.1 Purpose littleLEARNERS streamlines the parts of virtual education that are difficult for elementary students. The goal of the littleLEARNERS desktop application is to improve the academic performance of elementary students by reducing the amount of caregiver intervention needed throughout the virtual school day. Students can work more independently via a simplified user interface, straightforward navigation system, and schedule-based meeting reminders. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 4 littleLEARNERS grows with the students – students can choose to be directed to the appropriate class at the click of a button, or they can use the Hallway, a navigation portal used to view course information and associated links. When students need help, parents can assist remotely – eliminating the need for constant in-person monitoring. Parents can use the mobile application to monitor their child’s performance, provide remote assistance, and network with other parents. 1.2 Scope The prototype for littleLEARNERS demonstrates key features of the real-world application using a simulated learning environment and simulated users. Parent users can choose between importing or manually entering a schedule for the student, and the system will accommodate schedule changes. Parents can also record macros for the student and receive feedback about how the student interacts with the program. Students can use the Go to Class Easy Button to be automatically navigated to the currently scheduled activity. They can use the Raise Hand Easy Button to reach out for help. The littleAssistant, presenting in the form of an animated avatar, displays notifications and navigation prompts to the student. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 5 Table 1 Mock Families for littleLEARNERS Prototype Name User Role Description Karen Smith Parent • Karen is a parent who does her work from home • She wants to be involved and help her child with school • Because of work, she does not have time during the day to help as much as she would like • She is friends with John Doe Timmy Smith Student • Timmy is Karen’s son • He is a first-grade student attending class from home • He has three different classes he must attend every weekday • He has an average reading level for his grade • He has trouble navigating the various online spaces needed for class • He has trouble adhering to his schedule and is often late to class John Doe Parent • John works outside of the home • John is friends with Karen Erin Doe Student • Erin is John’s son • He is in first grade and attends the same classes as Timmy • He has a below-average reading level for his grade • He also has trouble navigating online spaces • He has trouble adhering to his schedule • During the instructional day, Erin is in childcare where direct help is sporadic The primary users of littleLEARNERS are elementary students in the K-5 range and their parents or caregivers. A typical household consists of one to two parents and one to three children. Child users are expected to have limited reading and technical skills. The target age group typically has between one and four teachers and at least two portals. The littleLEARNERS prototype utilizes simulated users and simulated learning platforms. Four user profiles were created to represent two different mock families for this case study. The members of the mock LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 6 families will be used to illustrate how the various prototype features are intended to be used. Table 1 details the mock users for the littleLEARNERS prototype. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 7 1.3 Definitions, Acronyms, and Abbreviations About screen: a GUI screen that provides information about littleLEARNERS as well as an email to contact technical support. Administrator: a member of the littleLEARNERS development team. Amazon Comprehend: a natural language processing (NLP) service used to extract the student’s schedule information from a document. AWS (Amazon Web Services): Amazon’s complete cloud computing platform that provides remote computing power and storage options. Amazon RDS (Relational Database System): Amazon’s cloud relational database system. Asynchronous activity: assignments to be completed by the student without the virtual presence of an educator. Broken Link: an Easy Button that allows the student to report a link that is broken with a single click. The parent is immediately informed of the problem allowing for remote correction. Caregiver: an adult other than the parent who is responsible for the supervision of a student. Connector/Python: a Python extension for MySQL database connections. Data management: collection, storage, and dissemination of information. Docker: an open-source project for automating the deployment of applications as portable, self- sufficient containers that can run on the cloud or on-premises. Easy Button: a button that can be clicked to automatically carry out a set of tasks. Firebase: a cloud database system used for remote storage of application information for mobile applications. Git: a version control system used to coordinate work and track changes throughout the development of littleLEARNERS. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 8 Go to Class: an Easy Button which facilitates immediate navigation to a scheduled class which is already in session GUI (Graphical User Interface): the visual interface users interact with to input and receive information. Help system: the system used by a child user to notify and receive assistance from a parent or designated parent Hallway: littleLEARNERS interface that provides access to the student’s schedule information. IDE (Integrated Development Environment): an application that provides a complete set of development tools in a single convenient environment. LMS (Learning Management System): software that is designed specifically to create, distribute, and manage the delivery of educational content either in a stand-alone product or via the internet. littleAssistant: littleLEARNERS desktop avatar that is designed to appeal to elementary aged children whose purpose is to present navigation links and schedule reminder prompts. Java: a high-level programming language used to create stand-alone, handheld, and web applications. K-5: elementary school students from kindergarten to fifth grade. Macro: a single instruction that expands automatically into a set of instructions to perform a particular task. Message Board: a discussion board for parents to share information regarding their children’s schedule and navigation data. MySQL: a database management system that manages the creation and maintenance of information within an application. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 9 Navigation: as it pertains to the internet, destinations include Zoom meetings and asynchronous assignments. OpenTok: online video conferencing software. Parental Feedback: real-time notification and logging system to a child’s navigational history and alert the parent when navigation fails. PyAutoGUI: a third-party library that allows Python scripts to control mouse and keyboard input. It is used to automatically carry out web navigation. PyQt: a Python binding of the cross-platform GUI(graphical user interface) toolkit Qt, implemented as a Python plug-in. Python: an interpreted programming language used to create stand-alone, handheld, and web applications. Raise Hand: littleLEARNERS help system that facilitates transmission of help request and response messages between students and parents. React Native framework: an open-source application that is used to easily develop cross- platform mobile applications. Schedule: a listing of daily virtual class times. SQLite: database management system for mobile devices to work with React Native framework. Synchronous learning: instruction and activities completed by the student with the virtual presence of an educator. Tkinter: a Python binding to the Tk GUI toolkit. It is the standard Python interface to the Tk GUI toolkit and is Python’s de facto standard GUI. Virtual Machine: a program that runs a second isolated operating system as if it were a separate computing system. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 10 Visual Studio: an integrated development environment (IDE) from Microsoft. It is used to develop computer programs as well as websites, web apps, web services, and mobile apps. WebRTC: an open framework for the web that enables real-time Communications (RTC) capabilities in the browser. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 11 1.4 References A day in the life of a student attending online high school. (2018, August 30). Achieve Virtual Education Academy. https://achievevirtual.org/blog/online-high-school/a-day-in-the-life- of-a-student-attending-online-high-school/ A day in the life of online students. (2020). K12. https://dil.k12.com/ Amsterdam, T. (2018, October 2). Schoology vs. Google Classroom: 8 common questions answered. Schoology. https://www.schoology.com/blog/schoology-vs-google-classroom- 8-common-questions-answered Average public-school student: teacher ratio. (n.d.). Public school review. https://www.publicschoolreview.com/average-student-teacher-ratio-stats/national-data Bernard, S. (2011, May 17). A day in the life of a virtual school student. KQED. https://www.kqed.org/mindshift/11558/a-day-in-the-life-of-a-virtual-school-student Black, E., Ferdig, R., Thompson, L. A. (2020, August 11). K-12 virtual schooling, COVID-19, and student success. JAMA Pediatr. https://jamanetwork.com/journals/jamapediatrics/fullarticle/2769434 Donohue, Julie., Miller, Elizabeth. (2020, July 29). COVID-19 and School Closures. JAMA Network. https://jamanetwork.com/journals/jama/fullarticle/2769033 Elementary and secondary mathematics and science education. (2018). National Science Foundation. https://nsf.gov/statistics/2018/nsb20181/assets/481/elementary-and- secondary-mathematics-and-science-education.pdf El Nokali, N., Bachman, H., & Votruba-Drzal, E. (2010). Parent involvement and children's academic and social development in elementary school. Child Development, 81(3), 988- 1005. http://www.jstor.org/stable/40599147 LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 12 Gould, J. (2020, December 11). "Attendance is a symptom": educators struggle to keep track of students during pandemic. Gothamist. https://gothamist.com/news/attendance- symptom-educators-struggle-keep-track-students-during-pandemic Gruman, D., Harachi, T., Abbott, R., Catalano, R., & Fleming, C. (2008). Longitudinal effects of student mobility on three dimensions of elementary school engagement. Child Development, 79(6), 1833-1852. http://www.jstor.org/stable/27563596 Grundy, K., Mandeville, C., Mazari, H., Stichter, J., Thill, B., & Wissink, S. (2020, August 14). Consumer insight: virtual back to school - fewer backpacks & more laptops. Jefferies. https://javatar.bluematrix.com/pdf/JD7AuWA6 Halsey, K. (2021, March 8). Lab 1 – littleLEARNERS Product Description. Old Dominion University. https://www.cs.odu.edu/~411orang/ Harcourt, J., Tamin, A., Lu, X., Kamili, S., Sakthivel, S. K., Murray, J....Thornburg, N. J. (2020). Severe acute respiratory syndrome coronavirus 2 from patient with coronavirus disease, United States. Emerging Infectious Diseases, 26(6), 1266-1273. https://dx.doi.org/10.3201/eid2606.200516. Heggeness, M., & Fields, J. (2020, August 18). Parents juggle work and childcare during pandemic. The United States Census Bureau. https://www.census.gov/library/stories/2020/08/parents-juggle-work-and-child-care- during-pandemic.html Hudson, H. (2020, March 31). Kids (and teachers) don’t need to spend 8 hours a day on schoolwork right now. WeAreTeachers. https://www.weareteachers.com/virtual-learning- schedule/ LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 13 Kelly, H. (2020, September 4). Kids used to love screen time. Then schools made Zoom mandatory all day long. Washington Post. https://www.washingtonpost.com/technology/2020/09/04/screentime-school-distance/ Maldonado-Carreño, C., & Votruba-Drzal, E. (2011). Teacher-child relationships and the development of academic and behavioral skills during elementary school: a within-and between-child analysis. Child Development, 82(2), 601-616. http://www.jstor.org/stable/29782854 Mann, K. (2020, August 24). A day in the life of virtual learning with four kids | COVID E- Learning. Indy with Kids. https://indywithkids.com/virtual-learning/ Map: where has COVID-19 closed schools? Where are they open? (2020, July 28). Education Week. Retrieved November 1, 2020 from https://www.edweek.org/ew/section/multimedia/map-covid-19-schools-open-closed.html McElrath, K. (2020, August 26). Schooling during the COVID-19 pandemic. United States Census Bureau. https://www.census.gov/library/stories/2020/08/schooling-during-the- covid-19-pandemic.html Pianta, R., Belsky, J., Vandergrift, N., Houts, R., & Morrison, F. (2008). Classroom effects on children's achievement trajectories in elementary school. American Educational Research Journal, 45(2), 364-397. www.jstor.org/stable/30069451 Renaissance Learning. (2020). How kids are performing: tracking the impact of COVID-19 on reading and mathematics achievement. https://renaissance.widen.net/s/wmjtlxkhbm United States Census Bureau. (2020, November 23). Week 19 household pulse survey: November 11 – November 23 [Data file]. https://www.census.gov/data/tables/2020/demo/hhp/hhp19.html#techdoc LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 14 1.5 Overview This product specification document describes the littleLEARNERS prototype and its included features. The remaining sections of this document detail the architecture structure, data flows, and hardware and software requirements of the littleLEARNERS prototype. A detailed description of each major feature and how it interacts with the program is also provided. 2 General Description The prototype for littleLEARNERS demonstrates key features of the real-world application using a simulated learning environment. Most of the features, especially regarding monitoring, getting help, and navigation, are partially implemented due the nature of the simulated users and environment. Some scheduling and help components, as well as the “Raise Your Hand” and “Go to Class” Easy Buttons, are fully functional. The mobile application is not included in the prototype. 2.1 Prototype Architecture Description The graphical user interface for the littleLEARNERS prototype is developed using Python and Tkinter. All necessary information is stored to the database, which is built with MySql on an Old Dominion University virtual machine. Git is used for version control. The mobile application is not present in the prototype. Instead, a parent version of the desktop application is utilized to demonstrate communication between the parent and child interfaces. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 15 Figure 1 Major Functional Components of littleLEARNERS Prototype Figure 1 details the major functional components of the littleLEARNERS prototype. Parents start by creating a parent account and an account for each child. Schedule information for each child is either imported through Google Calendar or manually entered by the parent. The data flow of schedule information is represented by the red arrows. Parents can communicate with other parents and caregivers through the parent message board. The data flow of the parent message board is represented by the blue arrows. Parents can choose to record macros to automatically navigate students to the appropriate page, logging them in when needed. Pynput is used to record mouse and keyboard input during macro recording. Once recording has started, PyAutoGui is used to capture a full-page LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 16 screenshot each time a new webpage is loaded. When a left click is detected, the mouse coordinates are used to capture an image of the clicked element from the full-page screenshot. This image will be used in macro execution to locate the elements on webpages. If a student clicks the “Go to Class” Easy Button, the system will check the database for a corresponding macro for the appropriate class. If no macro is found, the class link is used to navigate to the appropriate page. The data flow of the macro system is represented by the green arrows. The littleAssistant checks the database frequently and pulls information, such as schedule reminders and communication notifications, from the database to present to the student. If a student clicks the “Raise Your Hand” Easy Button, the database is updated to reflect the student needs help. The parent application, which checks the database on a set interval, notifies the parent that the student needs help. The parent can then send a text response back to the student. The littleAssistant notifies the student and presents the parent’s response. 2.2 Prototype Functional Description The goal of the prototype is to demonstrate the major features of the littleLEARNERS desktop application. Due to time constraints, the mobile application is not included in the prototype. The schedule extraction, automated navigation, and real-time assistance features are function but use simulated users and a simulated learning environment. The “Raise Your Hand” and “Go to Class” Easy Buttons are fully functional. Table 2 shows the features included in the prototype compared to the real-world product. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 17 Table 2 Feature Comparison Between RWP and Prototype LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 18 The use of simulated users and a simulated learning environment illustrates how the product will be used in its real-world application. The prototype is not able to demonstrate integration with real-world educational software due to lack of access and the wide variation of software used between school systems. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION OUTLINE 19 2.3 External Interfaces The littleLEARNERS prototype uses several external interfaces to facilitate communication between users, store and retrieve information from the database, and enable users to interact with the system. 2.3.1 Hardware Interfaces The littleLEARNERS prototype application requires a computer with internet connectivity. 2.3.2 Software Interfaces The application contains an embedded Chromium browser provided by the CefPython library. The Google Calendar API is used for schedule importing. 2.3.3 User Interfaces A mouse and keyboard are required for the user to interact with the system. A display screen is required to view the system’s output. 2.3.4 Communication Protocols and Interfaces Internet connectivity is required to retrieve and store user information to the database, and to navigate in the embedded browser. A Python connector for MySQL is used to enable communication between the application and the database.