Building models is actually three distinct steps – Brainstorming, Designing, and Coding. The following section demonstrates a variety of instructional strategies designed to facilitate student growth by having students master one step at a time. First, students learn to code by being assigned specific tasks. Next, students learn to design by being provided specific settings. Finally, students become responsible for brainstorming by being given problems to solve. With proper scaffolding, students can experience the full building process and become expert modelers.
Have Students Create Non Computational Models
Having students create models – for example: diagrams, functions, dioramas, or engineering projects like bridges, parachutes, or catapults – will force students to look carefully at the components of a system and the rules that govern that system.
Coding a Model from an Outline – Puzzled Code
Much like a Build This!, the Puzzled Code Activity has students attempt to re-create a model they have observed visually, however, they do so by putting paper code fragments in the correct sequence. This is appropriate for teaching large scale structure of programs. Often students develop a deeper appreciation for code sequence – for example, which lines of code need to go in the setup or go and which order the lines of code need to go in to produce the desired outcome. Students will appreciate the use of manipulatives, sharing that occurs, and being able to think about the coding process without having to use a computer or feel limited by their understanding of syntax, structure, and keywords.
Coding a Model from an Outline – Hot Potato
Also similar to a Build This!, students work to re-create a model they have observed visually. However, they share a whiteboard and can only write a single line of code before passing to the next person in their group. This process fosters discussion and students will often need to think very critically about what elements of a program already exist before they develop their next line of code. Students will often develop a better understanding of their peers’ thought processes which can improve their own coding and problem solving abilities.
Carefully consider your grouping strategies to make sure all students are able to participate and contribute. Consider grouping your fastest students and giving them an extension to the model to attempt while other groups work through the process.
In this Hot Potato participants pass a whiteboard and try to reverse engineer this program:
Here is a video of the Hot Potato in action:
Download the model for this activity here.
The Blended Hot Potato – Mashed Potatoes
The Mashed Potatoes Strategy is a blended approach where a teacher can play a short video, like the one below, for their students. Students will follow the directions in the video to complete the task.
NetLogo Web: Mashed Potatoes – Welcome Back to School
This is an ideal strategy for teachers somewhat new to NetLogo to gain confidence in delivering NetLogo to their students. It can also be used to completely flip portions of the NetLogo learning process. Students can work with a substitute teacher, at home for homework, or even during summer to work through tasks and gain proficiency in coding. Here is a video on how to make videos using Camtasia.
Coding a Model from an Outline – The McCullough
The McCullough is somewhat similar to a Build This! but rather than giving students the GUI, students are provided only the comments in the code tab and information in the info tab. Students must read the info tab and comments in the code tab to gain an understanding of the purpose of the model and then fill in the code themselves. This activity allows for a great deal of scaffolding. Students can complete a program missing only a few lines of code all the way up to creating every line of code.
In this example of The McCullough, students need to assign a turtles-own variable energy and use it to govern fish reproduction.
Download the participant version of the program here. Download both the participant and complete versions of the program here.
Coding a Model from an Outline – Build This!
A build This! activity tasks students with replicating a program by reverse engineering the code. For example, students may need to replicate a static visual field (example, fish and sharks in an ocean). Students cannot access the code and will need to apply the techniques they know to complete their model. Always carefully consider the techniques your students possess while constructing a build this to appropriately challenge their abilities. Build This! activities can be used as warmups, checking for understanding, and independent practice. Having students share their code to solve the problem can be enlightening as a range of solutions often exist to a single problem.
Here is an example of a Build This! activity called Building Worlds.
Participants build these four worlds in NetLogo:
Download the handout here.
Designing and Coding a Model from a Physical System – Bifocal Modeling
Showing students a physical system and then asking them to model what they saw in NetLogo can be a very powerful activity. Something as simple as dropping a ball, rolling a car down a ramp, or diffusing dye in water, can prompt students to ask questions and apply their coding techniques. A good strategy is to have students record the phenomena using their phones, take notes, and fill out a worksheet as they work through the observation, design, and building process.
Brainstorming, Designing, and Coding Models – Keyword Showcase
In a Keyword Showcase your students are either assigned or select a keyword from a list of keywords you generate. They must investigate that keyword, master its use, and then either do a short presentation demonstrating its use in a program, or even better, video capture themselves teaching the use of the keyword. This activity can be used with words students are already familiar with or completely new words, depending upon the experience level of the students and the difficulty of the keywords. This activity will force students to look very carefully at the use of the keyword. More importantly, they will be teaching from and learning from their peers. Video captured lessons can be used for years to come as a resource for future students.
Brainstorming, Designing, and Coding Models that Produce Data
Questions can often only be answered with data – the right data. Having an idea of what you want your model to produce before you begin the design process is important because it allows you to think through the scope of your model before you set to work on coding it. Students should story board their model by thinking about the product they hope to produce. This drives the coding and often produces new challenges.
Brainstorming, Designing, and Coding Models to Solve Problems – Capstone
The ultimate goal of this scaffolding process is to have students experience the full design process through a Capstone project. By the end of the year, or perhaps at the conclusion of a multi year pathway, students can pose a question, define the problems associated with that question, conduct research into the phenomena, design a model, and then build the model. Students can work individually or in groups. These projects can take many weeks and students should invest a significant amount of time into each component listed previously as well as analyzing and presenting their findings.