# Assignment 2 (Programming Languages)

## Milestones

Assignment Deadline | 2023-07-02T23:59:00-04:00 |

Late Deadline | 2023-07-05T23:59:00-04:00 |

Grading Deadline | 2023-07-08T23:59:00-04:00 |

## Special Case Questions

Use the standard 3-point scale for grading, except as follows:

### Question 1

Asks students to implement a project in Scratch, and enumerates a list of factors that must be present in the site to earn credit. These factors are explicitly enumerated in Gradescope, but will be restated here. Six of these points are objective criteria:

- 2 points if the project contains two or more sprites, at least one of which is a cat. 1 point if one of those two criteria is not true. 0 points otherwise.
- 2 points if the project contains at least three scripts. 1 point if two scripts. 0 points otherwise.
- 1 point if there is a conditional statement somewhere in the project. 0 points otherwise.
- 1 point if there is a loop somewhere in the project. 0 points otherwise.

💡 The `repeat until`

block, for purposes of this question, counts as both a loop and a condition.

- 1 point if the project contains
**and makes use of**a variable. 0 points otherwise. - 1 point if the project contains a sound block. 0 points otherwise.

The last is subjective. 4 points are awarded based on the complexity of the project. A *potential* soft guideline for this is as follows (you need not explicitly adhere to this rubric, but this could be a starting point for you to consider how you might score these). Award:

**4**if the site contains at least 50 Scratch blocks.**3**if the site contains 35-50 Scratch blocks.**2**if the site contains 20-35 Scratch blocks.**1**if the site contains less than 20 Scratch blocks.**0**for unsubmitted/blank projects.

### Question 2

Asks students to implement an algorithm. The point of this question, candidly, is to demonstrate how difficult it is to write algorithms in English due to the inherent ambiguity of language. As such, your objective while grading this is to find “bugs” in the algorithm. Award:

**4**extremely carefully, and only if you find absolutely nothing that is subject to interpretation. This should be exceedingly rare.**3**if you detect one or two logical, runtime, or interpretation bugs.**2**if you detect three through ten logical, runtime, or interpretation bugs.**1**if you detect more than ten logical, runtime, or interpretation bugs.**0**if the answer is blank or is not actually an algorithm.