Due: Monday 11/04 10:00am

All the instructions for this assignment can be found in README.md after you click the link above to make a new repository.

Reminder: Test next Friday, 11/08

Skills Assessed

Skill Minimal Competency Developing Competency Competency Mastery
2. Using Functions Can explain the concept of a function. Uses a single function to produce a desired outcome. Combines multiple functions to produce a desired outcome. Appropriately uses functions that return and do not return values, combining them to produce a desired outcome.
3. Writing functions/procedures. Can write the contract for a function. Can write simple functions given a contract. Can write complex functions given a contract and can write contracts for functions given a specified task. Can write contracts for complex functions, implement those functions and create effective test cases for them.
4. Understanding Algorithms Can follow an algorithm to produce a desired outcome. Can break down a simple problem into basic steps that will result in a desired outcome. Can break down a problem into basic steps and implement those steps in code. Can analyze the differences between 2 or more algorithms that produce the same desired outcome.
5. Working with Boolean Values Understands the purpose of boolean values. Demonstrates the appropriate use of comparison operators. Demonstrates the appropriate use of comparison and boolean operators. Writes functions that take in boolean values and/or return boolean values.
6. Using Conditional Statements Can trace the result of a single conditional statement. Can write conditional statements with one or two results. Can write nested conditional statements. Can use at least two different kinds of conditional statements, and understand the benefits of each.
9. Data Structures Understands the difference between single values and data structures. Can describe how one data structure stores data. Can use a data structure to store multiple values in a program. Can use language provided features to effectively create and access data in a data structure.
10. Recursion Can describe what a recursive function is. Can accurately trace a recursive function. Can write and trace a recursive function. Can develop a recursive solution to a problem and correctly implement it.
22. Using Variables Recognizes the difference between variables and literals Demonstrates ability to understand code which uses variables Correctly uses variables in programming Correctly uses the appropriate types of variables for different programming algorithms