Teacher Notes - Hour of Code Tinkercad Codeblocks
Teacher Notes - Hour of Code Tinkercad Codeblocks
Imagine your students are about to design something new, but instead of starting it based
on what they already know or ideas that are in their minds, they could tell a computer what
they want to make, and it would collaborate with them in their creation. Would this enhance
their creativity, or would it hinder their imagination?
...And does the thought of this just totally freak you out?
The idea of automation can seem scary; we are used to being the "intelligent" ones in the
human-computer equation. We give computers orders through writing computer programs
made up of algorithms. Algorithms are the detailed "recipes" that tell computers how to
solve problems and design new solutions.
An algorithm is a process that requires input in order to produce a specified output. This
input may be mathematical, computational, or generative in nature. And the output could be
a work of art, or even a design for a building!
Today "smarter" algorithms are being developed that allow computers to test and learn from
each iteration what works and what doesn’t. As a result, people are not only using
computers to make things with data, but they are also designing WITH computers to
generate, manipulate, and apply data to improve the things they make.
While some envision Skynet when they hear about advances in machine learning, others
see an opportunity to co-create with technology in order to imagine more new ideas and to
develop products that better meet the needs of users, in less time and with less negative
impact on the environment.
For example, in the field of engineering, generative design mimics nature's evolutionary
approach to design by harnessing the power of cloud computing to provide thousands of
solutions to one problem. Through co-creating with computers in this way, engineers can
grow their known universe of valid solutions exponentially by simply inputting to a computer
program design goals and basic parameters such as materials, manufacturing methods,
and cost constraints.
An illustration of how generative design technology can be leveraged in this way is the seat
bracket pictured below (on the right) that was recently developed by General Motors. As a
result of this design process (partially depicted in the middle,) the new seat bracket is 40%
lighter and 20% stronger than the original part (pictured on the left). It also consolidated
eight parts into one! (For more information on generative design, see the slideshow.)
Your students can create more playful computer programs (which also build their
knowledge about how algorithms can be used to make things) by incorporating control
structures that define parameters with variables. Students can also make their algorithms
more powerful and interesting by adding components like count-controlled loops.
The Codeblocks scripts for making snowflakes included in this lesson can lead your
students through this type of iterative design process. And the best part is that they'll make
a cool artifact of their learning when they're done!
Making art with algorithms
Algorithmic art is a form of art in which the design is generated by an algorithm. Because
algorithms tend to be a bit predictable (no offense to any algorithms reading this...,) artists
who work in this genre often incorporate random external factors as a part of their input.
This could include databases of thousands of pictures of objects, patterns from nature, or
even biological processes like a live human heart beat!
Nettrice Gaskins (pictured above on the lower right) is an artist whose work explores how to
generate art using algorithms in different ways, especially through coding. She also
collaborates with Artificial Intelligence to produce images with the computer vision program
Deep Dream. Style transfer, or the technique of recomposing images in the style of other
images, is how Deep Dream combines art and algorithms. However, it needs humans to
choose the styles and images (input), as well as visual elements such as color and color
value. The resulting art (output) is a creative collaboration between humans and computers.
Gaskins, whose work is featured here and in the Instructable, also uses her art to highlight
the role of computational thinking in the historical and cultural traditions throughout the
African diaspora. For example, her work examines the use of algorithmic calculations that is
evident in hip hop culture, hair braiding, and quilting.
Spark a mini-debate
One way you might process this new info with students - in order to lay the foundation for
"why" they are coding - is through facilitating a quick debate.
Here's a prompt you can use: "Automation will have a positive impact on society because it
presents an opportunity to co-create with computers and do more meaningful work."
And here's a great primer for you to brush up on your arguments about algorithms.
Code comments