9-12S.AP.19: Plan and develop programs for broad audiences using a specific software life cycle process.
Students learn and discuss the benefits of diversity in programming.
Improve apps to meet user needs.
9-12S.AP.20: Develop programs for multiple computing platforms.
9-12S.AP.21: Identify and fix security issues that might compromise computer programs.Â
Students consider how data is used in apps they write & how it needs to be protected.
Use vocabulary, (encryption key, encryption algorithm, & substitution cipher) while describing app features.
9-12S.AP.22: Develop and use a series of test cases to verify that a program performs according to its design specifications.
Count right & wrong answers using a list to keep track of which questions have already been answered.
Virtual tour with lessons, activities, gamification.
Reflect on specifications to design a testing plan, and then run the tests & fix any errors.
Students write multiple test cases (including expected answers for each) for each function.
Students write multiple test cases (including expected answers for each) for each function.
Students write multiple test cases (including expected answers for each) for each function.
Identify & correct errors in a program, explain the difference between syntax errors & semantic errors.
Conduct an empirical (experimental) investigation of basic search & sort algorithms.
9-12S.AP.23: Modify an existing program to add additional functionality and discuss intended and unintended implications.
Define procedures to simplify the drawing process.
Incorporate parameters into procedures to draw more complex shapes.
Lessons from code.org CS A.
Use loops with lists & standard algorithms to enhance an app.
Lessons from code.org CS A.
Walk through iterative design process for adding & refining elements in programs based on what will be changing within programs.
Students refine data sets by sorting, filtering, & defining functions over data.
Plan Create Task project (first informally & then formally), then program it.
9-12S.AP.24: Evaluate key qualities of a program through a process such as a code review.
Students explore apps without seeing the code to notice similarities and predict how they will work.
Identify strengths & weaknesses of sequential & binary search algorithms.
Identify strengths & weaknesses of bubble sort, merge sort, & bucket sort algorithms.
Identify strengths & weaknesses of sequential & binary search algorithms.
Identify & correct errors in a program.
Recognize difference between random & pseudorandom numbers, & implications of this difference on real world applications.
9-12S.AP.25: Use version control systems, integrated development environments (IDEs), and collaborative tools and practices (e.g., code documentation) while developing software within a group.
Use vocabulary, (list, index, string, concatenation, & API) while describing app features & UI components.
Manipulate lists in pseudocode using insert, append, & length procedures.
9-12S.AP.26: Compare multiple programming languages, and discuss how their features make them suitable for solving different types of problems.
Students learn about pros and cons of varied languages throughout history.
Students compare HTML vs CSS vs JavaScript.
Focuses on evolution of programming languages over the years.Â