HW: Turtle Requirements

Learning objective: gain experience with writing requirements in a low-stakes exercise so you won't struggle later on the project.

Create two slides that have a list of behavioral requirements for a left-hand-rule wall follower turtle similar to the one used in the course project. Use good format/style for the requirements.

Note that the requirements should NOT simply be a verbal, complete description of the code or an associated statechart. Rather, it should contain snippets of required behaviors that can later be woven together via creating a state-machine based implementation. (We'll get to state machines and statecharts in a future lecture.) This is a subtle but extremely important difference. It is, however, OK for this exercise to refer explicitly to state names, sensor inputs, and actuator outputs by name since that will help make this exercise more concrete. The point of this exercise is to give you some experience with the difference between implementation (code) and design (a higher level of abstraction that is not simply a verbal description of all the details in the implementation).

Examples of GOOD high level product requirements

Examples of GOOD detailed requirements:

Examples of a BAD requirements -- this is simply a verbal statement exactly describing the statechart:

RUBRIC:

Note: If you struggle or get stuck, make your best effort. Then come to office hours so you won't get stuck later on project work.