Standards in this Framework
| Standard | Description |
|---|---|
| JSE.1.1 | Understand fundamental terms and definitions |
| JSE.1.1.a | Understand fundamental terms and definitions: interpreting and the interpreter |
| JSE.1.1.b | Understand fundamental terms and definitions: compilation and the compiler |
| JSE.1.1.c | Understand fundamental terms and definitions: client-side vs. server-side programming |
| JSE.1.2 | Set up the programming environment |
| JSE.1.2.a | Set up the programming environment: basic development tools |
| JSE.1.2.b | Set up the programming environment: online vs. local development environment (code editor, interpreter, debugger) |
| JSE.1.3 | Explain client-side execution of JavaScript code |
| JSE.1.3.a | Explain client-side execution of JavaScript code: HTML fundamentals |
| JSE.1.3.b | Explain client-side execution of JavaScript code: embedding JavaScript code |
| JSE.1.3.c | Explain client-side execution of JavaScript code: executing code directly in the console |
| JSE.2.1 | Use variables effectively |
| JSE.2.1.a | Use variables effectively: naming, declaring and initializing variables |
| JSE.2.1.b | Use variables effectively: changing values assigned to variables |
| JSE.2.1.c | Use variables effectively: constants |
| JSE.2.1.d | Use variables effectively: scope (blocks, shadowing, hoisting) |
| JSE.2.2 | Define, identify, and use primitive data types in code: boolean, number, bigint, undefined, null |
| JSE.2.2.a | Define, identify, and use primitive data types in code: boolean, number, bigint, undefined, null: the number range and its formats |
| JSE.2.2.b | Define, identify, and use primitive data types in code: boolean, number, bigint, undefined, null: the bigint range |
| JSE.2.2.c | Define, identify, and use primitive data types in code: boolean, number, bigint, undefined, null: boolean values |
| JSE.2.2.d | Define, identify, and use primitive data types in code: boolean, number, bigint, undefined, null: empty and unknown values (null or undefined) |
| JSE.2.3 | Define, identify, and use primitive data types in code: string |
| JSE.2.3.a | Define, identify, and use primitive data types in code: string: string literals - single and double quotes |
| JSE.2.3.b | Define, identify, and use primitive data types in code: string: the escape character |
| JSE.2.3.c | Define, identify, and use primitive data types in code: string: string interpolation |
| JSE.2.3.d | Define, identify, and use primitive data types in code: string: basic properties and methods: length, charAt, slice, split |
| JSE.2.4 | Perform type-casting operations |
| JSE.2.4.a | Perform type-casting operations: primitive construction functions: String, Number, Bigint, Boolean |
| JSE.2.4.b | Perform type-casting operations: primitive conversions; |
| JSE.2.4.c | Perform type-casting operations: implicit conversions |
| JSE.2.5 | Define, identify, and use complex data types in code: Object |
| JSE.2.5.a | Define, identify, and use complex data types in code: Object: object as a record |
| JSE.2.5.b | Define, identify, and use complex data types in code: Object: object literals |
| JSE.2.5.c | Define, identify, and use complex data types in code: Object: getting and setting properties |
| JSE.2.6 | Define, identify, and use complex data types in code: Array |
| JSE.2.6.a | Define, identify, and use complex data types in code: Array: array as an example of a complex data type |
| JSE.2.6.b | Define, identify, and use complex data types in code: Array: basic properties and methods of arrays: length, indexOf, push, unshift, pop, shift, reverse, slice, concat |
| JSE.3.1 | Recognize and proficiently utilize assignment, arithmetic, and string operators |
| JSE.3.1.a | Recognize and proficiently utilize assignment, arithmetic, and string operators: definition of operators |
| JSE.3.1.b | Recognize and proficiently utilize assignment, arithmetic, and string operators: assignment operators |
| JSE.3.1.c | Recognize and proficiently utilize assignment, arithmetic, and string operators: arithmetic operators |
| JSE.3.1.d | Recognize and proficiently utilize assignment, arithmetic, and string operators: compound assignment operators |
| JSE.3.2 | Identify and proficiently use logical and comparison operators |
| JSE.3.2.a | Identify and proficiently use logical and comparison operators: logical operators |
| JSE.3.2.b | Identify and proficiently use logical and comparison operators: compound assignment operators |
| JSE.3.2.c | Identify and proficiently use logical and comparison operators: comparison operators |
| JSE.3.3 | Recognize and effectively use the ternary and other JavaScript operators |
| JSE.3.3.a | Recognize and effectively use the ternary and other JavaScript operators: ternary (conditional) operator |
| JSE.3.3.b | Recognize and effectively use the ternary and other JavaScript operators: other operators: typeof, instanceof, and delete |
| JSE.3.4 | Understand and implement operator precedence |
| JSE.3.4.a | Understand and implement operator precedence: precedence and associativity of basic operators |
| JSE.3.4.b | Understand and implement operator precedence: using brackets to force a specific order of operations (grouping) |
| JSE.3.5 | Implement the mechanism for interacting with the user |
| JSE.3.5.a | Implement the mechanism for interacting with the user: dialog boxes: alert, confirm, prompt |
| JSE.3.5.b | Implement the mechanism for interacting with the user: actions based on user decisions |
| JSE.4.1 | Implement the decision-making mechanism and organize the control flow with the if instruction |
| JSE.4.1.a | Implement the decision-making mechanism and organize the control flow with the if instruction: conditional statements: if, if-else |
| JSE.4.1.b | Implement the decision-making mechanism and organize the control flow with the if instruction: multiple conditional statements |
| JSE.4.1.c | Implement the decision-making mechanism and organize the control flow with the if instruction: nesting conditional statements |
| JSE.4.2 | Implement the decision-making mechanism and organize the control flow with the switch instruction |
| JSE.4.2.a | Implement the decision-making mechanism and organize the control flow with the switch instruction: conditional statement: switch-case |
| JSE.4.3 | Implement the decision-making mechanism and organize the control flow with the do-while and while loops, and the break and continue instructions |
| JSE.4.3.a | Implement the decision-making mechanism and organize the control flow with the do-while and while loops, and the break and continue instructions: repeating a code fragment in a loop |
| JSE.4.3.b | Implement the decision-making mechanism and organize the control flow with the do-while and while loops, and the break and continue instructions: iterations |
| JSE.4.3.c | Implement the decision-making mechanism and organize the control flow with the do-while and while loops, and the break and continue instructions: conditions that (don't) depend on the number of iterations |
| JSE.4.3.d | Implement the decision-making mechanism and organize the control flow with the do-while and while loops, and the break and continue instructions: basic statements related to loops: while, do... while, break, case |
| JSE.4.4 | Implement the decision-making mechanism and organize the control flow with the for statement |
| JSE.4.4.a | Implement the decision-making mechanism and organize the control flow with the for statement: repeating a code fragment using the for statement |
| JSE.4.5 | Implement the decision-making mechanism and organize the control flow with the for-in statement |
| JSE.4.5.a | Implement the decision-making mechanism and organize the control flow with the for-in statement: using the for... in statement for enumerating object keys |
| JSE.4.6 | Implement the decision-making mechanism and organize the control flow with the for-of statement |
| JSE.4.6.a | Implement the decision-making mechanism and organize the control flow with the for-of statement: using the for... of statement for traversing arrays |
| JSE.5.1 | Organize and decompose the code using functions |
| JSE.5.1.a | Organize and decompose the code using functions: declaring, calling, and passing arguments |
| JSE.5.1.b | Organize and decompose the code using functions: returning function results |
| JSE.5.2 | Organize and implement interactions between the function and its environment |
| JSE.5.2.a | Organize and implement interactions between the function and its environment: parameters |
| JSE.5.2.b | Organize and implement interactions between the function and its environment: local variables |
| JSE.5.2.c | Organize and implement interactions between the function and its environment: shadowing |
| JSE.5.3 | Apply function expressions and functions as first-class members in code |
| JSE.5.3.a | Apply function expressions and functions as first-class members in code: storing a function in a variable |
| JSE.5.3.b | Apply function expressions and functions as first-class members in code: passing a function as a parameter |
| JSE.5.3.c | Apply function expressions and functions as first-class members in code: named and anonymous function expressions |
| JSE.5.4 | Understand and implement the concept of recursion |
| JSE.5.4.a | Understand and implement the concept of recursion: using recursion to solve simple computational problems |
| JSE.5.5 | Explain and implement callback functions |
| JSE.5.5.a | Explain and implement callback functions: synchronous callbacks |
| JSE.5.5.b | Explain and implement callback functions: asynchronous callbacks |
| JSE.5.5.c | Explain and implement callback functions: setTimeout, setInterval |
| JSE.5.6 | Explain and implement arrow functions |
| JSE.5.6.a | Explain and implement arrow functions: notation of function expressions in the arrow form |
| JSE.5.6.b | Explain and implement arrow functions: passing arguments |
| JSE.5.6.c | Explain and implement arrow functions: shortened form for a function body with one statement |
| JSE.6.1 | Classify and distinguish between different programming errors |
| JSE.6.1.a | Classify and distinguish between different programming errors: error classification: syntax, semantics, and logical errors |
| JSE.6.1.b | Classify and distinguish between different programming errors: runtime errors |
| JSE.6.2 | Compare and contrast different JavaScript errors and exceptions |
| JSE.6.2.a | Compare and contrast different JavaScript errors and exceptions: basic types of JavaScript errors: Syntax Error, ReferenceError, TypeError, RangeError |
| JSE.6.3 | Understand, examine, and design an exception-handling mechanism in JavaScript |
| JSE.6.3.a | Understand, examine, and design an exception-handling mechanism in JavaScript: handling: try ... catch ... finally |
| JSE.6.3.b | Understand, examine, and design an exception-handling mechanism in JavaScript: throwing custom exceptions: throw |
| JSE.6.4 | Use different debugging and troubleshooting techniques |
| JSE.6.4.a | Use different debugging and troubleshooting techniques: step-by-step execution |
| JSE.6.4.b | Use different debugging and troubleshooting techniques: viewing and modifying variables |
| JSE.6.4.c | Use different debugging and troubleshooting techniques: measuring code execution time |