First, set the browser to Full Screen view, to give this worksheet and your code as much space as possible.

Then choose either one of the two options below:

Option 1: Start this worksheet from scratch

- First Enter your name:
- Then
  .
- All answers that you subsequently enter/edit will be auto-saved to this sheet.

Option 2: Continue, or view, previous work

- All answers that you subsequently enter/edit will be auto-saved to this sheet.
- The first time you re-load an answers sheet - within a single session on Elan - you will be asked to confirm that you understand this.

This worksheet is copyright © Richard Pawson 2025, and protected by the Creative Commons license: Attribution-NonCommercial-NoDerivatives 4.0 International. You may freely make and distribute copies of this worksheet as is, but if you modify this worksheet you may not distribute your modified version (outside your own teaching institution) without the author's permission. Please email the author to report errors or suggest improvements.

Worksheet | Introduces | Extends | Practices
--- | --- | --- | ---
Blackjack 1 & 2 | Instructions: `variable`, `set`, `if`, `else` Expressions: `is`, `and` Concepts: running & stopping, instruction, comment, keyword, identifier, method name, type, punctuation symbol navigating code, editing field, inserting instruction, literals, named values, enums, comparison operators |  |
Random walk | Instructions: `call`, `for`, `while`, `procedure`, `let` Types: `Turtle`, `Int` Methods: hide, placeAt, move, turn penColour, randint Concepts: procedures, parameters (incl. `out`), types, Turtle graphics, extracting code into a procedure, generalisation of a method |  |
Whack-a-mole | Types: `Array` Methods: displayHtml, clock, sleep_ms, getNumericKey Concepts: arrays, DRY principle |  |
Burrow | Types: `Array2D` Methods: put, displayBlocks, max, min Concepts: block graphics, out of range error, literal list |  |
Simon | Types: `List`, `CircleVG` Methods: append, displayVectorGraphics, clearVectorGraphics, waitForKey, parseAsInt, tone Concepts: list management TODO: change `while` loop in playersTurn to `repeat` - just so that is covered. TODO: Create a list of VectorGraphic and append the Circle to it rather than rely on literal list (of type CircleVG) |  |
| Wordle 1 & 2 | Instructions: `each` Types: `String` Methods: contains, indexOf, withAppend, length Concepts: index range, string concatenation |  |
Crossword solver's helper (TDD) | Instructions: `function`, `test`, `assert` Types: RegEx ? Methods: Concepts: test driven development, sorting algorithm, searching algorithm (find many) |  |
TBD |  |  |