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. |
-
2.4 For Loops
-
2.6 Comments
-
2.7 Naming Guidelines
-
2.8 Functions
-
2.10 Top Down Design
-
2.11 Variables
-
3.6 Comments
-
4.5 Floating Point Numbers and Rounding
|
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. |
-
2.19 Putting Together Control Structures
-
10.1 Project: Guess the Word
-
13.1 Advanced Challenges with Tracy
|
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.19 Putting Together Control Structures
-
4.3 Comparison Operators
-
4.4 Logical Operators
-
5.4 Nested Control Structures
-
13.1 Advanced Challenges with Tracy
-
15.2 De Morgan's Laws
|
PRG.7 |
The student will implement programs that accept input from a variety of sources and produce output based on that input. |
-
2.12 User Input
-
2.13 Parameters
-
2.19 Putting Together Control Structures
-
3.3 User Input
-
4.2 If Statements
-
6.2 Functions and Parameters
|
PRG.8 |
The student will trace the execution of iterative and recursive algorithms, illustrating output and changes in values of named variables. |
-
2.11 Variables
-
2.14 Using i in For Loops
-
2.18 While Loops
-
2.19 Putting Together Control Structures
-
5.2 For 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.16 If Statements
-
3.4 Mathematical Operators
-
3.5 String Operators
-
7.1 Indexing
-
7.2 Slicing
-
7.3 Immutability
-
7.4 Strings and For Loops
-
7.5 The in Keyword
-
7.6 String Methods
|
PRG.10 |
The student will demonstrate an understanding of different data types by using appropriate constructs to convert between them when appropriate. |
-
3.2 Variables and Types
-
3.3 User Input
|
PRG.11 |
The student will analyze a large-scale computational problem, identify generalizable patterns, and implement a solution. |
-
2.10 Top Down Design
-
2.19 Putting Together Control Structures
-
10.1 Project: Guess the Word
-
13.1 Advanced Challenges with Tracy
|
PRG.12 |
The student will implement an algorithm that uses existing functions and accesses existing libraries or APIs to satisfy its requirements. |
|
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.8 Functions
-
2.13 Parameters
-
6.1 Functions
-
6.2 Functions and Parameters
-
6.4 Functions and Return Values
|
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. |
-
12.1 Classes and Objects
-
12.2 Methods
-
12.3 Built-In Methods
-
12.4 Operator Overloading
-
12.5 Class Variables vs. Instance Variables
-
12.6 Inheritance
-
12.7 Hidden Attributes
-
12.9 Modules
|
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 Tuples
-
8.2 Lists
-
9.1 2d Lists
-
9.4 Dictionaries
|
PRG.17 |
The student will adapt classic algorithms for use in a particular context and analyze them for effectiveness and efficiency. |
|
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. |
-
2.12 User Input
-
2.13 Parameters
-
2.16 If Statements
-
2.17 If/ Else Statements
-
2.18 While Loops
-
2.19 Putting Together Control Structures
-
4.2 If Statements
-
5.1 While Loops
-
5.3 Break and Continue
|
PRG.19 |
The student will, through the process of code review, evaluate a program's correctness, readability, usability, and other factors. |
-
13.1 Advanced Challenges with Tracy
|
PRG.20 |
The student will use a systematic approach and debugging tools to independently debug a program. |
-
2.10 Top Down Design
-
2.19 Putting Together Control Structures
|
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. |
|