## Advertising

Here are some flyers that can be used to advertise an event.

Giving a prize for each activity completed is something that is very popular at events. Personally, I like to award super balls that look like pool balls. These can be purchased in bulk here.

## Activity: Create a repeating pattern

How: This activity can be done

• using LEGO bit bricks and a LEGO baseplate
• using paper and highlighters
• using LEGO Digital Designer (LDD)
• on-line using the grid

What: The objective is to create a repeating pattern in the given grid. How the pattern repeats needs to be understandable and/or explainable.

Remarks: We have experienced that people can create remarkable patterns. This activity can be much more exciting than first meets the eye. One can even turn this into a raffle or possibly a contest with prizes.

## Activity: Tessellation

How: This activity can be done

• using LEGO bit bricks and a LEGO baseplate
• using paper and highlighters
• using LEGO Digital Designer (LDD)
• on-line using the grid

What: The objective is to tile the given grid leaving no empty cells. However, the edges may be ragged.

## Activity: Geometric Algorithms

We use the term Lace to describe a 2 dimensional LEGO artifact that is porous, connected, but is not a curve. A lace can be created by repeating a special kind of pattern that we will call a lace pattern. Read up on laces here.

How: This activity can be done

• using LEGO bit bricks and a LEGO baseplate
• using paper and highlighters
• using LEGO Digital Designer (LDD)
• on-line using the grid

What: The objective is to explore geometric patterns. These are patterns that grow larger as they repeat. Laces are self-similar and, technically speaking, can be classified as fractals.

Remarks: It is not uncommon for people to get these wrong. What happens is they get the first few steps correct and then essentially try to tessellate the grid with the pattern they have created. This does not work for this class of algorithm which is one of the interesting aspects of Laces.

## Activity: Evolutionary Algorithms

How: This activity can be done

• using LEGO bit bricks and a LEGO baseplate
• using paper and highlighters
• using LEGO Digital Designer (LDD)
• on-line using the grid

What: The objective is to construct the Sierpinski Gasket. The Sierpinski Gasket is a self-similar artifact and, is classified as a fractal.

Remarks: The algorithm used here is a simplification of the algorithm used in constructing Elementary Cellular Automata structures. This class of algorithm begins with a seed element (e.g., in our case a 2×1 brick) placed on the top row of a grid. Which brick is placed in a given position on a row depends on the adjacent bricks that were placed on the row above it. Because of this, one can consider such a structure to have a memory of sorts. Each row is different-from and yet influenced-by the brick placement of the row above it. For this reason we call this class of algorithm evolutionary. It is not uncommon for people to get the construction of the Sierpinski Gasket wrong. What happens is they get the first few steps correct and then essentially try to tessellate the grid with the pattern they have created rather than following the steps of the algorithm. Such a short cut does not work for this class of algorithm, which is one of the interesting aspects of the Sierpinski Gasket in particular, and evolutionary algorithms in general.

## Activity: Running Code

The activity here involves copying a small program and getting it to run in Bricklayer. This activity involves some system-level skills (e.g., running a file) as well as some text-editor skills (e.g., cut-and-paste, saving a file). Use the Tracking Interest file to track which programs are most popular at your event.

How: This activity requires a computer on which Bricklayer is installed.

What: The objective is to copy a given program into a text editor, save the file, and run the code in Bricklayer.

Remarks: People involved in this activity will make syntax errors and will ask for help in getting their program to run. Most syntax errors are (1) missing or extra semi-colon, and (2) upper/lower case error (e.g., put2d instead of put2D).