While traditionally associated with artists and musicians, creativity is increasingly valued by those in STEM fields wishing to push beyond the boundaries of today’s technology. Perhaps because encouraging creativity is often challenging for educators and the creative process and its outcomes are difficult to assess, students typically receive little support and encouragement. However by building systems to support human and computer co-collaboration, my work aims to democratize the creative process by designing software that acts as a partner to help people realize their creative potential. Conceptualizing creativity as a search in a structured space of computational artifacts, I will discuss my work constructing a particular search space and method to help amateurs compose music and design video game levels. Both of these projects are based on a method I developed called functional scaffolding for music composition, and together they demonstrate the potential for a single algorithmic method to support creativity and learning in multiple domains. I will then provide examples of similar methods I implemented to support algorithmic and computational thinking through video games.