NetLogo is an open source, cross-platform tool that enables users to model a wide variety of natural and social phenomena (including biology, chemistry, computer science, economics, physics, psychology, art, and much more). It's a great way to learn how to develop small, agent-based model simulations and explore how large and small changes can affect an environment.
NetLogo runs on a Java virtual machine and uses a modified version of the Logo programming language, so a lot of people will be familiar with its terminologies, such as turtles and lists. There are two versions available: NetLogo Desktop, a downloadable version that runs on Linux, MacOS, and Windows, and NetLogo Web.
Using models and extensions
Using NetLogo's interface tools, students can alter a model's parameters and monitor the effects of those changes using graphical displays of changing key values. It's best suited for small-scale models rather than large-scale, detailed, and complex agent-based modeling tasks.
NetLogo includes an extensive library of models that cover a wide range of phenomena from the physical, natural, and social sciences, and there are other community-generated models available.
It can take a while to find what you are looking for in the built-in model library because there is no search and the organizing principles are not very easy to follow. The upside to this shortcoming is you'll come across many interesting models during your hunt that you would otherwise have missed.
Extensions can expand NetLogo's functionality with new commands and features in Java and other languages. They enable users to add the features they want without cluttering the core program with things most users won't need. Users can write their own extensions or add existing ones available in the core program or in the GitHub repository. Be aware that some haven't been migrated to the latest NetLogo version and little-used ones may never be.
Learning about NetLogo
As an educational technologist, what I like most about NetLogo is its interactivity. It is easy to experiment by varying the model parameters, rather than just pressing go and seeing what a developer or instructor wants you to see.
My first exposure to NetLogo was when I took Introduction to Complexity from the Santa Fe Institute. But there are many other ways to learn it.
Its web-based user manual is a great place for English speakers to get started, and versions in Chinese, Czech, Japanese, and Spanish are linked from NetLogo's homepage. Looking at the library models' source code is a great way to learn and using and adapting the modules is also helpful.
Most of NetLogo's online resources are dominated by computer science departments and STEM (science, technology, engineering, and mathematics) subjects, but it can be applied much more widely for things including art, music, and philosophy.
NetLogo Web or Desktop?
NetLogo was created by Uri Wilensky in 1999 and has been developed at the Center for Connected Learning and Computer-Based Modeling at Northwestern University with bug fixes, translations into more languages, and an expanded model library. It is available as a desktop download or web-based version, which begs the question: Which version should you use?
NetLogo Web duplicates the NetLogo Desktop modeling environment in a web browser. It enables you to put NetLogo models on the internet or deploy them in a learning management system (LMS) like Moodle. One benefit of the web version is that NetLogo Web runs on tablets, phones, and Chromebooks, whereas Desktop NetLogo is limited to Linux, MacOS, and Windows computers. However, the web version can't yet run all of Desktop NetLogo's models, although the long-term aim is to bring it to parity.
For now, Desktop NetLogo is recommended when you're using a desktop computer and have a choice between the two deployment options.
NetLogo Desktop comes with two additional tools, BehaviorSearch and Hubnet, which most users will not need. BehaviorSearch provides a way to search for combinations of model parameter settings that produce a specified target behavior. HubNet lets you use NetLogo to run participatory simulations in a classroom group setting where each student controls part of the model using an individual device, such as a networked computer.
NetLogo is an excellent tool for introducing the concepts of agent-based modeling and developing small agent-based models. Students can use it to explore a wide variety of subjects, poke around in the models library, and even look at the code that makes a model run. For me, stimulating curiosity with tools like NetLogo is what lies at the heart of the open source movement.