LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 1 Lab 2 - littleLEARNERS Product Specification Outline Gabriel Del Razo Old Dominion University CS411 W Professor Janet Brunelle 28 March 2021 Version 1 LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 2 Table of Contents 1. Introduction ……………………………………………………………………………… 3 1.1. Purpose …………………………………………………………………………... 4 1.2. Scope …………………………………………………………………………….. 5 1.3. Definitions, Acronyms, and Abbreviations …………………………………...… 9 1.4. References …………………………………………………………………....… 13 1.5. Overview ……………………………………………………………………..… 16 2. General Description ………………………………………………………………….… 16 2.1. Prototype Architecture Description ………………………………………….… 16 2.2. Prototype Functional Description …………………………………………....… 17 2.3. External Interfaces ……………………………………………………………... 20 2.3.1. Hardware Interfaces ……………………………………………….…… 20 2.3.2. Software Interfaces …………………………………………………….. 20 2.3.3. User Interfaces ……………………………………………………….… 20 2.3.4. Communications protocols and Interfaces …………………………….. 20 List of Figures Figure 1: littleLearners Prototype Major Functional Component Diagram………….... 6 List of Tables Table 1: Mock Family ……………………………………………….………………....7 Table 2: littleLearners Real World Product vs. Prototype Features …………………... 8 Table 3: Prototype Features table ……………………………………………………. 17 LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 3 1. Introduction Online education and asynchronous learning in elementary school was not as relevant as it is today compared to a year ago. This sudden shift online is caused by the threat of Covid-19 and its effect is far reaching. To help stop the spread, elementary schools were forced to go online, and to continue their teaching asynchronously. The transition from live to online left many key aspects of learning still in the school house, and out of reach of students. Traditional in-person education, students were all in the same room leaning together. This environment was provided by the school system. In contrast, the asynchronous learning environment is restricted to students at a desk in front of a computer. It is shown that the quality of a learning environment can measure how well a student will perform in school. If an elementary aged student is placed in a setting that is not ideal for learning, they will perform worse in school (Pianta et al., 2008). Now that students are learning from home, schools can no longer provide a consistent learning space for all students. The current structure of asynchronous learning will negatively impact elementary school age students. Along with the learning environment, caretakers also play an important part in the learning success of elementary age students. In a traditional school, students have access to a wide variety of helpers. Similar to the space in which a student learns, the quality of the teacher child relationship plays an important role in education (Maldonado-Carreño & Votruba-Drzal 2011). When online, teachers and their interactions are less individualized. At home, the only authority figure to assist students immediately are their caretakers. But even then, the quality of the parents' involvement may hurt the success of their child. This is because teachers are not as involved thus putting this aspect of learning onto the parents who might not have time to help. LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 4 (Nokali et al., 2010). At home there is no guarantee that someone will be able to help a student in a timely manner like there is in a traditional classroom. The shift to asynchronous learning is negatively impacting all students and leaving many of them behind. The underlying thread that connects all the problems is there is no common foundation for all students. In a live classroom, all students have the same environment, instructors, assistants, and opportunity to learn. At home none of this can be guaranteed to be of equal quality. Elementary aged students are the most at risk during online learning because they are still being taught the skills that will help them learn such as reading and interacting with a computer. littleLearners is an application dedicated to assist elementary school students navigate asynchronous education. To assist students, littleLearners takes key components that traditional school left behind and puts them on the student’s computer. Navigating from virtual classroom to virtual classroom is facilitated with Macros. The littleAssistant will help students throughout the day by providing them with schedule based reminders and navigating the web for them. Parents also benefit from littleLearners because they can network with other parents and share advice and Macros. 1.1 Purpose The purpose of littleLearners is to help parents and students with online education and to show that asynchronous education is as viable as traditional teaching methods. To fulfill this purpose, littleLearners is designed to assist first grade students and give tools to parents/guardians that can further help their little learners. The application will provide students with two easy buttons. One for automatic navigation to an activity, and the other to get assistance LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 5 from a parent. Students will also be accompanied with a LittleAssistant that will provide the student with helpful advice throughout the day. Parents can assist their students with recording macros, importing class schedules, and communicating with other parents. 1.2 Scope The prototype of this application is aimed to demonstrate the functionality of Macros, the littleAssistant, and the Easy Buttons in a mock classroom environment. All parent and child user information will be simulated along with their classrooms. Figure 1 displays what will be developed for this application. The development of this application will primarily be done in Python. The database will be running inside a Docker container on an ODU Linux virtual machine. Dependencies will also be tracked using Docker. Gitlab will track versions of the build throughout development. The prototype will run on Windows and MacOS. Macros will be tested on Chrome. Importing class information and calendars will be done with google calendar. LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 6 Figure 1 littleLearners Prototype Major Functional Component Diagram During the development of littleLearnes, the two families described in Table 1 will be used as the case study. They represent the customers who will benefit the most from littleLearners. The Smith and Doe family are in similar circumstances both having one first grader who is having trouble adapting to online education. Both families are single parent households who benefited greatly from having their child sent to traditional in person elementary school. Now that schools are mostly online, they are the type of families who are struggling the most. LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 7 Table 1. Mock family 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 is in a similar situation to Karen ● He works at home, and has extra time to help his child with schoolwork ● He is stressed because there are a lot of links and pages to keep track of ● 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 LittleLearners’s scope is limited by the time the team has to develop the application. The prototype will be developed in four months with three sprints. This time constraint will force development to differ from the real world product. These differences can be seen in Table 2. During development of the application the following assumptions are made: Caregivers are computer and internet literate, teachers are going to be using only google calendar to inform students about classroom activities, and first grade students have a basic understanding of computers and how to operate them. LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 8 Table 2 littleLearners Real World Product vs. Prototype Feature LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 9 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. LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 10 Git: a version control system used to coordinate work and track changes throughout the development of littleLEARNERS. 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. LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 11 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. 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. LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 12 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. 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 13 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, 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-mathemati cs-and-science-education.pdf LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 14 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 OUTLINE 15 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/ 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 Team Orange. (2021, February 17). Lab 1 - littleLEARNERS Product Description. Retrieved LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 16 March 22, 2021 from https://www.cs.odu.edu/~411orang/ 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 1.5 Overview This document is the specifications of how the application will be constructed. The rest of this document will describe how to make the prototype. Its architecture and functionalities as well as the software interfaces needed to run the application, and its requirements. 2. General Description 2.1 Prototype Architecture Description As described in figure 1 the prototype will be connected to an ODU virtual machine that will act as a database and a website for our application. The database will be running Mysql. The parent board will be hosted on the VM as well. The database will be in a docker container. Dependencies will be tracked with docker. Python will be the main programming language used in development. A mock classroom environment will be constructed using Dr. Zeil’s template website that he uses for classes at Old Dominion University. Seesaw will also be used to construct a mock classroom. The system will be tested using the mock family and class rooms. Additional programs and scripts will be constructed to test the functionality of the application. Such testing includes a way to change the time and date of the system to test the proper functionality of the schedule parts of the application. LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 17 2.2 Prototype Functional Description littleLearners has a handful of features that make up the functional use of the application. Scheduling is the base of everything. Class meetings and asynchronous activity times need to be able to be represented inside the application. This schedule is to be used to help the student and it needs to be editable by the parent. Next, is automatic navigation. Students need to be able to be taken to each activity and or class. This system is managed by the parents. They can add new Macros to be used by the student. This automatic navigation is Called a Go To Class Easy Button, and will be paired with the Raise Hand Easy Button. The Raise Hand Easy Button is for students to initiate communication with their parents if they need assistance. Along with the two Easy buttons, students will be also helped with the littleAssistant. This is an avatar that will digitally accompany the student as they go about their day. It will provide helpful information and keep the student on track. Parents will have access to the parent board where they can communicate with other parents and share Macros with each other. Table 3 describes the features of the application. Table 3. Prototype features table. Feature Description Implemen tation Administrative/General Parent User Registration Create new littleLEARNERS account Fully functional Parent User login Access existing littleLEARNERS account Fully functional Parent Portal Parent Portal for parent users to view and manage data Fully functional LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 18 Parent Portal Dashboard Displays students’ daily schedule and parent’s information. Fully functional Parent Portal Manage Student Manage students’ information, schedule, and macro Fully functional Parent Portal Manage Account Manage parents’ account information Fully functional Parent Portal Parents Board Parents of classmates have access to a group message board whose purpose is to facilitate communication regarding schedule changes, navigation disruptions, general information, etc. Fully functional Parent Portal About Feedback features: send an email to Admin for feedback Fully functional Parent Portal Event Log Displays a log page that displays all navigational events for a parent’s children Fully functional Child auto-login Log child into littleLEARNERS account on app startup Fully functional Mock Classroom Virtual classroom: credentials required Virtual classroom location established within Seesaw, login name and password required Partially functional Virtual classroom: no credentials required Virtual classroom location established on previously constructed instructional page that does not require a login Partially functional Synchronous Zoom meeting Zoom meeting room to simulate synchronous instruction Partially functional Asynchronous activity location Virtual location located on the Seesaw platform and Google classroom, authentication required for access Partially functional Scheduling Real-time updates Continually monitor stored schedule information and update schedule accordingly Partially functional Import schedule Create new schedule from an existing one in file form Partially functional littleAssistant Pop up reminder of upcoming class presented on screen to child, and present Go To Class easy button Fully functional LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 19 Navigation Go to Class easy button Easy button for navigation to class currently being conducted Fully functional Record macros Parents can record the input needed to navigate to a website Partially functional Playback macros Taking a previously recorded macro, the playback will take control of the system and automatically navigate to the preset destination Partially functional Monitoring Attendance feedback Record and store attendance history. Alert parent immediately when child misses class start or fails to attend for the entire duration Fully functional Navigational feedback Record and store navigation success or failure. Alert parent when navigation fails Fully functional Record child’s input activity Record and log application usage by the child, to include use of easy buttons and communication Fully functional Help Raise Hand easy button Easy button for the use of the child to indicate the need for assistance Fully functional Notify parents in bubble Approved parents of classmates are to be notified when a child needs help Partially functional Screen Capture Screen capture of the child’s view Fully functional Parent chat response Chat response to the child’s request for assistance Partially functional Testing LAB 2 - littleLEARNERS PRODUCT SPECIFICATION OUTLINE 20 Automated schedule/location disruption software Program the to apply remote disruptions to schedule times and classroom/activity locations according to the testing scenario Fully functional Testing scenario Schedule of disruptions to classroom/activity locations/times to demonstrate functionality of the prototype Fully functional 2.3 External Interfaces The external interfaces of littleLearners are the MySQL container running inside the Docker container, a Windows 10/MacOs/Linux computer that is capable of running Python 3.7. 2.3.1 Hardware Interfaces littleLearners will run on Windows 10/MacOs/Linux that is able to run Python3.7 programs. 2.3.2 Software Interfaces To fully utilize the features of littleLeanres the user needs access to a google calendar so that they can import class activities. 2.3.3 User Interfaces The application’s user interface is accessible to users who have a mouse and keyboard. 2.3.4 Communications Protocols and Interfaces littleLearners automatically connects to a database running MySql that is running on an Old Dominion University’s virtual machine. The user will need a stable internet connection to run the application, and to be able to playback and record Macos.