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
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.