Innovation Fellowship

Do Space Innovation Fellowship by Charlie Cuddy with Bricklayer


Flip the classroom: Learn to code with your students!




The Goal of Innovation Fellowship:

My focus is to help get computer programming into more classrooms, libraries, and after school programs by giving teachers a guide on how to easily use Bricklayer in their classroom without the teacher needing to have previous knowledge themselves. Bricklayer is a local non-profit which combines the use of code, math, art, spatial recognition, creativity, and problem-solving to teach computer science.

Getting Started: First Few Sessions with Bricklayer

Use the grid like digital graph paper... (or use actual graph paper if you prefer) to allow students to become comfortable creating artifacts with pixels.

Simply select the size of grid at the top, pick a color, and select the box you want colored.

You can save your designs and loaded them later.

Some ideas: Make a smily face, write your name, or create a random design.

Challenge: Create a pattern, zoom the grid out, and see if a partner can continue the pattern.

Give the grid more meaning, and test your understanding of specific block placement with Vitruvia's built in assessments.

[Think coordinate, xy, grid from math class...
Hint: turn on coordinates for beginners.]


For more information on Vitruvia, types of blocks available, and the order in which to work through Vitruvia read through the documentation.

Suggestions Before Moving to Bricklayer-Lite:

•Concept 1: Placing 1x1 Blocks
Skip Concept 2 for now
•Concept 3: Placing Larger Blocks
•Concept 4: Placing Multiple Blocks
•Concept 5: Changing Syntax for 'Put' Calls
•Concept 6: More Practice with Level 1 Calls
•Concept 7: Overwriting Previous Calls

Continue to use these as daily review problems. Encourage students to take note of the syntax in Vitruvia as it will become very important as they move on to Bricklayer-Lite.

Important Note: If this is your first time using BrickLayer-Lite it is highly recommended that you read through the documentation provided in order to gain an understanding of how to get started coding with Bricklayer-Lite. In the documentation you will learn how to drag, drop, and connect code blocks to create artifacts. Additionally, the documentation will show you examples of how to run, save, and upload your code.

Once in Bricklayer-Lite, you will use the calls on the left side of your screen, as outlined in the documentation, to essentially, piece your code together like a puzzle. Do not forget to close lines with semicolons when needed [located in 'Symbols']. To see your artifact, [click 'Run'] at the top of the screen.

Challenge: Re-create the images that you previously created in your grid, with concepts learned in Vitruvia, in Bricklayer-Lite.


Bricklayer-Lite Levels:

Play around in Bricklayer-Lite, creating artifacts, similar to what you did in The Grid.


•Level 1: Placing Individual Blocks
[Focus on Vitruvia Concepts 5-7]

•Level 2: Introducing Functions
[Focus on Vitruvia Concepts 10-13]

•Level 3: Expanding on Functions
[Focus on Vitruvia Concepts 14-15]


Allow students to show their code, and compare/contrast how each was made with an emphasis on the ideas that multiple answers can/will appear!

For more ideas on what to code in Bricklayer-Lite, move on to More Coding in the Browser.



Note: If some students are not quite ready for Bricklayer-Lite, they can continue to do the exercises in the grid while practicing Vitruvia, and becoming familiar with Bricklayer-Lite.

Encourage students to reference Vitruvia, or the documentation, in order to become more familiar with Bricklayer-Lite. The more comfortable students are the more helpful it will be as they transition to Bricklayer.

More Coding in the Browser

Continue to use Bricklayer-Lite for the following activities.


Continue to review with Vitruvia, and Bricklayer-Lite.

These are great warm up problems.

Give time to allow students to explore on their own, in order to gain a better understanding of how to place specific blocks where.

Suggestions for Coding Examples:

•Create your own Bricklayer-Lite, or use a student volunteers, artifact as a guide, and ask students to re-create it.

•Students can continue through the exercises here.

•Have students code a country's flag and have a nice segue into history, and cultural conversations.

Open a discussion on how students recreated the artifacts, with specific questions to explain their thought process. Ask questions like 'did anyone else do it different?', and 'what was the hardest part for you, and how did you overcome it?'

Challenge: Ask students how many different ways they can think of to create the same image. Give hints if needed, like, can anyone think of a way to create this with four function calls? What about with twelve function calls?

The following coding activities can be done on graph paper, if computers aren't available, in the grid, or in Bricklayer-Lite, as a coding challenge.

Use pentominoes to create tiling patterns.

Bricklayer has some phenomenal problems already created, that involve regular patterns, geometric patterns, and even some evolutionary patterns. The example problems with some solutions are provided here.

A 'find the pentominoes' game is available.

Allow students some time to be creative, and build something that interests them.

Some Suggestions:

•Google: 'Pixel Art' and find and image they want to code
•Team logos, favorite brands, etc.
•Code their name or initials
•Sketch a custom design in the grid or on graph paper, and code it

Allow students time to showcase, explain, and answer questions about their project, and their thought process in creating it.

Note: Personally I think it is important for the students to learn at this stage without the need for putting a grade on their work. However, if you must enter a grade, some ideas for a rubric could be based on, size of grid, number of colors used, presentations, etc.

As you and the students get more familiar with Bricklayer-Lite come up with your own applications.

Find objects around town that could be re-created, like the We Don't Coast wall.

Share your awesome ideas on Facebook.

Documentation

Bricklayer-Lite specific documentation. How to create, run, save, and load Bricklayer-Lite programs.

Note: This additional documentation is more geared toward Bricklayer than Bricklayer-Lite, but is applicable if needed.

Bricklayer Downloads

Moving out of the browser to Bricklayer, an environment for editing and executing Bricklayer programs.
Everything you'll need can be downloaded below.

The file you are about to download is where you will write your code. It is essentially the place where you connected the puzzle pieces in Bricklayer-Lite.


Download Bricklayer:

For Mac

For Windows

Visit the following for more information on the download/install for Mac or Windows.

Lego Digital Designer (LDD) is the recommended way to view, the code written in Bricklayer.

It gives the legos a crisp look, and is best used for 30,000 or less piece artifacts. It should be noted the amount of pieces able to be rendered depends on the individual computer.

A feature loved by students, is the ability to blow up their creations!


It can be downloaded here.

LDraw is another way to view the code written in Bricklayer.

It can handle much larger artifacts; up to 150,000 or less piece artifacts. It should be noted the amount of pieces able to be rendered depends on the individual computer.

You have the ability to view the artifact from multiple angles at one time with LDraw, a nice feature.


It can be downloaded here.

These are additional downloads, that are not needed at first. They add another dimension to Bricklayer as you get more comfortable, and want to explore additional ways to play with your code.

Minecraft

For instructions on what additional software needs to be downloaded and installed in order to integrate Bricklayer with Minecraft click here.


Cura

"Cura prepares your model for 3D printing. For novices, it makes it easy to get great results. For experts, there are over 200 settings to adjust to your needs. As it’s open source, our community helps enrich it even more."


Coding in Bricklayer

The following links will provide you videos and step by step Code-Alongs to help your transition to Bricklayer.

The correlation between Bricklayer-Lite, and Bricklayer is strong and you'll begin to notice the similarities almost immediately.

Suggestion: After Level 1, begin to create on your own and come back to the other levels after you're comfortable to do so. Everything done with Bricklayer-Lite, can be done in Bricklayer once you have a basic understanding of Level 1 concepts below.

Level 1: Coding Sessions, Overwriting, and Debugging videos.
Note: Code from videos is available at the links next to each video.
Rework, or continue working the exercises to become familiar with the transition to the Bricklayer environment.

Level 2: Code-Alongs, and Exercises.

Level 3: Code-Alongs, Exercises, and Special Projects.

Level 4: Exercises, and Special Projects.

Level 5: Code-Alongs, Exercises, and Special Projects.

After the 'Level 1: Coding Sessions, Overwriting, and Debugging' from the 'Video Resources and Code Along' tab, you're ready to write your own code.

Revisit the activities from Bricklayer-Lite in the Browser, and now attempt them in Bricklayer.

An idea: Have students load their saved code from Bricklayer-Lite, and now code it in Bricklayer by copying what they had previously done. It is great practice, that builds confidence, and helps them make the connection to previous knowledge.

Challenge: Replicate artifact, use pentominoes, code pixel art in Bricklayer, or find items around town that could be built out of Legos, and code it in Bricklayer.

Get specific help on how to write the code needed in Bricklayer. You can copy and paste code examples found in the documentation onto your computer and manipulate it to make it your own. Brief descriptions of what can be found in each level are below, and more information is provided at each link.

Level 1: Getting Started: Basic 'put' functions

Level 2: Circle | Rings | Offsets

Level 3: Show in LDD, LDraw, for 3D prints | Lines

Level 4: 3D: Spheres | Cubes | Hollow | Multibrick | Show in 3D

Level 5: Traverse Region

Projects

Below you can find the code for some projects I built throughout the Innovation Fellowship. I have grouped them into three categories based on the anticipated time it will take to complete. Some individuals may go faster/slower based on comfort level with Bricklayer.

It is assumed that the Vitruvia exercises have been completed, and familiarity with Bricklayer exists.

The code for each of the following projects can be found in the .bl files on GitHub (linked), and then copy and pasted into your Bricklayer environment and adjusted as you see fit.

These projects can be completed in a couple sessions.

How Many Bricks
A Cross
Arch
Circles
'Code'
Pyramid
Geometric Shapes

These projects can be completed over multiple sessions.

Curriculum: 10+ 50 minute lessons
Dice
'Cuddy'
Stripes
Chessboard
Black & White Squares
Sphere & Ring

These projects can take several sessions and require some additional knowledge, and resources to code buildings.

Memorial Stadium's code hosted on GitHub

• Screen shots can be found here: Memorial Stadium was coded in Bricklayer and rendered in LDraw. The stadium was then 3D printed, and uploaded onto a Minecraft server.

I used Google Earth to get accurate measurements of the stadium, and then converted it to the scale that I decided to use for this project.



Link to Omaha World Herald News Article from August 6, 2017.

Link to Power Point from presentation at Do Space August 5, 2017.

Link to Silicon Prairie News Article from July 20, 2017.

Bricklayer and Do Space Team

Dr. Victor
Winter

victor.winter@bricklayer.org

PhD, professor in the Department of Computer Science at the University of Nebraska-Omaha

Creator of Bricklayer.org

Dr. Betty
Love

betty.love@bricklayer.org

PhD, associate professor in the Mathematics Department at the University of Nebraska-Omaha


Bricklayer is on Facebook and Twitter @bricklayer_org

Do Space is on Facebook and Twitter @DoSpaceOmaha