In this module, students will randomly choose countries and choose the best ways to visualize those countries on maps according to the countries’ sizes. Appropriate for ages 13+. Allow 60 minutes to complete the module. Important note: This module should be led by an instructor with basic Wolfram Language knowledge. If you would like to learn the language, please try thisfree online introduction. If you would like a Computational Thinking Initiative ambassador or volunteer to help you run an adventure, please contact us.
Students will be able to plot different countries and make reasoned arguments for how to best display a country’s location
Computational Thinking Principles and Practices
Simulating things that are hard or impossible to do by performing real-world experiments
Using code, graphics and text to communicate ideas while working on the project and after finishing
Using data to address real-world situations
AP Computer Science Principles:
LO 1.2.2: create a computational artifact using computing tools and techniques to solve a problem
EK 3.1.1 A: computers are used in an iterative and interactive way when processing digital information to gain insight and knowledge
LO 3.1.2: collaborate when processing information to gain insight and knowledge
LO 3.1.3: explain the insight and knowledge gained from digitally processed data by using appropriate visualizations, notations and precise language
“Today we’re going to locate and map different countries of the world. Let’s start by picking a random country.”
◼ Students may find it fun to announce the country that they have picked.
◼ If students ask what an entity is, you might demonstrate other kinds of entities that they can find, like “Artwork” or “City”.
◼ Have you ever heard of this country before?
◼ If you run the same code again, do you get the same country?
Check that every student has picked a country that they recognize or are interested in.
“You probably noticed that the output is different every time that you run RandomEntity. Let’s assign a name to your country so that we can use it later. We can refer to the country you’ve chosen by looking at its Out label.”
It might be useful to review (or introduce) the difference between % and %3, %4, %5, etc.
“Now we can just type the name we created as input, run the code and get the same country as output.”
“We could name this something other than ‘country’, but it’s good to use a meaningful name so that we don’t get it confused with other things we might name in our program.”
◼ What happens if you decide you want to go back to RandomEntity and change your country?
◼ Have you ever studied this country before?
◼ Do you know what your country looks like?
Check with each student to see if they have assigned a variable name to their country.
“ GeoListPlot makes a geographic plot. Try using GeoListPlot with your country.”
“What do you notice about this map?”
◼ What might make this map more useful?
◼ What if we wanted to look at two countries at the same time?
◼ What other things might we want to know about the geography of this country?
◼ Which continent is your country in?
Check that students agree that they cannot easily find the locations of their countries.
“Let’s give our countries more context by showing them on a map of the world.”
“Can you now tell where your country is located?”
◼ Which countries are we not able to see? Let’s make a list.
◼ Try different GeoRange settings (for example, GeoRange1000). Can you tell where your country is now?
◼ If all students happened to pick large enough countries to find, show them a small country like Monaco or Tuvalu.
Check that students agree that the size of some countries makes them hard to find.
“What are some ways that we could make smaller countries more visible?”
“Instead of coloring in your country, we can specify that we want to use a marker.”
“What are some issues with using a marker?”
◼ Suggest that a GeoMarker is a bit like putting a thumbtack on a printed map.
◼ Ask students whose countries were visible before whether their countries are more or less visible with a GeoMarker.
◼ Is GeoMarker equally useful for all kinds of countries?
◼ What information do we lose by using GeoMarker instead of coloring in an area? What information do we keep? What information do we gain?
◼ What rules might help us know whether a marker or a colored area will be a better way to plot a country?
Check that students have developed a heuristic for plotting different countries.
“In programming, we can make an output dependent on the value of an input by using an If statement.”
Run through the If statement example with different values for x, or give more examples. Discuss a few examples until students are comfortable with the “if, then, else” concept.
“How can we use an If statement in GeoListPlot?”
◼ Allow students to make suggestions for how large the country should be. Is there a single correct answer? Why might it make sense to draw the line at different sizes?
◼ Students may choose to specify by something else, e.g. square miles, instead of another country’s area.
◼ Ask students to try different countries to show that their code works for larger and smaller countries.
◼ It may be helpful to point out that the computer is simply executing the decision the students are making; they are doing the thinking, and it is doing the computing.
Check to see if all students have successfully tested their code including a conditional.
“We can deploy your mapping scheme to the web.”
◼ Why would it be useful to share this online?
◼ What happens when you input nonsense?
◼ What happens when you input a town instead of a country?
Ten minutes before the end of the module time.
Summarize what was done in the module and talk about findings.
Refer back to the learning objective and summarize how you have reached it.
Extend the module to the future. For example, “If you have time at home, try deciding how to pick a GeoRange for a given location.”
Possible Additional Relevant Functions
Here • GeoGraphics • GeoDisk • Polygon
Students may not be familiar with the pure function syntax used in the FormPage