Samsung Mobile
App AcAdemy
• clASSrooM leSSon plAnS
• TexAS eSSenTiAl KnoWledGe
And SKillS (TeKS)
Guide to Teaching Coding
To download all classroom materials, go to the Samsung Mobile App Academy website at
www.scholastic.com/samsungacademy/teachers
.
for additional resources, the “learn to code” tab can be accessed at
Samsung Mobile
App AcAdemy
Guide to Teaching Coding
Classroom Lesson Plans and Texas Essential Knowledge and Skills (TEKS)
Grades 9–12
Contents
Welcome educators ...3
education Standards ...4
integrating the creative Side: preparing for lessons ...6
Technology Required ...6
MIT App Inventor ...
6
Computers ...
6
Android Mobile Devices (optional) ...
6
MIT App Inventor Companion...
6
LCD Projector (optional) ...
6
Resource Materials ...7
Guide to Teaching Coding
Classroom Presentation ...
7
MIT App Inventor Overview ...
7
Project Tutorials ...
7
Graphic Assets ...
7
Scheduling...7
lesson plan 1—becoming developers ...8
Lesson 1-1—What Is Coding? How Do You Code? ...8
Lesson 1-2—“Meet” the Client ...8
lesson plan 2—developing an App ...9
Lesson 2-1—Code ...9
Lesson 2-2—Deploy the App ...9
App development—Additional resources and inspiration ...10
Guide to Teaching Coding
Classroom Lesson Plans and Texas Essential Knowledge and Skills (TEKS)
Grades 9–12
Samsung Mobile
App AcAdemy
WelcoMe To The
World of Mobile AppS!
The Samsung Mobile App Academy Guide to
Teaching Coding
offers technology-infused lessons
with flexible scheduling and easy integration into
classrooms and extracurricular activities. This Guide,
along with the resources on the Samsung Mobile
App Academy website, provides teachers with the
tools required to teach mobile app coding to grades
9–12 students of all coding levels—from little or no
experience to those students who are well versed in
app development.
Coding allows students to practice invaluable critical-thinking and teamwork skills by
jointly making decisions with peers, and planning the steps necessary to achieve their
goals. Because they use science, technology, engineering, and mathematics (STEM) standards, these
lessons give students the foundation to help them cultivate necessary 21st-century skills!
This Guide concentrates on the coding aspects of developing an app and requires technology and technical
knowledge. To learn more about how to teach students to use their creativity to refine an app concept that
does not require technology to complete, please see the Guide to Teaching Mobile App Concepting, also
available on the Samsung Mobile App Academy website.
Use the Samsung Mobile App Academy classroom materials to ignite students’ interest and make your
classroom a part of the mobile revolution!
To download all classroom materials, go to the “Teachers” tab on the Mobile App Academy
website at
www.scholastic.com/samsungacademy/teachers
. for more information about the
Samsung Mobile App Academies, go to
www.scholastic.com/samsungacademy
.
Education Standards
The following charts correlate Samsung Mobile App Academy student activities with the knowledge, skills, and
practices required in performance expectations of education standards in science, technology, engineering, and math
(STEM) disciplines.
TexAS eSSenTiAl KnoWledGe And SKillS (TeKS)
cAreer And TechnicAl educATion (cTe) STAndArdS
Strand ID TEKS Standard What Students Do
Principles of Information Technology
130.272.(c) Knowledge and skills.
(1)(F)…function effectively as a team member; (2)(A) identify job opportunities and
accompanying job duties and tasks; (3)(A) identify and describe functions of various new and emerging technologies; (4)(E) demonstrate proficiency in the use of a variety of input devices…
(5)(I) identify new and emerging classes of software;
(10) [apply] presentation management technology.
(11)(B) identify the terminology associated with interactive media.
Experience various roles as a member of a mobile app development team.
Discuss pair programming, iterative development cycles, and other facets of the mobile app development industry. Learn about the function of programming languages and Software Development Kits (SDK). Discuss how SDKs are useful and valuable.
Use computer and mobile hardware. Use mobile apps and near-field exchange.
Present version 1.0 of an app and make available for testing by classmates.
Review and describe an app in developer terms such as proof of concept, minimum viable product (MVP), and UI/UX (user interface or user experience).
Computer
Maintenance 130.273.(c) Knowledge and skills.(10)(A) evaluate application software packages and test the functionality of a proposed software configuration; (10)(E) perform software customization as requested.
Develop, evaluate, test, and revise version 1.0 of a mobile app. Develop a mobile app customized to meet the client
specifications.
Telecommunications
and Networking 130.274.(c) Knowledge and skills.(3)(D) interpret technical documentation such as schematics, drawings, charts, diagrams…
Read, discuss, and analyze a variety of technical documents that depict wireframes and convey functional specifications. Computer
Programming 130.276.(c) Knowledge and skills.(1)(E) solve problems and think critically; (1)(I) demonstrate planning and time management skills such as project management…
(5)…develops an information technology-based project plan…
(8) The student performs quality assurance tasks.
Use problem-solving skills and critical-thinking skills to break down the app concept into specific functions that the app will perform and create the code necessary for the app to perform each of these functions. Troubleshoot malfunctions that occur during testing of app to decide how to adjust the code accordingly.
Discuss and reassess coding project goals and related tasks with partner throughout coding process.
Advanced Computer
Programming 130.277.(c) Knowledge and skills. (6) The student demonstrates knowledge of the software development process.
Follow complex instructions to learn to use App Inventor to code a mobile application based on client specifications. Test, evaluate, modify, and reflect on the app they have created. Research in
Information Technology Solutions
130.280.(c) Knowledge and skills.
(3)…applies communication, mathematics, English, and science knowledge and skills to research and develop projects.
(6)...designs, creates, and implements a product or service that addresses a problem in the field of information technology and incorporates the solution.
Gain, evaluate, and present complex information, ideas, and evidence, specifically through speaking and listening in both small-group and whole-class settings under the guidance of an industry mentor.
Use MIT App Inventor to code a mobile application that addresses a problem identified by an imaginary client.
Texas Administrative Code (TAC), Title 19, Part II, Chapter 130. Texas Essential Knowledge and Skills for Career and Technical Education Subchapter K. 130.272. and 280 Information Technology
Subchapter K. 130.273 and 277 Computer Programming Subchapter K. 130.274 and Telecommunications and Networking
nexT GenerATion Science STAndArdS (nGSS)
Science &
Engineering NGSS What Students Do
Engineering
Design HS-ETS1-2. Design a solution to a complex real-world problem by breaking it down into smaller, more manageable problems that can be solved through engineering.
Create a solution in the form of a mobile app designed to address a community problem that an imaginary client has identified. Break down the app concept into specific functions that the app will perform and create the code necessary for the app to perform each of these functions.
Source: NGSS Lead States. 2013. Engineering and Design HS-ETS1-2. Next Generation Science Standards: For States, By States. Washington, D.C.: The National Academies Press.
For teachers interested in lessons aimed at conceptualizing what goes into creating a mobile app, the Guide to
Teaching Mobile App Concepting
(also available for download on the “Teachers” tab of the Samsung Mobile App
Academy website) is a perfect companion to these coding lessons. Focusing on the practical and critical-thinking
process that developers use when conceptualizing and creating mobile apps that don’t require technology to
complete, the Guide to Teaching Mobile App Concepting fits well after Lesson 1 in the Guide to Teaching Coding.
However, neither guide is dependent on the other so the lessons in each can be used independent of each other.
The curriculum in the Guide to Teaching Coding also works well as a stand-alone unit, providing students with an
opportunity to work closely with technology, and to learn skills to build an app.
Technology required
The lessons in the Guide to Teaching Coding rely on the use of technology. The Guide provides teachers with the
necessary resources, plus tips for use with students of all coding levels—from beginner to advanced. It is very
important to carefully prepare for these lessons, paying particular attention to the following:
MiT App inventor
MIT App Inventor was created as an open-source
project by Google, with MIT eventually taking the
helm. Students will use the App Inventor program
to do block-style coding to build an early version
app. It is essential that teachers are familiar with this
program prior to beginning Lesson 2 of this unit. An
“App Inventor Overview” button to MIT App Inventor
is available on the “Teachers” tab of the Samsung
Mobile App Academy website at
www.scholastic
.com/samsungacademy/teachers
.
computers
One computer with Internet access should be available
for every student team during Lesson 2. For the purpose
of downloading the Project Tutorials and viewing the
Guide to Teaching Coding
Classroom Presentation,
computers might also be useful for Lesson 1. Project
Tutorials can be printed ahead of time, however, if
computers are not available for Lesson 1.
Android Mobile devices (optional)
If available, students can use additional Android
mobile devices to try out and test their app and other
teams’ apps. If resources are not available, students
can use their computers to test.
MiT App inventor companion
Students will use MIT App Inventor Companion to try
out and test their app and other teams’ apps. (See
“Resources Note” below.)
lcd projector (optional)
If available, the teacher can project the Guide to
Teaching Coding
Classroom Presentation during
student-facing discussions. A projector can also be
used for the teams to project their apps during their
presentations. If a projector is not available, teams
can view the Guide to Teaching Coding Classroom
Presentation and student apps on their computers or
Android mobile devices.
resources Note
For additional assistance in learning to use MIT App Inventor, select the “Getting Started” and “Tutorials” buttons on the MIT App Inventor site athttp://appinventor.mit.edu/explore/.
Integrating the Creative Side:
Preparing for Lessons
resource Materials
All the resources necessary to feel confident teaching students how to code are available on the “Teachers” tab of the
Samsung Mobile App Academy website at
www.scholastic.com/samsungacademy/teachers
. In particular, the
website offers the following:
Guide to Teaching Coding classroom presentation
The student-facing Classroom Presentation, with
slides that correlate to the specified sections in the
Guide to Teaching Coding
teacher guide, is a useful
visual for both teachers and students.
MiT App inventor overview
Also available on the “Teachers” tab on the website is
the MIT App Inventor Overview, a detailed, illustrated
tutorial demonstrating how to use MIT App Inventor
and MIT App Inventor Companion. Students will use
these programs to code and test their apps. It is
essential for teachers to review this Overview and feel
comfortable using MIT App Inventor and Companion
prior to beginning these lessons with students.
project Tutorials
The Project Tutorials, available by selecting the
“Student Tutorial Materials” button on the website
within the “Teachers” tab, will provide students with
step-by-step directions for coding each function of an
app concept.
Graphic Assets
If a team has finished its Project Tutorial or if you want
to extend, alert teams to the option of using graphics
to style the app buttons and background. Students
can access graphics by selecting the “Student
Tutorial Materials” button on the “Teachers” tab on
the website.
To download all classroom materials, go to the “Teachers” tab on the Samsung Mobile App Academy
website at
www.scholastic.com/samsungacademy/teachers
.
Scheduling
The Samsung Mobile App Coding lessons may be adapted to fit various schedules, such as seven to eight 45-minute
class periods, three to four 90-minute block periods, or one six-hour day.
Possible formats for using Samsung Mobile App curriculum materials include:
•
a module within a course in any STeM discipline
•
a weekly club or after-school activity
•
an intensive special-event weekend or summer academy experience
Teaching Tip
If in-classroom technology time is limited, students might be instructed to use computers in the school library after school or to continue to work at home if they have a computer.
Integrating the Creative Side:
Preparing for Lessons
(Continued)
lesson objective:Students will be able to articulate the value and function of Software Development Kits (SDKs) in building an app. Students will also be able to ascertain goals for app-building based on clients’ needs and specifications.
Materials: computers with Internet access, Guide to Teaching Coding Classroom Presentation (Slides 1–14), and Project Tutorials (download these materials at www.scholastic.com/samsungacademy /teachers)
Total estimated Time:35–45 minutes (lessons can be adapted to various formats and schedules)
leSSon 1-1—WhAT iS codinG? hoW do you code? (SlideS 3–9) This lesson aims to provide students with background on app development so they can understand the relationship between Mobile Applications and the Mobile Devices on which they operate. (See Key Terms section in this Guide.) This will give students the foundation they need to learn how to code in Lesson 2.
discussion Topic: building Mobile Apps (Slide 5)
Explain how software developers build applications using Software Development Kits (SDKs), and a programming language such as Java. Address reasons to use SDKs: Guide students in recognizing that SDKs are frameworks that help programmers build device-specific software, provide standardization, and, consequently, offer app developers community, support, and monetization. For example, Google Play provides benefits such as in-app purchasing so that Android app developers don’t need to create a credit card–processing system.
discussion Topic: What are the functions of SdK Toolkits? (Slides 6–7)
Toolkits bridge software and hardware, and provide basic infrastructure essential to applications. For example, Toolkits allow software developers to build applications that harness camera, voice, motion, and gesture recognition technology. Lead students to understand how SDKs enable developers to build apps that perform specific functions. (Slide 6)
• What are some examples of apps that
have used Toolkit integrations? Ask students to identify the Toolkits used by Instagram (camera), Star Chart (GPS and accelerometer), Snapchat (camera), and RunKeeper (GPS). (Slide 8)
• Provide definitions of building software
terms: iterative development cycles, pair programming, proof of concept, minimum viable product (MVP). (See Key Terms section in this Guide.) (Slide 9)
leSSon 1-2— “MeeT” The clienT (SlideS 10–14)
During this lesson, students will use the Project Tutorials to learn about an app concept that a client would like a developer to build. (Available via the “Student Tutorial Materials” button on the “Teachers” tab of the Samsung Mobile App Academy website at www.scholastic.com/
samsungacademy/teachers.) Five Project Tutorials are available for team selection: Flashcards, Postcards, PumpIt Fitness, Restaurant Messenger, and WearIt. Each student team will read and analyze its Project Tutorial with the intent of identifying SDKs necessary to build the app, long- and short-term project goals, and any unknowns. In the next lesson, students will then follow the Project Tutorials to learn how to code the app functions requested by the client, and ultimately build an early version of an app.
• Separate students into teams of two. (If needed, the teams can also be comprised of three students with two students serving as Navigators.)
• Introduce each team to the two roles in programming: the Navigator and the
Programmer. Explain that the Navigator guides and directs the programming, while the Programmer acts as a driver and directly codes the app. (Slide 13)
• To allow students an opportunity to experience both roles, have each team member alternate roles every 30 to 45 minutes throughout the process.
• Next, if two computers are available for each team (or one computer and one Android mobile device), have each team go to the “Student Tutorial Materials” button on the “Teachers” tab of the website. Assign each team to one of the five available Project Tutorials, and then download the Tutorial to the second computer or the device. Multiple teams can be assigned to a Project Tutorial.
Team Activity: understanding the client’s needs
• Each team should review and discuss the Project Tutorial, which describes the client’s app requirements. (Slides 11–12)
• To help teams plan strategies, upon completion of the review, have each team complete a five-minute report to the class about its project. (Slide 14)
discussion Topic: What is the project goal?
Are there any unknowns you will need to work through? For example, what might the client have missed in describing the app concept? What are your goals as you begin the first steps of building this app? (Slide 14)
resources Note
For more information about the SDK Toolkits referenced in this Lesson, see the “Learn to Code” tab on the Samsung Mobile App Academy website, located at www.scholastic .com/samsungacademy/
learntocode.
resources Note
If only one computer is available per team, have each team print out its tutorial and materials.
lesson objective:Students will be able to use MIT App Inventor to create coding for an app that satisfies a client’s needs and performs specific, designated functions.
Materials: Computers (at least one per team), Internet, access to MIT App Inventor program (http://appinventor.mit.edu/ explore/), Android mobile devices (optional), LCD Projector (optional), Guide to Teaching Coding Classroom Presentation (Slides 15–24), Project Tutorials, App Inventor Overview, and Graphic Assets (available on “Teachers” tab on the Samsung Mobile App Academy website at www.scholastic.com/ samsungacademy/teachers)
Total estimated Time:Five hours or six to seven 45-minute class periods (lessons can be adapted to various formats and schedules)
leSSon 2-1—code (SlideS 16–20)
• Indicate to teams that they will be learning how to do block-style coding using the MIT App Inventor program. Explain that block-style coding, as opposed to coding a specific programming syntax, is often useful because it is less time-consuming and allows programmers to focus on the logic of the app’s functions.
• Introduction to MIT App Inventor: Direct teams to download the MIT App Inventor Overview. As a class, go through the Overview and model how to use MIT App Inventor. Determine the amount of time to spend on this demonstration based on students’ familiarity with technology and previous coding experience. (Slide 17)
• Explain to teams that they will use the MIT App Inventor Companion (introduced in the App Inventor Overview above) to install and test the app. (Pages 24–26 of the Overview)
• Teams then launch MIT App Inventor. (Slide 18)
Team Activity: coding
Direct teams to use the MIT App Inventor to develop an app that meets the client specifications outlined in the Project Tutorial. Teams should estimate that they will work on this section for approximately four hours, or four to five 45-minute class periods, switching roles throughout as described earlier. Inform teams they will eventually be presenting their apps to the
their apps shortly. It is not a requirement that the teams finish their applications, but it is important that they have a stable, tested build of their applications. Suggest that teams work to the nearest tutorial checkpoint.
• If a team has finished its Tutorial, or you choose to add, alert the members to the option of adding graphics to style the app buttons and background. (Graphics are available from the Project Tutorial Materials button at www.scholastic.com/ samsungacademy/teachers.)
discussion Topic and formative Assessment: Midway point check-in
As teams approach the midway point in the coding process, ask them to participate in a “Stand-up,” during which each team will check in with the whole class to discuss accomplishments, challenges, and new goals. (Slide 20)
leSSon 2-2—deploy The App (SlideS 21–24)
• Provide teams with 10 minutes to prepare a brief presentation on the app they developed. Ask teams to address the following questions: What were the greatest challenges you encountered? What were your greatest successes? Is there a feature that you think is missing from the app? How might you add extra value to the app? Remind teams that at the end of their presentations, their classmates or other teams will have an opportunity to try out their apps.
Team Activity and Summative Assessment: App and presentation
Have teams present their app to the class by answering the aforementioned presentation questions, discussing their development process, and reflecting on what they learned from it. Encourage all students to participate in their presentations. Criteria for evaluating a presentation and app might include how well the team communicates and meets its goals for the app, and the specifications set forth in the Project Tutorial. (Slide 22)
Team Activity: Testing
Permit students to install and beta test other teams’ projects. (See Key Terms section at end of this Guide.) Follow up by asking students to reflect on the strengths of the other teams’ apps. To what extent were the apps user-friendly? How will the app benefit its users? What additional tools might the developers consider incorporating into the app to make it more efficient or more effective? Encourage each student to provide feedback and ask questions. (Slide 23)
resources Note
To access App Inventor, choose the yellow “Build With App Inventor” button on the “Teachers” tab of the Samsung Mobile App Academy website at www.scholastic.com/ samsungacademy/teachers.
Teaching Tip:
ModificATionS for A condenSed Schedule
Students with access to computers outside the classroom can complete coding for homework, but should be encouraged to work side-by-side with their teammate, to mimic the professional pair programming setup. If the school library provides computers and has after-school hours, students can meet there. If class time is limited, the midway point check-in can take the form of “exit notes”—brief remarks that students write as the class period ends. Alternatively, students can write a short update for homework. The teacher can then briefly sum up and share meaningful feedback with the whole class.
resources Note
Graphics are available for downloading on the “Teachers” tab of the Samsung Mobile