StarLogo

Last updated
StarLogo
Paradigm Multi-paradigm: educational, procedural, agent-based, simulation
Family Lisp
Designed by Mitchel Resnick, Eric Klopfer, Daniel Wendel
Developers MIT: Media Lab, Scheller Teacher Education Program
First appeared2001;22 years ago (2001)
Stable release
StarLogo Nova 2.1 / November 24, 2018;4 years ago (2018-11-24)
Typing discipline duck, dynamic, strong
Implementation language Java, C
Platform Java virtual machine
OS Windows, macOS
License Various
Website www.slnova.org
Major implementations
StarLogo TNG, StarLogo, MacStarLogo Classic, OpenStarLogo, starlogoT
Influenced by
Logo
Influenced
NetLogo, Etoys

StarLogo is an agent-based simulation language developed by Mitchel Resnick, Eric Klopfer, and others at the Massachusetts Institute of Technology (MIT) Media Lab and Scheller Teacher Education Program in Massachusetts. It is an extension of the Logo programming language, a dialect of Lisp. Designed for education, StarLogo can be used by students to model or simulate the behavior of decentralized systems.

Contents

The first StarLogo ran on a Connection Machine 2 parallel computer. A subsequent version ran on Macintosh computers. It was later renamed MacStarLogo, and now is named MacStarLogo Classic. The current StarLogo is written in the language Java and works on most computers.

StarLogo is also available in a version named OpenStarLogo. Its source code is available online, but the license under which it is released is not an open-source license according to The Open Source Definition, because of restrictions on the commercial use of the code.

TNG version

StarLogo TNG (The Next Generation) version 1.0 was released in July 2008. It provides a 3D world using OpenGL graphics and a block-based graphical language to increase ease of use and learnability. It is written in C and Java. StarLogo TNG uses blocks to put together puzzle-like pieces. StarLogo TNG reads the blocks in the order that they fit together, and sets the program in the Spaceland view. [1]

StarLogo is a primary influence for the Kedama particle system, programmed by Yoshiki Oshima, found in the Etoys educational programming environment and language, which can be viewed as a Logo done originally in Squeak Smalltalk.

Nova version

The latest version of StarLogo, StarLogo Nova, [2] [3] was released in beta form in the summer of 2014. StarLogo Nova takes the blocks language and 3D visualization engine of StarLogo TNG and brings them to the web browser. StarLogo Nova's execution engine is built on the Adobe Flash runtime and includes a purpose-built instancing rendering engine, using the Adobe Molehill 3D graphics application programming interface (API), able to render tens of thousands of independently moving agents on current hardware. The programming area is built on ScriptBlocks, a JavaScript-based blocks library. As of 2019, StarLogo Nova under development by the MIT Scheller Teacher Education Program, directed by Eric Klopfer, with lead designer and developer Daniel Wendel.

StarLogo Nova introduces several notable design changes relative to TNG, particularly with the introduction of a World agent, reminiscent of StarLogo 2.2's Observer. In StarLogo Nova, any command can be run by any agent, but each breed has its own program and can have its own set of breed-specific traits. This brings StarLogo Nova closer to an object-oriented programming design, in an effort to improve the ease with which students can transfer skills in StarLogo Nova to other, more mainstream languages. Other changes include the use of embedded arguments for blocks (similar to the language Scratch), What You See Is What You Get (WYSIWYG) editing of the simulation interface, and splitting the collision primitive into its component halves, with each breed having collision code on its own program page.

See also

Related Research Articles

<span class="mw-page-title-main">Logo (programming language)</span> Computer programming language

Logo is an educational programming language, designed in 1967 by Wally Feurzeig, Seymour Papert, and Cynthia Solomon. Logo is not an acronym: the name was coined by Feurzeig while he was at Bolt, Beranek and Newman, and derives from the Greek logos, meaning word or thought.

Curl is a reflective object-oriented programming language for interactive web applications whose goal is to provide a smoother transition between formatting and programming. It makes it possible to embed complex objects in simple documents without needing to switch between programming languages or development platforms. The Curl implementation initially consisted of just an interpreter, but a compiler was added later.

<span class="mw-page-title-main">Lego Mindstorms</span> Hardware and software platform by Lego

Lego Mindstorms was a hardware and software structure which develops programmable robots based on Lego building blocks. Each version includes computer Lego bricks, a set of modular sensors and motors, and parts from the Lego Technic line to create the mechanical systems. The system is controlled by the Lego bricks which act as the brain of the mechanical system.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language or block coding is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

<span class="mw-page-title-main">NetLogo</span>

NetLogo is a programming language and integrated development environment (IDE) for agent-based modeling.

<span class="mw-page-title-main">Constructionism (learning theory)</span> Learning theory involving the construction of mental models

Constructionist learning is the creation by learners of mental models to understand the world around them. Constructionism advocates student-centered, discovery learning where students use what they already know, to acquire more knowledge. Students learn through participation in project-based learning where they make connections between different ideas and areas of knowledge facilitated by the teacher through coaching rather than using lectures or step-by-step guidance. Further, constructionism holds that learning can happen most effectively when people are active in making tangible objects in the real world. In this sense, constructionism is connected with experiential learning and builds on Jean Piaget's epistemological theory of constructivism.

<span class="mw-page-title-main">Mitchel Resnick</span> American academic and programmer

Mitchel Resnick is LEGO Papert Professor of Learning Research, Director of the Okawa Center, and Director of the Lifelong Kindergarten group at the Massachusetts Institute of Technology (MIT) Media Lab. As of 2019, Resnick serves as head of the Media Arts and Sciences academic program, which grants master's degrees and Ph.D.s at the MIT Media Lab.

Etoys is a child-friendly computer environment and object-oriented prototype-based programming language for use in education.

<span class="mw-page-title-main">Scratch (programming language)</span> Programming language learning environment

Scratch is a high-level block-based visual programming language and website aimed primarily at children as an educational tool, with a target audience of ages 8 to 16. Users on the site, called Scratchers, can create projects on the website using a block-like interface. Projects can be exported to standalone HTML5, Android apps, Bundle (macOS) and EXE files using external tools. Scratch was conceived and designed through collaborative National Science Foundation grants awarded to Mitchell Resnick and Yasmin Kafai. The service is developed by the MIT Media Lab, and has been translated into 70+ languages, and is used in most parts of the world. Scratch is taught and used in after-school centers, schools, and colleges, as well as other public knowledge institutions. As of 15 February 2023, community statistics on the language's official website show more than 123 million projects shared by over 103 million users, over 804 million total projects ever created, and more than 95 million monthly website visits.

<span class="mw-page-title-main">Box2D</span>

Box2D is a free open source 2-dimensional physics simulator engine written in C++ by Erin Catto and published under the MIT license. It has been used in Crayon Physics Deluxe, Limbo, Rolando, Incredibots, Angry Birds, Tiny Wings, Shovel Knight, Transformice, Happy Wheels, and many online Flash games, as well as iPhone, iPad and Android games using the Cocos2d or Moscrif game engine and Corona framework.

Web-based simulation (WBS) is the invocation of computer simulation services over the World Wide Web, specifically through a web browser. Increasingly, the web is being looked upon as an environment for providing modeling and simulation applications, and as such, is an emerging area of investigation within the simulation community.

<span class="mw-page-title-main">Brian Harvey (lecturer)</span> American computer scientist

Brian Keith Harvey is a former Lecturer SOE of computer science at University of California, Berkeley. He and his students developed an educational programming language named UCBLogo which is free and open-source software, a dialect of the language Logo, as an interpreter, for learners.

<span class="mw-page-title-main">MIT App Inventor</span> Web application development environment

MIT App Inventor is a web application integrated development environment originally provided by Google, and now maintained by the Massachusetts Institute of Technology (MIT). It allows newcomers to computer programming to create application software (apps) for two operating systems (OS): Android and iOS, which, as of 20 January 2023, is in final beta testing. It is free and open-source software released under dual licensing: a Creative Commons Attribution ShareAlike 3.0 Unported license and an Apache License 2.0 for the source code.

Snap<i>!</i> (programming language) Block-based programming language

Snap! is a free, block-based educational graphical programming language and online community allowing students to explore, create, and remix interactive animations, games, stories, and more, while learning about mathematical and computational ideas. While inspired by Scratch, Snap! has many advanced features. The Snap! editor, and programs created in it, are web applications that run in the browser without requiring installation.

<span class="mw-page-title-main">Stencyl</span> Video game development software

Stencyl is a video game development tool that allows users to create 2D video games for computers, mobile devices, and the web. The software is available for free, with select publishing options available for purchase. The software was originally called "StencylWorks" while in development and for the initial release but was later shortened to just "Stencyl".

<span class="mw-page-title-main">Blockly</span> JavaScript library

Blockly is a client-side library for the programming language JavaScript for creating block-based visual programming languages (VPLs) and editors. A project of Google, it is free and open-source software released under the Apache License 2.0. It typically runs in a web browser, and visually resembles the language Scratch.

Eric Klopfer is a professor and Director of the Scheller Teacher Education Program and the Education Arcade at MIT. Klopfer's research explores how educational technology, games, and computer simulations can be tools for teaching complex systems and developing cognitive and computational thinking skills. Klopfer and his research group developed StarLogo and App Inventor for Android and other Visual programming language platforms that build on the work of Seymour Papert and Constructionism in education. He is also the principal investigator in the research and development of award-winning games designed for building understanding in science and math, connecting game play with scientific practice, problem-solving, and real-world issues.

<span class="mw-page-title-main">Turtlestitch</span> Embroidery platform

Turtlestitch is a free and open source platform for generating and sharing patterns for embroidery machines. Turtlestich is derived from educational programming languages such as Logo, Scratch and Snap! using the same jigsaw style programming paradigm which offers simplicity suitable for novices but has powerful features, described as ‘low threshold, high ceiling’ by Seymour Papert. Its microworld is a turtle representing the needle of a programmable embroidery machine. So Turtlestitch can be used for creating novel patterns for embroidery, combining the abstract logic of computing and the physical materiality of textiles. Its primary use is educational, as it offers a way of introducing programming to audiences with diverse interests. A growing gallery of open source embroidery designs enables community-based collaboration and shared learning. In 2017, Turtlestitch received the award for the best Open Educational Resource in the German-speaking countries.

References

  1. "StarLogo TNG". MIT Scheller Teacher Education Program Education Arcade. Massachusetts Institute of Technology . Retrieved 2019-07-15.
  2. "Welcome to StarLogo Nova". StarLogo Nova. MIT Scheller Teacher Education Program. Retrieved 2019-07-10.
  3. "StarLogo Nova". MIT Scheller Teacher Education Program Education Arcade. Massachusetts Institute of Technology . Retrieved 2019-07-15.