Java程序辅导

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

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