Madeup: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 18: Line 18:
* with a physical output.}}
* with a physical output.}}
: ([https://twodee.org/blog/17018 teaching machines], University of Canterbury Seminar, May 24, 2019 by Chris Johnson)
: ([https://twodee.org/blog/17018 teaching machines], University of Canterbury Seminar, May 24, 2019 by Chris Johnson)
In a conference paper (Johnson, 2017: abstract), Johnson argues, that {{quotation|the maker movement generates much more stuff to consume. A school may purchase a 3D printer for educational purposes, only to have its student-makers simply download and print other people's models without learning to make their own. To prevent this kind of situation, educators must capitalize on the maker movement in ways that facilitate what we call computational making, which involves both meaningful cognition and the making of artifacts.}}


== Example ==
== Example ==

Revision as of 16:28, 24 January 2020

Introduction

Madeup is a turtle programming language to create 3D printable objects. It can be used either in code or 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.” (https://twodee.org/blog/, 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)

In a conference paper (Johnson, 2017: abstract), Johnson argues, that “the maker movement generates much more stuff to consume. A school may purchase a 3D printer for educational purposes, only to have its student-makers simply download and print other people's models without learning to make their own. To prevent this kind of situation, educators must capitalize on the maker movement in ways that facilitate what we call computational making, which involves both meaningful cognition and the making of artifacts.”

Example

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
end

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

Links

  • madeup.xyz. 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

References

  • 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). https://doi.org/10.1145/3017680.3017703