PRG.1 |
The student will describe and use best practices of program development that make some common flaws less likely and explain how this improves computer security. |
|
PRG.2 |
The student will create programs that model the relationships among different elements in collections of real-world data. |
|
PRG.3 |
The student will translate numbers between machine representations and humanaccessible representations. |
|
PRG.4 |
The student will design and implement a program working individually and in teams using a text-based language. |
|
PRG.5 |
The student will explain the software life cycle and how it applies to iterative development processes. |
|
PRG.6 |
The student will design and implement an algorithm a) with compound conditional execution, and analyze and evaluate complex Boolean conditions; and b) using complex iteration, including nested loops. |
-
2.9 If Statements
-
2.10 For Loops in JavaScript
-
2.16 Functions and Parameters 1
-
8.5 Iterating Over an Array
-
8.14 Looping Over a Grid
-
8.15 Grid Example: Get a Row
|
PRG.7 |
The student will implement programs that accept input from a variety of sources and produce output based on that input. |
-
2.3 User Input
-
3.1 Guessing Game
|
PRG.8 |
The student will trace the execution of iterative and recursive algorithms, illustrating output and changes in values of named variables. |
-
2.10 For Loops in JavaScript
-
2.14 While Loops
|
PRG.9 |
The student will perform complex computations a) on numbers, including modular division and random number generation; and b) on strings, including substring manipulation and processing individual characters. |
-
2.2 Variables
-
2.4 Basic Math in JavaScript
|
PRG.10 |
The student will demonstrate an understanding of different data types by using appropriate constructs to convert between them when appropriate. |
-
2.2 Variables
-
2.3 User Input
|
PRG.11 |
The student will analyze a large-scale computational problem, identify generalizable patterns, and implement a solution. |
|
PRG.12 |
The student will implement an algorithm that uses existing functions and accesses existing libraries or APIs to satisfy its requirements. |
-
1.8 Super Karel
|
PRG.13 |
The student will write functions, both with and without parameters, and both with and without return values, that represent abstractions useful to the solution of a larger problem. |
-
2.16 Functions and Parameters 1
-
2.17 Functions and Parameters 2
-
2.18 Functions and Parameters 3
-
2.19 Functions and Return Values 1
-
2.20 Functions and Return Values 2
|
PRG.14 |
The student will create programs demonstrating an understanding of the interactions between classes in object-oriented design, and by implementing classes with instance data and methods to satisfy a design specification. |
|
PRG.15 |
The student will use code written by others by reading the documentation and incorporating it into their programs using proper citation of the reused code. |
|
PRG.16 |
The student will read and store data in 1D and 2D collections, and design and implement algorithms to process and manipulate those collections. |
-
8.1 Intro to Lists/Arrays
-
8.13 Intro to Grids
-
8.14 Looping Over a Grid
|
PRG.17 |
The student will adapt classic algorithms for use in a particular context and analyze them for effectiveness and efficiency. |
-
8.6 Finding an Element in a List
|
PRG.18 |
The student will develop and use a series of test cases to verify that a program performs according to its design specifications, including edge cases and all branches. |
|
PRG.19 |
The student will, through the process of code review, evaluate a program's correctness, readability, usability, and other factors. |
|
PRG.20 |
The student will use a systematic approach and debugging tools to independently debug a program. |
-
1.6 Top Down Design and Decomposition in Karel
|
PRG.21 |
The student will identify some of the practical, business, and ethical impacts of open source and free software and the widespread access they provide. |
|