Programming microworld: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
mNo edit summary
 
 
(25 intermediate revisions by 2 users not shown)
Line 2: Line 2:
== Definition ==
== Definition ==


* A '''programming microworld''' is a [[microworld]] for learning how to program. Although one may argue that any programming environment can be used for this we restrict this definition to environments specficially made for education. Usually (but always) for children.
* A '''programming microworld''' is a [[microworld]] for learning how to program. Although one may argue that any programming environment can be used for this we restrict this definition to environments specficially made for education. Usually (but not always) for children.
 
* Microworld programming is a kind of [[end-user programming]].


== The relation to learning theory and educational reform ==
== The relation to learning theory and educational reform ==
Line 10: Line 12:
== Environments ==
== Environments ==


; For children
; (Mostly/rather) for children
* [[LOGO]]
* [[Logo]] - the original (Papert)
* [[Boxer]]
* [[Boxer]] - inspired by Logo (DiSessa)
* [[Toontalk]]
* [[ToonTalk]] - includes animated characters
* [[LEGO Mindstorms]]
* [[LEGO Mindstorms]] - allows to program LEGO bricks
* Languages built on top of [[Squeak]] like [http://www.squeakland.org/ Etoy] or [http://weblogs.media.mit.edu/llk/scratch/ Scratch]
* Languages built on top of [[Squeak]] like [http://www.squeakland.org/ Etoy] or [http://weblogs.media.mit.edu/llk/scratch/ Scratch]
* [http://dedalus.sourceforge.net/ daedalus]
* [[Scratch]]
* [http://www.tynker.com/ Tynker]
* [http://dps.univ-fcomte.fr/collabots/index.html Collabots]
; Design and fabrication
* [[Turtlestitch]] A Blockly language to create embroidery
* [[BlocksCAD]], A Blocky extension to create 3D objects and export to OpenSCAD
; (Mostly/rather) for older people
* [http://alice.org/ Alice] - 3D programming language and environment(CMU). A more recent project. Java-like language.
* [[MOO]] and other text-based virtual environments [[MUD]]s (while learning how to program is not their purpose, it has been observed that they can fulfill this function). Popular in the early nineties.
* [http://www.greenfoot.org/door Greenfoot] (for learning Java)
* Various Robot scripting languages (needs addition), e.g.:
** http://www.physicsbox.com/
** Karel, see [http://www.csis.pace.edu/%7Ebergin/ Joseph Bergins home page]
* [http://www.alice.org/ Alice] - an 3D programming environment to teach computer programming.
* Games scripting languages are increasingly popular. See [[Computer game]]s.
; Simple "extensions" of "real environments"
* [[Doblo factory]]
* Office tools...
== Links ==
* [https://www.edsurge.com/guide/teaching-kids-to-code Teaching Kids to Code] (Edsurge, April 2013)
* [http://www.microworlds.com/ LCSI] sells "Microworlds" (a popular modern Logo dialect)
; Related issues
* [http://www.cise.ufl.edu/research/ParallelPatterns/PatternLanguage/Background/Psychology/Psych-bibliography.htm Annotated bibliography on the psychology of programming] by Tim Mattson. {{quotation|This bibliography holds references that pertain to the psychology of programming. Since the topic is closely related, a number of these references also refer to the psychological issues associated with program comprehension. To this end, I used (and freely borrowed from) the program comprehension bibliography.}}, retrieved feb 2011.
== References ==
(more needed)
* Bergin, J., Stehlik, M., Roberts, J., Pattis, R. (1997) Karel++, A Gentle Introduction to the Art of Object-Oriented Programming, John Wiley and Sons, Inc, New York, [http://www.csis.pace.edu/~bergin/karel.html HTML].
* Papert, S. (1980), Mindstorm: Children, Computers and Powerful Ideas, New York: Basic Books.
* http://www.jucs.org/jucs_1_6/microworlds_for_teaching_concepts {{ar}}
* http://tecfa.unige.ch/guides/methodo/edu-tech/thesis-examples/design-microworlds/Heeb_Roboworld.pdf


; For older people
[[Category: Programming]]
* [[MOO]] and other [[MUD]]s (while learning how to program is not their purpose, it has been observed that they can fulfill this function)
[[Category: Computer literacy]]
* Various Robot scripting languages (needs addition)
[[Category: Microworlds]]

Latest revision as of 07:58, 23 March 2020

Draft

Definition

  • A programming microworld is a microworld for learning how to program. Although one may argue that any programming environment can be used for this we restrict this definition to environments specficially made for education. Usually (but not always) for children.

The relation to learning theory and educational reform

See for the moment: Constructionism, discovery learning, microworld

Environments

(Mostly/rather) for children
Design and fabrication
  • Turtlestitch A Blockly language to create embroidery
  • BlocksCAD, A Blocky extension to create 3D objects and export to OpenSCAD
(Mostly/rather) for older people
  • Alice - 3D programming language and environment(CMU). A more recent project. Java-like language.
  • MOO and other text-based virtual environments MUDs (while learning how to program is not their purpose, it has been observed that they can fulfill this function). Popular in the early nineties.
  • Greenfoot (for learning Java)
  • Various Robot scripting languages (needs addition), e.g.:
  • Alice - an 3D programming environment to teach computer programming.
  • Games scripting languages are increasingly popular. See Computer games.
Simple "extensions" of "real environments"

Links

Related issues
  • Annotated bibliography on the psychology of programming by Tim Mattson. “This bibliography holds references that pertain to the psychology of programming. Since the topic is closely related, a number of these references also refer to the psychological issues associated with program comprehension. To this end, I used (and freely borrowed from) the program comprehension bibliography.”, retrieved feb 2011.

References

(more needed)