STEAM Programs For Every Budget

No Budget, No Problem

Bag Monsters and Creatures

One of the activities produced durng COVID-related virtual programming was a creature composed of trash bags (and other bags) connected to each other with sealing tape that allowed air (using a hair dryer on the low setting, for example) to inflate the creature into a full three-dimensional being. The concept for the creature came from Joshua Allen Harris's inflatable street sculptures that would inflate themselves with the air from street grates as subway trains passed underneath. There were several designs available for the people of New York to examine and delight in.

In addition to learning how to contruct and check for leaks and seal their creatures, there are plenty of other geometric terms or challenges that can be used for this, like volume, or the names for three-dimensional figures as the building blocks. It's also possible to do comparative work, looking for biggest, smallest, longest, shortest, heaviest, lightest, and most and least voluminous creatures. (And figuring out how to measure that with the tools they have at hand.)

A different COVID-related project was to grab materials available around the house and create a creature. From there, the engineers were asked to determine what kind of habitat would be optimal for the creature, and what it would have adapted to. Thinking about the creature in the context of an environment, other creatures, adaptations, and the like allows for both artistic expression and construction, but also scientific thinking about what kinds of evolutionary and environmental pressures would produce a creature with those adaptations and structures in their bodies. Because whatever creature they came up with, there would likely be an environment that it was correctly adapted to, and the challenge is for the participants to figure out how that would work.

Abstract Games and Sorting Algorithms

Playing games with participants is also a great way of getting them to think about STEAM concepts, as they try to puzzle out what the optimal strategy for any given game might be. For example:

    Simple "solved" games such as Nim and Notakto can be used to teach binary counting (to explain the nim-sum, also known as a "bitwise XOR operation," that allows a player to know what move to make so as to guarantee their win,) to explain the modulo (%) operation, since Notakto revolves around what move you are on with regard to how many boards are available to play on. Pathing games can help teach the idea of nodes and available exits, along with bottlenecks and circuit pathways.
  • More complex games with simple rules, like Hex, are great for explaining the concept of heuristics and how people and machines make the best decisions they can based on the information available to them and how far they're allowed to look forward in time. And which can be used to explain the difficulty of making computers that make intelligent mistakes such that the human player feels accomplished at having beaten the machine at its own game without feeling like the computer has given it away to them. Which could also give way to explaining how speedrunning of various games works and how the point of going as fast as permissible sometimes means finding and explloiting mistakes that are present or doing things the developers never thought were possible. There's a lot of STEAM in games, and all it takes is getting someone going on the right part.

A group of participants is also perfect for kinetically demonstrating certain aspects of computing.

  • Programming with people, whether it's following instructions (exactly, often to the consternation of the programmers who realize that giving exact instructions is extremely frustrating).
  • Giving participants specific mathematics instructions to see how computers use their adders.
  • Having participants work as logic nodes for decision-making processes, and then trying to have someone figure out how to traverse the logic nodes to get to the desired results.
  • Sorting algorithms work well with groups of participants.
    • Bubble sort (compare with your neighbor, swap if you're in the wrong places)
    • Insertion sort (compare yourself to the alreay sorted list and insert yourself in it where you fit)
    • Tree sorts (start with a node, then traverse a binary tree about whether you're bigger or smaller than the node you are currently at)
    • Bucket sort (create cat4egories and shuck elements into buckets depending on what category they fit)
    • Merge sort (split the group into tiny groups, then merge them back together in the correct order)
    can all be demonstrated in a group of participants, to order them on whatever element you would like them to be ordered in. More complicated methods are also uasable once the simpler ones have been demonstrated, allowing for combined algorithms like Timsort (start a merge sort, then use insertion sort to sort the smaller groups, then merge back the already sorted small groups into a big group). And all the while, you can talk about how sorting effectiveness is generally pegged to how much time the algorithm takes in its very worst situation. Which itself allows for talking about exponents, logarithms, and other such concepts.

(The live audience got Timsorted as a demonstration of how to do the kinetic version, and it took a group of nearly 30 understanding adults only 5-10 minutes to get themselves sorted by birthday, a testament to the efficiency of the Timsort.)