Standards

As described on the grading page, your grade will be based entirely on demonstrating that you have mastered the material or habits described in the standards on this page.

Weekly reflection

4 Consistently writes thoughtful reflections about the topics and activities of the week. Ofter connects what was covered in the week to other ideas from the course or from outside of class and asks, and even starts to answer, questions raised by the week’s material. Always meets and often exceeds the minimum length requirements without resorting to bloated prose.
3 Consistently writes thoughtfully and clearly and demonstrates a solid understanding of the concepts taught that week. Consistently meets the minimum length requirements.
2 Provides only an elementary summary of topics from the week and frequently does not meet the minimum length requirement.
1 Rarely engages with the topics from the week and usually falls well below the minimum length requiremet.
0 Not enough information.

Numeric expressions

4 Can accurately read and write expressions using numbers, variables and the six operators, +, -, *, /, %, and ** to express basic mathematical relationships. Uses parenthesis appropriately to deal with order of operations.
3 Can usually read and write expressions using numbers, variables, and and the six operators, +, -, *, /, %, and ** to express basic mathematical relationships. Uses parenthesis appropriately to deal with order of operations.
2 Can usually read and write expressions using numbers, variables, and some but not all of the six operators, +, -, *, /, %, and ** to express basic mathematical relationships. May make mistakes due to order of operations.
1 Still struggles to write write expressions using numbers and variables that express basic mathematical relationships.
0 Not enough information.

Boolean expressions

4 Can accurately read and write expressions using the boolean values true and false, variables and the three operators, &&, ||, and ! to express basic logical relationships.
3 Can usually read and write expressions using the boolean values true and false, variables and the three operators, &&, ||, and ! to express basic logical relationships.
2 Can correctly read and write simple expressions involving single operators such as a && b but can’t combine expressions into more complex expressions.
1 Can’t consistently produce correct boolean expressions or explain the meaning of existing expressions.
0 Not enough information.

Writing basic functions

4 Can consistently write correct and clear functions that compute a value or achieve a desired effect based on a natural language description. Always chooses good names for functions, arguments, and other variables. Introduces variables to make code easier to read. Uses shorthand function syntax when appropriate.
3 Can consistently write correct and clear functions that compute a value or achieve a desired effect based on a natural language description. Usually chooses good names for functions, arguments, and other variables. Introduces variables to make code easier to read.
2 Can write functions that compute a value or achieve a desired effect based on a natural language description but they are not always correct or are hard to understand due to bad naming choices or confusing code.
1 Struggles to write syntactically correct functions that compute a value or achieve a desired effect based on a natural language description.
0 Not enough information.

Basic string expressions

4 Can accurately read and write expressions using literal string values, variables and the two operators + and [] as well as the methods, slice in its one- and two-argument forms, indexOF, toUpperCase, and toLowerCase to express string manipulations as complex as capitalizing a word or converting a word to Pig Latin.
3 Can usually read and write expressions using literal string values, variables and the two operators + and [] as well as the methods, slice in its one- and two-argument forms, , indexOF, toUpperCase, and toLowerCase to express string manipulations as complex as capitalizing a word or converting a word to Pig Latin.
2 Can read and write some string expressions but cannot consistently combine operators and methods to produce more complex string expressions.
1 Can’t consistently produce correct string expressions or explain the meaning of existing expressions.
0 Not enough information.

Basic control constructs

4 Can use if statements and while and for loops correctly. Consistently uses else and else if clauses when appropriate to simplify code. Can write correct finite and infinite loops as well as nested loops. Can trace the execution of code using these control constructs and describe when the different parts of the code will be executed.
3 Can use if statements and while and for loops correctly. Usually uses else and else if clauses when appropriate to simplify code. Can write correct finite and infinite loops. Can trace the execution of code using these control constructs and describe when the different parts of the code will be executed.
2 Can make basic use if statements and while and for loops. Has difficulty tracing execution of code using these control constructs and describing when different parts of the code will be executed.
1 Struggles to write if, while, and for constructs in correct syntax. Has difficulty tracing execution of code using these control constructs and describing when different parts of the code will be executed.
0 Not enough information.

Array basics

4 Can consistently understand and produce code that loops through arrays with length and uses [] to access elements and use them in computations. Understands the difference between modifying an array and reassigning a variable. Can use push, pop, and slice methods appropriately. Can represent two-dimensional data with nested arrays and can understand and produce code to access and modify nested arrays.
3 Can usually understand and produce code that loops through arrays with length and uses [] to access elements and use them in computations. Understands the difference between modifying an array and reassigning a variable. Can use push, pop, and slice methods appropriately.
2 Can understand simple loops over arrays and how to use the [] operator but has trouble producing code to loop through arrays and access elements. Not yet fully clear on the difference between modifying an array and reassigning a variable.
1 Struggles to understand code accessing and manipulating arrays.
0 Not enough information.