As the demand for technology-based jobs continues to grow, the need for career and technical education (CTE) as well as science, technology, engineering, and mathematics (STEM) based curriculum continues to evolve in the classroom to prepare students for their careers. In addition to making improvements in classroom curriculum, K12 organizations have been seeking alternative methods to provide students with hands-on technical experience in technology by working on real-world projects that cultivate dynamic and immersion-based learning experiences. One such program is Parkway Spark!, run by Parkway Schools in western St. Louis County, Missouri.
Drew McAllister, who leads the Spark! Technology Solutions program, was challenged to provide a common development environment for students participating in the program given the current setup of a traditional computer lab with physical workstations. Through Spark!, students use their foundational CTE and STEM education to build solutions like websites, mobile applications, and custom software for businesses ranging from medical companies to local entrepreneurs. While students meet with business stakeholders during school, they often work outside of the physical lab workstation in order to move their projects forward. Drew and the students required a solution that would work on low-powered laptops and a process for distributing development tooling and dependencies across a project team. They wanted to focus on building projects instead of spending time setting up environments, fixing installation errors, and addressing incorrect configurations. The ability to build standardized images including all required software, so that applications could be streamed from anywhere, at any time from a web browser, made Amazon AppStream 2.0 an ideal solution.
AppStream 2.0 Development Environments
In collaboration with Sketch Development, a local AWS development partner working with Parkway Schools, we evaluated possible solutions that the Spark! students could utilize. We determined the ability to run command line interface (CLI) tools, integrated development environments (IDEs), and the ability to build software projects directly from Chromebooks without having to individually install applications would be the primary requirements. This made AppStream 2.0 a great fit as students would no longer need to spend valuable time setting up their development environments. In addition, they would have the freedom to work from anywhere, anytime, including meeting with local business leaders to craft and iterate on projects. Using Amazon Simple Storage Service (S3), students save in-progress project files in the AWS cloud, which allows access across sessions from separate devices, allowing students to commit the code to source control when it is ready to review. Ryan Jensen from Sketch Development immediately set out to build a proof of concept for the students and was able to get up and running within one working day.
Upon logging in, the students are presented with a selection of available tools. In the example below, students are presented an integrated development environment (IDE), which is a tool used to help developers build and run websites. Command line tools needed to build and run code in addition to committing the code to a source code repository, and a web browser to test their application (see Figure 1).
Figure 1 – AppStream 2.0 Catalog
After clicking VSCode, a web development IDE, the AppStream 2.0 session launches. Students will then open their code from a home folder hosted in Amazon S3, allowing the code to persist across AppStream 2.0 sessions. AppStream 2.0 also supports Google Drive and Microsoft OneDrive for persistent storage. This example shows a basic Node.JS application that runs a website server (see Figure 2).
Figure 2 – Launch VSCode in AppStream 2.0
From the AppStream 2.0 application menu, students launch a command prompt, navigate to the home directory, and execute a command to run the Node.JS server using command line interface (CLI) (see Figure 3).
Figure 3 – Running a command prompt in AppStream 2.0
Students open a web browser and navigate to the Node.JS server URL hosted locally in the AppStream 2.0 session to see and test their work (see Figure 4).
Figure 4 – Testing a website in Firefox
This example applies to creating and running a simple website. AppStream 2.0 can also be used for many other technology stacks and programming languages like Java using Eclipse or JetBrains IntelliJ Idea IDEs (see Figure 5), or Python using VSCode or JetBrains PyCharm (see Figure 6).
Figure 5 – Running Java programs in AppStream 2.0 using IntelliJ Idea
Figure 6 – Running Python programs in AppStream 2.0 using PyCharm
This example shows how to utilize AppStream 2.0 to provide software and application development tools in order to build applications for other purposes, and for other education initiatives like Project Lead the Way (PLTW). Drew from Parkway Schools was so impressed with this solution that he felt it could improve delivery of Parkway’s larger computer science curriculum. AppStream 2.0 provides the flexibility students need in modern learning environments to succeed in CTE and STEM curriculum, and adapt to the evolving demands of the technology workforce that awaits them. Innovative programs like Spark!, at forward thinking organizations like Parkway Schools, are paving the way for the future of student success and the demands for programs such as these require innovative solutions to deliver and execute. Whether influencing career development or delivering CTE or STEM curriculum, the ability to launch virtually any application, from anywhere, at any time makes AppStream 2.0 an ideal solution to enable students for successful learning outcomes and careers in technology.
|Drew Smith is a Sr. Solutions Architect at Amazon Web Services based out of Kansas City, Missouri. He currently works with Public Sector customers in the Midwest to help craft well-architected AWS solutions. He holds a master’s degree in computer science from The Georgia Institute of Technology where he currently serves as adjunct faculty teaching Cybersercuity in his spare time. Outside of work he enjoys playing guitar, traveling with family as much as possible, and rooting for the Kansas City Chiefs.|