Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
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.