Sense Survey Activities

Welcome !

Thank you for volunteering to help us with this research.

Assuming that you have Sense installed and are familiar with how to use it, there are three steps which you are asked to undertake to complete the survey:

  1. perform a few simple programming activities using Sense by following our brief guide
  2. compare the graphical programs that you have seen in '2' with some textual equivalents which are similar to those found in more mainstream programming languages
  3. complete a short online survey concerning your experiences of using Sense

Programming activities

There are four basic concepts or elements of programming, which you will find in just about any programming language, which we wish you to consider.
  1. 'Sequence'. By this we mean that a program consists of a set of steps or instructions which are carried out in the order they are written, one after another.
  2. 'Variables' which are used to store values such as numbers, text etc which are used in a program.
  3. 'Conditional statements'. This type of construct allows a choice between different sets of subsequent instructions to be made.
  4. 'Iteration' or 'looping'. This type of construct allows a set of actions to be performed multiple times simply by repeating them as many times as are desired.
For each of these we have created a simple activity or two to demonstrate the concept using the graphical programming language of Sense. You will not yourself have to do any programming as the demonstration programs are provided in a form you can download and open in Sense. Please now follow the links in turn for each of the elements below. After completing each activity you can return here using the 'back' link or your browser buttons.

Textual constructs

Now we would like you to consider a couple of 'textual' programming constructs based on your experience working with Sense.

A conditional

A conditional statement in a typical text based programming language will have the form:
    if ( <condition> )
    then { <statements> }
    else { <statements> };
In moving to a textual programming language the Sense blocks we used to gather data (ie the 'pop up and get input' block) and to display information (such as the 'pop up warning' block) would have to be replaced with some equivalents. Here we are going to use:

'if ... then ... block
Figure 6 Sense 'if ... else ...' block in a Stack.

So, for example the earlier 'if ... else ...' block in the stack (Figure 6) we would first write out the pop up's message and then would use a 'read' statement to get the value of answer (as if from a Sense 'pop up and get input' Block) and then use a simple 'if' statement:

    write("shall we execute the blocks?");
    read( answer );
    write( " you typed " + answer );
    if ( answer = "yes" ) 
    {
	write( "doing the if statement's IF part" );
    }
    else
    {
	write( " doing the if statement's ELSE part" );
    };
    write('Finished.');

Before moving on please examine the Sense program in Figure 6 and compare this to the textual program above. Whilst doing so, remember how you saw the program executing step by step (with 'stepping' switched on) in Sense.

A loop

Earlier you employed a loop shown in Figure 7. We can use 'read' and 'write' as textual equivalents to 'ask' and 'think' blocks but we also need some equivalent to 'set'. To set a variable called 'number' to the value '10' we will use a textual statement:

    number := 10;

The 'wait' blocks in the stack we will simply ignore, although textual languages do have equivalent statements. The 'repeat <answer>' block is replaced by a 'repeat <answer> times' textual statement.

'if ... then ... block
Figure 7 Sense 'if ... else ...' block in a Stack.

So, the textual version of the Stack in Figure 7 might be:

    times_done := 0;
    write("How many times shall we loop?");
    read( answer );
    repeat answer times
    {
	times_done := times_done + 1;
    }

Again, before you proceed, please examine the Sense program in Figure 7 and compare this to the textual program above. Whilst doing so, remember how you saw the program executing step by step (with 'stepping' switched on) in Sense. Usually, of course, a loop would do more than increment 'times_done' within the loop body.


Online Survey

We now what you to complete a short online survey concerning your experiences of using Sense.