Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 1 Lab 2 - littleLEARNERS Product Specification Sangwoo Kim Old Dominion University CS 411: Professional Workforce Development II Professor Janet Brunelle April 24, 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 Definition, Acronyms, and Abbreviations………………………………………………...6 1.4 References...……………………………………………………………………………...10 1.5 Overview………………………………………………………………………………....14 2. General Description…………………………………………………………………………... 14 2.1 Prototype Architecture Description……………………………………………………... 14 2.2 Prototype Functional Description……………………………………………………….. 16 2.3 External Interfaces………………………………………………………………………. 18 List of Figures Figure 1: littleLEARNERS Prototype Major Functional Component Diagram....………....……15 List of Tables Table 1: littleLEARNERS RWP vs Prototype Table…………………………………………….16 Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 3 1. Introduction A novel coronavirus was identified and confirmed in the United States on January 20, 2020 (Harcourt et al., 2020), has attacked core societies and has had a profound impact on various areas of people’s lives. To stop the spread, the United States has enacted a series of interventions. School closures were the most consistent of these interventions. In March 2020, all 50 states in the United States closed kindergarten through 12th-grade schools. These closures affected an unprecedented 57 million kindergartens through 12th-grade students in the United States (Donohue et al., 2020). As the education system has changed dramatically by switching to an online learning platform from a traditional school environment, K-5 students and their parents are struggling to take courses at home. K-5 students are not familiar with digital literacy and often do not have enough computer skills to attend online courses - making it difficult for students to complete their studies without assistance. During synchronous learning time, teachers are available to assist students via video conferencing, but students are expected to manage their asynchronous assignments on their own. New challenges have arisen for parents to help their children learn successfully through online education. This puts parents in a difficult position of assisting their children with navigating the logistics of attending virtual classrooms and adhering to a schedule established by the school system. Although some parents can help their children without losing the balance between workloads, many can not. littleLEARNERS, a desktop application that is specially designed for K-5 students and to facilitate navigation and parental oversight while simplifying schedule adherence, solves the problem by allowing children to easily find and navigate complex school schedules. Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 4 1.1 Purpose littleLEARNERS is a desktop application. Students can manage their school schedules in the desktop application which simplifies navigation and schedule adherence. Using the desktop application, parents can manage student and school schedules and communicate with students and other parents. The goal of littleLEARNERS is to improve academic performance via improved attendance and provide some relief to burdened parents, caregivers, or guardians. Overall, littleLEARNERS facilitates assistance for students by collecting application usage data and compiling schedule and navigation data. To achieve these goals, littleLEARNERS provides parents with the ability to set up the complex school course links by automatically navigating them for their children. Students can do their school assignments in the desktop application which simplifies navigation and schedule adherence. Using the desktop application, both parents and students can communicate with each other with a text chat feature. The purpose of the application is not to replace the existing learning management platform. littleLEARNERS is designed for beginning-level readers in first and second grade, currently enrolled in a fully online education system, and their parents. Students with a lack of digital literacy and computer skills are mainly targeted to assist their coursework by automatically navigating them to each course. The initial case study groups are two families that both have one first-grade child and the parents are single parents. One parent works at home and the other parent works outside of the home. 1.2 Scope The goal for the littleLEARNERS prototype will provide the key features including navigation, scheduling, monitoring, and help. Initial sample data will be provided for the users to Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 5 familiarize themselves with the system along with instruction pages. A chat feature will be available for the communication method when students click on the “Raise Hand” button. A testing environment will be available to simulate the key features of the prototype including auto navigation, managing schedules, and help requests. A mock classroom including fake courses will be available to test in Seesaw, a digital app-based platform that allows students, teachers, and parents or guardians to complete and share classroom work. The littleLEARNERS prototype will demonstrate the main benefits and objectives of the real-world product to achieve the aforementioned goals. By demonstrating key features, it will show how littleLEARNERS solves the problem by facilitating navigation and parental oversight while simplifying schedule adherence - and making complex courses easier to find and navigate. The prototype will be presented to stakeholders including the team mentor for approval. Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 6 1.3 Definition, 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. 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. 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. VPN: a virtual private network that allows you to create a secure connection to another network over the Internet. WebRTC: an open framework for the web that enables real-time Communications (RTC) capabilities in the browser. [THIS SPACE IS 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-a nswered 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-mathemati cs-and-science-education.pdf Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 11 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 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-durin g-pandemic.html Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 12 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/ Kim, S. (2021, February 27). Lab 1 - littleLEARNERS Product Description. Old Dominion University. https://drive.google.com/file/d/1GN693A8tOtm8sSmlcPVSwHPwoe7_Rs99/view?usp=s haring 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 Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 13 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 [THIS SPACE IS INTENTIONALLY LEFT BLANK] Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 14 1.5 Overview This product specification provides the hardware and software configuration, interfaces, and features of the littleLEARNERS prototype. The remaining sections provide a detailed description of each feature and its requirements for implementation. The functional requirements (Section 3) of the littleLEARNERS prototype are described in detail in a separate document. 2. General Description The littleLEARNERS prototype provides the key features of the real-world product including navigation, scheduling, monitoring, and help. The application will have two interfaces; one for the parent which will include administrative privileges and one for the child which will have navigation and help features. This section describes the architecture and necessary components of the application. 2.1 Prototype Architecture Description The prototype will be developed in a virtual machine environment at Old Dominion University. Parents can enter their children’s schedule and navigation information into the database. MySQL will be used for the database. Parents can record macros of navigation to course materials with PyAutoGUI. Then the littleAssistant will fetch the schedule and auto navigation information from the database and will present them to the students. On the child interface, a real-time schedule, auto navigation, and reminder will be available. The “Raise Hand” button will always be available for students to notify parents, and they can communicate with each other with a text message. Parents can share information with other parents on the parent board. When a student clicks the “Raise your hand” button, littleLEARNERS will automatically create a post into the parent board so when a parent is busy and cannot answer a student's help request, other authorized parents can help their student. To prepare simulated Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 15 schedule and navigation data, a mock classroom will be used. The major components of the littleLEARNERS prototype are illustrated in Figure 1. Figure 1 littleLEARNERS Prototype Major Functional Component Diagram For the desktop application, both the backend and the frontend will be written in Python. Tkinter, the standard Python interface to the GUI toolkit, will be utilized in the frontend. All development will be done under the Docker environment to integrate code into a shared repository. The website will be implemented with HTML5, CSS3, and JavaScript. For the video chat, WebRTC API and OpenTok SDK are used. A simple third-party message board will be used as parents’ communication tool. Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 16 2.2 Prototype Functional Description The prototype demonstrates the key features of a real-world product, but some capabilities will be reduced or eliminated. The key features will be scheduling, navigation, monitoring, and help. Providing these key features will be significant because it will solve the problem by facilitating navigation and parental oversight while simplifying schedule adherence - and making complex courses easier to find and navigate. For a mock classroom, fake courses will be available to test in Seesaw, a digital app-based platform that allows students, teachers, and parents or guardians to complete and share classroom work. Table 1 shows the functional differences between real-world product and prototype. Table 1 littleLEARNERS RWP vs Prototype Table Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 17 The functional goal of the prototype is to demonstrate the key features including automated navigation, input schedule, communication between parent and child, communication between parents, and help requests. By demonstrating these key features, littleLEANERS can make it easy for K-5 students to complete their learning without assistance. Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 18 2.3 External Interfaces For external interfaces, the littleLEARNERS prototype uses a MySQL instance running in a Docker container on the Old Dominion University virtual machine and Google Calendar API. 2.3.1 Hardware Interfaces Any desktop machine with Python installed is used to run the littleLEARNERS application. 2.3.2 Software Interfaces All user data is stored in a MySQL database instance running in a Docker container on the Old Dominion University virtual machine. The Google Calendar API is used to import students’ schedules from the existing Google Calendar. 2.3.3 User Interfaces The littleLEARNERS prototype is accessed via a standard GUI interface on the user’s machine. 2.3.4 Communications Protocols and Interfaces To access all user data on Old Dominion University virtual machine, the user’s machine must connect with the Old Dominion University internal network using a virtual private network (VPN). Data transfer between the application and the database is achieved via Python’s MySQL connector. Communication between littleLEARNERS and Google Calendar API is used with HTTPS protocol.