LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 1 Lab 2 – littleLEARNERS Product Specification Matthew J. Joyce Old Dominion University CS 411W Professor J. Brunelle 23 April 2021 Version 2 LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 2 Table of Contents 1 Introduction ............................................................................................................................. 3 1.1 Purpose ............................................................................................................................. 4 1.2 Scope ................................................................................................................................ 4 1.3 Definitions, Acronyms, and Abbreviations ...................................................................... 6 1.4 References ...................................................................................................................... 10 1.5 Overview ........................................................................................................................ 13 2 General Description ............................................................................................................... 13 2.1 Prototype Architecture Description ................................................................................ 13 2.2 Prototype Functional Description................................................................................... 14 2.3 External Interfaces.......................................................................................................... 17 List of Figures Figure 1: littleLEARNERS Prototype Major Functional Component Diagram ........................... 14 List of Tables Table 1: littleLEARNERS RWP vs Prototype Table .................................................................. 16 LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 3 1 Introduction Due to the Coronavirus pandemic that started early in 2020, children around the world found themselves in a position in which they were forced to navigate through a virtual schooling environment when governments chose to close schools (Black et al., 2020). Unfortunately, elementary school children often lack the digital literacy and time management skills necessary to be successful (A day in the life of online students, 2020). Beyond just digital literacy, schools often employ multiple learning management systems (LMS) and tools that children are expected to learn and navigate with minimal assistance (Amsterdam, 2019). Elementary school children rely on in-person supervision and guidance from their teachers, but they have been expected to become self-reliant. This is a high expectation for young children and causes them to struggle with completing their work correctly and attending class on time (Mann, 2020). Parents and caregivers also found themselves in a position where they were forced to take on some of the roles of teachers as the school environment transitioned to the home. During this time, parents also found themselves working from home. Not only were they untrained for the new responsibilities put on them, but they now faced the challenge of managing work, home, and school life with little to no assistance (Mann, 2020). To solve the problem elementary students are facing with this abrupt change, several things need to happen. Web navigation, especially involving learning management systems, needs to be simplified. Monitoring needs to be in place to allow parents to be confident that their children are attending online school as they should. Children need to feel confident that they can ask for help and receive it when they need it. Parents also need a way to communicate and assist each other with their children’s online learning. All of this must be done in the absence of teacher assistance and with minimal oversight. littleLEARNERS is an application that aims to LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 4 provide automatic and intuitive scheduling and navigation, Parental Feedback, a “Raise Hand” help feature, and a Message Board for parents to communicate and share information with each other. 1.1 Purpose The primary functionality of littleLEARNERS is presenting a K-5 child’s academic schedule to them as it becomes relevant in an intuitive format and providing them with an Easy Button that automatically takes them to class. The application also provides functionality for support when children need help – either with navigation to class or class content. It provides this support by alerting parents in real-time when their child clicks the “Raise Hand” help button. littleLEARNERS also provides continuous feedback to the parent on how their children are attending their online classes. littleLEARNERS is targeted at beginning level readers in first and second grade. The prototype case study consists of two single parent families. The parents of both families are employed full-time and work from home. Both families have one first grade child who are enrolled in the same classes. The real-world development of the product is aimed at all American elementary students. The target audience will likely shift to home schooling once in-person schooling fully resumes. littleLEARNERS is not a replacement for learning management systems and does not contain any instructional material. 1.2 Scope The littleLEARNERS prototype will include much of the functionality of the real-world product. The help system via the “Raise Hand” easy button, all aspects of scheduling and automatic navigation, and the feedback monitoring system will be present. The key differences LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 5 are the simulation of schedule data and user input using a mock instructional environment. The parent message board will also be included; however, it will be in a simplified format. Data management will be performed internally using ODU architecture. A testing environment shall be created to provide the ability to present mock schedules, navigation data, schedule changes, simulated help requests, and simulated responses to demonstrate littleLEARNERS as a viable solution to the problem. [This space intentionally left blank] LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 6 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 7 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. Hallway: littleLEARNERS interface that provides access to the student’s schedule information. Help system: the system used by a child user to notify and receive assistance from a parent or designated parent. 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. MyBB: discussion board software used to implement the message board LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 8 MySQL: a database management system that manages the creation and maintenance of information within an application. Navigation: as it pertains to the internet, destinations include Zoom meetings and asynchronous assignments. OpenTok: online video conferencing software. Parental Feedback: log a child’s navigational history and send notifications to 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. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 9 Virtual Machine: a program that runs a second isolated operating system as if it were a separate computing system. 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. [This space intentionally left blank] LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 10 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, J., Miller, E. (2020, July 29). COVID-19 and School Closures. JAMA. 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 11 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 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/ 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/ LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 12 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 Team Orange. (2021, February 17). Lab 1 - littleLEARNERS Product Description. Old Dominion University. Retrieved March 22, 2021 from https://www.cs.odu.edu/~411orang/ 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 13 1.5 Overview This product specification provides a detailed description of the prototype, its architecture, necessary software, major functional components, and how they interact to demonstrate littleLEARNERS as a viable solution to the problem. 2 General Description The littleLEARNERS prototype will consist of a Python desktop application and a MySQL database. The core features from the RWP will be implemented. These are scheduling, automated navigation, help, feedback, and the message board. 2.1 Prototype Architecture Description The prototype components will be housed on Old Dominion University (ODU) infrastructure. A mock classroom environment is going to be used to prepare simulated schedule and navigation data. Parents will enter the schedule and navigation information which will then be populated in the database. The application will pull this data from the database. Notifications will be sent to the simulated parent user when simulated student users ask for help. Children can also enter a text message when they click “Raise Hand”. Parents can then respond with a text message which will be presented back to the student. Parent-to-parent communication will be facilitated through the Message Board. Figure 2 illustrates the major functional component diagram for the littleLEARNERS Prototype. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 14 Figure 1 littleLEARNERS Prototype Major Functional Component Diagram The littleLEARNERS prototype will use a Linux based virtual machine (VM) at ODU. As such, no hardware is going to be required besides the physical infrastructure at ODU. Git will be used to facilitate version control. Both front end and backend code are to be written in Python. The GUI will be implemented using Python’s Tkinter library. Development of littleLEARNERS will utilize third-party software including PythonAutoGUI for playback of automated navigation, and MyBB for the parent support bubbles. Data management will be facilitated with a MySQL container running in Docker on an ODU VM (see Figure 2). 2.2 Prototype Functional Description The prototype will consist of littleLEARNERS core features: scheduling, automated navigation, “Raise Hand,” parental feedback, and a parent message board. All scheduling and LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 15 navigation data will be simulated. The mock environment will emulate a real-world online schooling environment and demonstrates the effectiveness of this application in eliminating the difficulty K-5 students face with attending school online. The functional differences between the real-world-product and the prototype are shown in Table 1. Features marked as not functional are not necessary to demonstrate the solution and so will not be included in the prototype. Partially functional components are those which are necessary but which will operate on simulated data. [This space intentionally left blank] LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 16 Table 1 littleLEARNERS RWP vs Prototype Table LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 17 2.3 External Interfaces littleLEARNERS’ external interfaces will consist of a MySQL instance running in a Docker container on the ODU virtual machine and the Google Calendar API. 2.3.1 Hardware Interfaces The littleLEARNERS prototype will run on any desktop machine with Python installed. 2.3.2 Software Interfaces The littleLEARNERS prototype will utilize a MySQL database running on the ODU VM that stores all user data. The google calendar API will be used for importing schedule information from the mock schooling environment. LAB 2 – LITTLELEARNERS PRODUCT SPECIFICATION 18 2.3.3 User Interfaces The littleLEARNERS prototype will be accessed via a standard GUI interface on the user’s machine 2.3.4 Communications Protocols and Interfaces Data transfer between the application and the database will be achieved via Python’s MySQL connector.