The educational technology and digital learning wiki
Jump to navigation Jump to search


Madeup is a turtle programming language to create 3D printable objects. It can be used either in scripting/coding or visual block mode.

“Madeup is a programming language for making things up—literally. Programmers trace out shapes algorithmically and then turn them into solids that can be printed on a 3D printer.” (, Jan 2020).

The rationale for computational making

Chris Johnson, in blog entry written for University of Canterbury Seminar explains why he created madeup.

Schools left and right, politically and geographically, are establishing makerspaces, buying up 3D printers and laser cutters, and getting their students designing and building real things. The students are making. This sounds great. However, if you talk to the teachers and librarians who are staffing these makerspaces, you will hear about the many kids who are just downloading other people’s 3D models and design files from Thingiverse and fabricating those.

This happens for a couple of reasons. First, its part of the maker ethos to share what one has made. Second, learning to model in 2D and 3D is time-consuming and doesn’t really fit well into an already crowded school curricula. I think computer science can fix this. Instead of just plain making, we need computational making.

We hear a lot these days about computational thinking. There’s little agreement about what skills and concepts make up computational thinking, and it has come to be used as a way to invoke the idea of computer science but subtract out or downplay programming. I needed a term to invoke the idea of creating but with programming added in. That is computational making, which I define as a creative process

  • guided by algorithms and data
  • carried out in a parametric design space
  • with a physical output.
(teaching machines, University of Canterbury Seminar, May 24, 2019 by Chris Johnson)


The following code, found in the madeup tutorials, creates a star with five points.

moveto 0, 0, 0

angle = 144
repeat 5
  move 10
  yaw angle
  move 10
  yaw 72 - angle

extrude 0, 0, 1, 6

Below is a screenshot that shows to the left the same code in block notation.

Madeup programming environment for 3D printable objects example


  • The online Madeup programming environment (no signup required)
  • teaching machines. Blog of Chris Johnson, creator of Madeup and computer science professor at the University of Wisconsin


  • Johnson, C. (2017, March). Toward Computational Making with Madeup. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (pp. 297-302).