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
Sangwoo Kim
Old Dominion University
CS 411: Professional Workforce Development II
Professor Janet Brunelle
April 24, 2021
Version 2
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 2
Table of Contents
1. Introduction…………………………………………………………………………………......3
1.1 Purpose…………………………………………………………………………………….4
1.2 Scope……………………………………………………………………………………....4
1.3 Definition, Acronyms, and Abbreviations………………………………………………...6
1.4 References...……………………………………………………………………………...10
1.5 Overview………………………………………………………………………………....14
2. General Description…………………………………………………………………………... 14
2.1 Prototype Architecture Description……………………………………………………... 14
2.2 Prototype Functional Description……………………………………………………….. 16
2.3 External Interfaces………………………………………………………………………. 18
List of Figures
Figure 1: littleLEARNERS Prototype Major Functional Component Diagram....………....……15
List of Tables
Table 1: littleLEARNERS RWP vs Prototype Table…………………………………………….16
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 3
1. Introduction
A novel coronavirus was identified and confirmed in the United States on January 20,
2020 (Harcourt et al., 2020), has attacked core societies and has had a profound impact on
various areas of people’s lives. To stop the spread, the United States has enacted a series of
interventions. School closures were the most consistent of these interventions. In March 2020, all
50 states in the United States closed kindergarten through 12th-grade schools. These closures
affected an unprecedented 57 million kindergartens through 12th-grade students in the United
States (Donohue et al., 2020). As the education system has changed dramatically by switching to
an online learning platform from a traditional school environment, K-5 students and their parents
are struggling to take courses at home.
K-5 students are not familiar with digital literacy and often do not have enough computer
skills to attend online courses - making it difficult for students to complete their studies without
assistance. During synchronous learning time, teachers are available to assist students via video
conferencing, but students are expected to manage their asynchronous assignments on their own.
New challenges have arisen for parents to help their children learn successfully through online
education. This puts parents in a difficult position of assisting their children with navigating the
logistics of attending virtual classrooms and adhering to a schedule established by the school
system. Although some parents can help their children without losing the balance between
workloads, many can not. littleLEARNERS, a desktop application that is specially designed for
K-5 students and to facilitate navigation and parental oversight while simplifying schedule
adherence, solves the problem by allowing children to easily find and navigate complex school
schedules.
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 4
1.1 Purpose
littleLEARNERS is a desktop application. Students can manage their school schedules in
the desktop application which simplifies navigation and schedule adherence. Using the desktop
application, parents can manage student and school schedules and communicate with students
and other parents. The goal of littleLEARNERS is to improve academic performance via
improved attendance and provide some relief to burdened parents, caregivers, or guardians.
Overall, littleLEARNERS facilitates assistance for students by collecting application usage data
and compiling schedule and navigation data.
To achieve these goals, littleLEARNERS provides parents with the ability to set up the
complex school course links by automatically navigating them for their children. Students can do
their school assignments in the desktop application which simplifies navigation and schedule
adherence. Using the desktop application, both parents and students can communicate with each
other with a text chat feature. The purpose of the application is not to replace the existing
learning management platform.
littleLEARNERS is designed for beginning-level readers in first and second grade,
currently enrolled in a fully online education system, and their parents. Students with a lack of
digital literacy and computer skills are mainly targeted to assist their coursework by
automatically navigating them to each course. The initial case study groups are two families that
both have one first-grade child and the parents are single parents. One parent works at home and
the other parent works outside of the home.
1.2 Scope
The goal for the littleLEARNERS prototype will provide the key features including
navigation, scheduling, monitoring, and help. Initial sample data will be provided for the users to
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 5
familiarize themselves with the system along with instruction pages. A chat feature will be
available for the communication method when students click on the “Raise Hand” button. A
testing environment will be available to simulate the key features of the prototype including auto
navigation, managing schedules, and help requests. A mock classroom including fake courses
will be available to test in Seesaw, a digital app-based platform that allows students, teachers,
and parents or guardians to complete and share classroom work.
The littleLEARNERS prototype will demonstrate the main benefits and objectives of the
real-world product to achieve the aforementioned goals. By demonstrating key features, it will
show how littleLEARNERS solves the problem by facilitating navigation and parental oversight
while simplifying schedule adherence - and making complex courses easier to find and navigate.
The prototype will be presented to stakeholders including the team mentor for approval.
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 6
1.3 Definition, Acronyms, and Abbreviations
About screen: a GUI screen that provides information about littleLEARNERS as well as an
email to contact technical support.
Administrator: a member of the littleLEARNERS development team.
Amazon Comprehend: a natural language processing (NLP) service used to extract the
student’s schedule information from a document.
AWS (Amazon Web Services): Amazon’s complete cloud computing platform that provides
remote computing power and storage options.
Amazon RDS (Relational Database System): Amazon’s cloud relational database system.
Asynchronous activity: assignments to be completed by the student without the virtual presence
of an educator.
Broken Link: an Easy Button that allows the student to report a link that is broken with a single
click. The parent is immediately informed of the problem allowing for remote correction.
Caregiver: an adult other than the parent who is responsible for the supervision of a student.
Connector/Python: a Python extension for MySQL database connections.
Data management: collection, storage, and dissemination of information.
Docker: an open-source project for automating the deployment of applications as portable,
self-sufficient containers that can run on the cloud or on-premises.
Easy Button: a button that can be clicked to automatically carry out a set of tasks.
Firebase: a cloud database system used for remote storage of application information for mobile
applications.
Git: a version control system used to coordinate work and track changes throughout the
development of littleLEARNERS.
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 7
Go to Class: an Easy Button which facilitates immediate navigation to a scheduled class which
is already in session
GUI (Graphical User Interface): the visual interface users interact with to input and receive
information.
Help system: the system used by a child user to notify and receive assistance from a parent or
designated parent.
Hallway: littleLEARNERS interface that provides access to the student’s schedule information.
IDE (Integrated Development Environment): an application that provides a complete set of
development tools in a single convenient environment.
LMS (Learning Management System): software that is designed specifically to create,
distribute, and manage the delivery of educational content either in a stand-alone product or via
the internet.
littleAssistant: littleLEARNERS desktop avatar that is designed to appeal to elementary aged
children whose purpose is to present navigation links and schedule reminder prompts.
Java: a high-level programming language used to create stand-alone, handheld, and web
applications.
K-5: elementary school students from kindergarten to fifth grade.
Macro: a single instruction that expands automatically into a set of instructions to perform a
particular task.
Message Board: a discussion board for parents to share information regarding their children’s
schedule and navigation data.
MyBB: discussion board software used to implement the message board
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 8
MySQL: a database management system that manages the creation and maintenance of
information within an application.
Navigation: as it pertains to the internet, destinations include Zoom meetings and asynchronous
assignments.
OpenTok: online video conferencing software.
Parental Feedback:log a child’s navigational history and send notifications to the parent when
navigation fails.
PyAutoGUI: a third-party library that allows Python scripts to control mouse and keyboard
input. It is used to automatically carry out web navigation.
PyQt: a Python binding of the cross-platform GUI(graphical user interface) toolkit Qt,
implemented as a Python plug-in.
Python: an interpreted programming language used to create stand-alone, handheld, and web
applications.
Raise Hand: littleLEARNERS help system that facilitates transmission of help request and
response messages between students and parents.
React Native framework: an open-source application that is used to easily develop
cross-platform mobile applications.
Schedule: a listing of daily virtual class times.
SQLite: database management system for mobile devices to work with React Native framework.
Synchronous learning: instruction and activities completed by the student with the virtual
presence of an educator.
Tkinter: a Python binding to the Tk GUI toolkit. It is the standard Python interface to the Tk
GUI toolkit and is Python’s de facto standard GUI.
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 9
Virtual Machine: a program that runs a second isolated operating system as if it were a separate
computing system.
Visual Studio: an integrated development environment (IDE) from Microsoft. It is used to
develop computer programs as well as websites, web apps, web services, and mobile apps.
VPN: a virtual private network that allows you to create a secure connection to another network
over the Internet.
WebRTC: an open framework for the web that enables real-time Communications (RTC)
capabilities in the browser.
[THIS SPACE IS INTENTIONALLY LEFT BLANK]
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 10
1.4 References
A day in the life of a student attending online high school. (2018, August 30). Achieve Virtual
Education Academy.
https://achievevirtual.org/blog/online-high-school/a-day-in-the-life-of-a-student-attending
-online-high-school/
A day in the life of online students. (2020). K12. https://dil.k12.com/
Amsterdam, T. (2018, October 2). Schoology vs. Google Classroom: 8 common questions
answered. Schoology.
https://www.schoology.com/blog/schoology-vs-google-classroom-8-common-questions-a
nswered
Average public-school student: teacher ratio. (n.d.). Public School Review.
https://www.publicschoolreview.com/average-student-teacher-ratio-stats/national-data
Bernard, S. (2011, May 17). A day in the life of a virtual school student. KQED.
https://www.kqed.org/mindshift/11558/a-day-in-the-life-of-a-virtual-school-student
Black, E., Ferdig, R., Thompson, L. A. (2020, August 11). K-12 virtual schooling, COVID-19,
and student success. JAMA Pediatr.
https://jamanetwork.com/journals/jamapediatrics/fullarticle/2769434
Donohue, J., Miller, E. (2020, July 29). COVID-19 and School Closures. JAMA.
https://jamanetwork.com/journals/jama/fullarticle/2769033
Elementary and secondary mathematics and science education. (2018). National Science
Foundation.
https://nsf.gov/statistics/2018/nsb20181/assets/481/elementary-and-secondary-mathemati
cs-and-science-education.pdf
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 11
El Nokali, N., Bachman, H., & Votruba-Drzal, E. (2010). Parent involvement and children's
academic and social development in elementary school. Child Development, 81(3),
988-1005. http://www.jstor.org/stable/40599147
Gould, J. (2020, December 11). "Attendance is a symptom": educators struggle to keep track
of students during pandemic. Gothamist.
https://gothamist.com/news/attendance-symptom-educators-struggle-keep-track-students-
during-pandemic
Gruman, D., Harachi, T., Abbott, R., Catalano, R., & Fleming, C. (2008). Longitudinal effects of
student mobility on three dimensions of elementary school engagement. Child
Development, 79(6), 1833-1852. http://www.jstor.org/stable/27563596
Grundy, K., Mandeville, C., Mazari, H., Stichter, J., Thill, B., & Wissink, S. (2020, August 14).
Consumer insight: virtual back to school - fewer backpacks & more laptops. Jefferies.
https://javatar.bluematrix.com/pdf/JD7AuWA6
Harcourt, J., Tamin, A., Lu, X., Kamili, S., Sakthivel, S. K., Murray, J....Thornburg, N. J. (2020).
Severe acute respiratory syndrome coronavirus 2 from patient with coronavirus disease,
United States. Emerging Infectious Diseases, 26(6), 1266-1273.
https://dx.doi.org/10.3201/eid2606.200516.
Heggeness, M., & Fields, J. (2020, August 18). Parents juggle work and childcare during
pandemic. The United States Census Bureau.
https://www.census.gov/library/stories/2020/08/parents-juggle-work-and-child-care-durin
g-pandemic.html
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 12
Hudson, H. (2020, March 31). Kids (and teachers) don’t need to spend 8 hours a day on
schoolwork right now. WeAreTeachers.
https://www.weareteachers.com/virtual-learning-schedule/
Kelly, H. (2020, September 4). Kids used to love screen time. Then schools made Zoom
mandatory all day long. Washington Post.
https://www.washingtonpost.com/technology/2020/09/04/screentime-school-distance/
Kim, S. (2021, February 27). Lab 1 - littleLEARNERS Product Description. Old Dominion
University.
https://drive.google.com/file/d/1GN693A8tOtm8sSmlcPVSwHPwoe7_Rs99/view?usp=s
haring
Maldonado-Carreño, C., & Votruba-Drzal, E. (2011). Teacher-child relationships and the
development of academic and behavioral skills during elementary school: a within-and
between-child analysis. Child Development, 82(2), 601-616.
http://www.jstor.org/stable/29782854
Mann, K. (2020, August 24). A day in the life of virtual learning with four kids | COVID
E-Learning. Indy with Kids. https://indywithkids.com/virtual-learning/
Map: where has COVID-19 closed schools? Where are they open? (2020, July 28). Education
Week. Retrieved November 1, 2020 from
https://www.edweek.org/ew/section/multimedia/map-covid-19-schools-open-closed.html
McElrath, K. (2020, August 26). Schooling during the COVID-19 pandemic. United States
Census Bureau.
https://www.census.gov/library/stories/2020/08/schooling-during-the-covid-19-pandemic.
html
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 13
Pianta, R., Belsky, J., Vandergrift, N., Houts, R., & Morrison, F. (2008). Classroom effects on
children's achievement trajectories in elementary school. American Educational Research
Journal, 45(2), 364-397. www.jstor.org/stable/30069451
Renaissance Learning. (2020). How kids are performing: tracking the impact of COVID-19 on
reading and mathematics achievement. https://renaissance.widen.net/s/wmjtlxkhbm
Team Orange. (2021, February 17). Lab 1 - littleLEARNERS Product Description. Old Dominion
University. Retrieved March 22, 2021 from https://www.cs.odu.edu/~411orang/
United States Census Bureau. (2020, November 23). Week 19 household pulse survey: November
11 – November 23 [Data file].
https://www.census.gov/data/tables/2020/demo/hhp/hhp19.html#techdoc
[THIS SPACE IS INTENTIONALLY LEFT BLANK]
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 14
1.5 Overview
This product specification provides the hardware and software configuration, interfaces,
and features of the littleLEARNERS prototype. The remaining sections provide a detailed
description of each feature and its requirements for implementation. The functional requirements
(Section 3) of the littleLEARNERS prototype are described in detail in a separate document.
2. General Description
The littleLEARNERS prototype provides the key features of the real-world product
including navigation, scheduling, monitoring, and help. The application will have two interfaces;
one for the parent which will include administrative privileges and one for the child which will
have navigation and help features. This section describes the architecture and necessary
components of the application.
2.1 Prototype Architecture Description
The prototype will be developed in a virtual machine environment at Old Dominion
University. Parents can enter their children’s schedule and navigation information into the
database. MySQL will be used for the database. Parents can record macros of navigation to
course materials with PyAutoGUI. Then the littleAssistant will fetch the schedule and auto
navigation information from the database and will present them to the students. On the child
interface, a real-time schedule, auto navigation, and reminder will be available. The “Raise
Hand” button will always be available for students to notify parents, and they can communicate
with each other with a text message. Parents can share information with other parents on the
parent board. When a student clicks the “Raise your hand” button, littleLEARNERS will
automatically create a post into the parent board so when a parent is busy and cannot answer a
student's help request, other authorized parents can help their student. To prepare simulated
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 15
schedule and navigation data, a mock classroom will be used. The major components of the
littleLEARNERS prototype are illustrated in Figure 1.
Figure 1
littleLEARNERS Prototype Major Functional Component Diagram
For the desktop application, both the backend and the frontend will be written in Python.
Tkinter, the standard Python interface to the GUI toolkit, will be utilized in the frontend. All
development will be done under the Docker environment to integrate code into a shared
repository. The website will be implemented with HTML5, CSS3, and JavaScript. For the video
chat, WebRTC API and OpenTok SDK are used. A simple third-party message board will be
used as parents’ communication tool.
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 16
2.2 Prototype Functional Description
The prototype demonstrates the key features of a real-world product, but some
capabilities will be reduced or eliminated. The key features will be scheduling, navigation,
monitoring, and help. Providing these key features will be significant because it will solve the
problem by facilitating navigation and parental oversight while simplifying schedule adherence -
and making complex courses easier to find and navigate. For a mock classroom, fake courses
will be available to test in Seesaw, a digital app-based platform that allows students, teachers,
and parents or guardians to complete and share classroom work. Table 1 shows the functional
differences between real-world product and prototype.
Table 1
littleLEARNERS RWP vs Prototype Table
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 17
The functional goal of the prototype is to demonstrate the key features including
automated navigation, input schedule, communication between parent and child, communication
between parents, and help requests. By demonstrating these key features, littleLEANERS can
make it easy for K-5 students to complete their learning without assistance.
Lab 2 - littleLEARNERS PRODUCT SPECIFICATION 18
2.3 External Interfaces
For external interfaces, the littleLEARNERS prototype uses a MySQL instance running
in a Docker container on the Old Dominion University virtual machine and Google Calendar
API.
2.3.1 Hardware Interfaces
Any desktop machine with Python installed is used to run the littleLEARNERS
application.
2.3.2 Software Interfaces
All user data is stored in a MySQL database instance running in a Docker container on
the Old Dominion University virtual machine. The Google Calendar API is used to import
students’ schedules from the existing Google Calendar.
2.3.3 User Interfaces
The littleLEARNERS prototype is accessed via a standard GUI interface on the user’s
machine.
2.3.4 Communications Protocols and Interfaces
To access all user data on Old Dominion University virtual machine, the user’s machine
must connect with the Old Dominion University internal network using a virtual private network
(VPN). Data transfer between the application and the database is achieved via Python’s MySQL
connector. Communication between littleLEARNERS and Google Calendar API is used with
HTTPS protocol.