What is an algorithm? How can algorithms be used to create cultural designs and 3D models? This lesson explores these questions by using visual programming to help students explore computational thinking or CT. Efforts to increase computational thinking in STEM is increasing in popularity. This lesson covers two areas in CT:
• abstraction: Identifying and extracting relevant information to define main idea(s)
• algorithm design: Identifying and organizing the steps needed to solve a problem
The goal of this lesson is to explore computational thinking through algorithmic design and to embed real world or meaningful contexts in digital fabrication to promote conceptual understanding. Students will use visual programming and Tinkercad Codeblocks to generate 3D models that can be 3D printed.
Paper (preferably graph paper)
Pencils or markers
3D Printer (optional)
An algorithm is a set of steps to accomplish a task. You might have an algorithm for baking a cake or creating a design pattern such as the star in a quilt. For this step students need to identify algorithms in existing cultural patterns or designs. Duration: 30-45 minutes
Review the more in-depth Algorithmic & Computational Thinking in Design presentation.
Can you write an algorithm to re-create this design?
Start with a 2D shape. Then, write the steps you would use to create a pattern using the shape. You might organize your shapes into categories: “triangle”, “square.” Use math to describe the size and position of the shapes (ex. on a coordinate grid). Indicate the colors of each shapes. The algorithm might looks something like this:
Algorithms like this example can be used to create colorful patchwork such as the ones worn in the costumes of Black Masking Indian performers: https://www.youtube.com/watch?v=yCxGIh9IKcE&feature=youtu.be.
Students will sketch their own simple design on paper and write down the steps to re-create their design using an algorithm (that they write as text). Duration: 45-55 minutes
In the Black Masking Indian community, children learn basic costuming skills by drawing patterns on simple pieces of cloth. As their skills increase, community elders continue to expand the children’s talent to more elaborate challenges – sometimes to create a headband or mask. Eventually, they become skilled artists with unlimited capabilities and challenges set before them.
Students should research more examples of algorithms in everyday life and choose one that inspires them. Then, using paper (preferably graph paper) they can sketch their own version of their chosen design and keep it simple. Graph paper simulates the Tinkercad “Workplane” and the Cartesian coordinate system grid.
After sketching their 2D designs, students will need to write simple algorithms that can be used to re-create their designs. They can do this using a computer/laptop with writing software (ex. Google docs). For example, with the design posted above the algorithm might look something like this:
During a peer review, students can “test” out their algorithms by having others try to create designs just using their text documents… but this step is optional.
Engage students in algorithmic thinking and a design process using visual programming. Students will reference their 2D sketches from step 2 and create a 3D design in Codeblocks. Duration: 55+ minutes (include additional time to learn and practice with Codeblocks)
A visual programming language or VPL is any programming language that lets users create programs by manipulating graphics rather than text (scripting). Some examples include Scratch, CSnap!, Culturally Situated Design Tools (CSDTs), and Tinkercad Codeblocks. For this lesson, students will learn how to design using Codeblocks.
In traditional Tinkercad, you build models by dragging basic shapes like a box, cone, or wedge onto the workplane. Codeblocks is similar, but rather than dragging a shape out to the workplane and then resizing it, you drag a block of code for an object whose parameters you can adjust.
Visit the Codeblocks Quickstart Guide and learn basic design and coding principles. The software is online and free to use.
Explore the process for creating designs in Codeblocks: Select, Stack, Run, Review, Adjust.
Use this checklist to create the 3D design in Codeblocks:
Use this script to create the base for the design.
Use this script to create the pattern for the design.
You can create variables that can be dragged and dropped onto the blocks.
After creating 3D designs in Codeblocks students can export their designs for 3D printing or laser cutting. Duration: 5-10 minutes
Once the 3D design is complete it can be exported for 3D printing or laser cutting. Click on the “Export” button in the top right corner of the window.