devuxd / ProgrammingStrategies

A repository of strategies for programming
http://programmingstrategies.org
1 stars 0 forks source link

List mini-steps for each individual statement type #38

Open tlatoza opened 6 years ago

tlatoza commented 6 years ago

The middle description pane should better help users understand what each statement type asks them to do by explicitly listing mini-steps that they or the computer will perform. Each statement type (e.g., IF, strategy invocation, SET, execute, loops) has its own list of mini-steps. For example, the mini-steps for IF might look like:

Step 1: Find the value of the variable using the variables pane on the right. Step 2: Inspect the condition in the statement. If the condition is true, click True. Otherwise, click False. Step 3: The computer will go to the next statement.

Each ministep should have an icon on the far left that is either a person or the computer, indicating to the user which of the mini-steps they will perform and which will be performed by the computer.

MaryamArab commented 6 years ago

@tlatoza Could you please write the steps for LOOPS

MaryamArab commented 6 years ago

@tlatoza In order to separate the steps from the comments, I added a new panel behind the description panel to make them distinct.

tlatoza commented 6 years ago

Maybe you could take a first pass at drafting steps, and then I can take a look?

MaryamArab commented 6 years ago

Could you please write the steps for LOOPS

tlatoza commented 6 years ago

Here's some comments based on the current design.

  1. It should be clearer what "steps" are for and why they are sometimes different. How about having the title for this section be one of: SET Statement Steps EXECUTE Statement Steps IF Statement Steps FOR EACH Statement Steps Steps UNTIL Statement Steps CALL Statement Steps RETURN Statement

Here's some text for the statement types: EXECUTE: Perform the action described in the statement, returning to the StrategyTracker when you are done.

SET: Step 1. Gather the information described and record the value for the variable in the Variables pane at right. Step 2. The computer will record the value you specify for the variable.

FOR EACH Step 1. The computer will iterate over the elements in the collection and select the next element in the collection. Step 2. The computer will record the value of the current element in the specified variable. Step 3. The computer will go to the next statement, returning to the for each statement after control has reached the end of the section.

UNTIL Step 1. Find the value of the variable using the variables pane on the right. Step 2. Inspect the condition in the statement. If the condition is true, click True. Otherwise, click False. Step 3-The computer will go to the next statement, returning to the until statement after control has reached the end of the section.

CALL Step 1. The computer will invoke the specified strategy, passing the specified variable values to the strategy.

RETURN Step 1. The computer will return the specified value to the caller of the current strategy. Step 2. The computer will continue executing statements in the strategy's caller.

There should be a space or two between the icon and the beginning of the explanation text.