Where in the World Is...
Where in the World Is...
In this module, students will randomly choose countries and choose the best ways to visualize those countries on maps according to their sizes.
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 this free online introduction. If you would like a Computational Thinking Initiative ambassador or volunteer to help you run an adventure, please contact us.
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 this free online introduction. If you would like a Computational Thinking Initiative ambassador or volunteer to help you run an adventure, please contact us.
Learning Objective
◼
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
Standards Alignment
◼
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
Helpful Background
◼
STARTING POINT
STARTING POINT
“Today we’re going to locate and map different countries of the world. Let’s start by picking a random country.”
In[1]:=
RandomEntity["Country"]
Out[1]=
◼ 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?
CHECKPOINT
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.
In[2]:=
country=%
Out[2]=
“Now we can just type the name we created as input, run the code and get the same country as output.”
In[3]:=
country
Out[3]=
“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?
CHECKPOINT
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.”
In[4]:=
GeoListPlot[country]
Out[4]=
“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?
CHECKPOINT
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.”
In[5]:=
GeoListPlot[country,GeoRangeAll]
Out[5]=
“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.
CHECKPOINT
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?”
In[7]:=
?GeoListPlot
Out[7]=
“Instead of coloring in your country, we can specify that we want to use a marker.”
In[8]:=
GeoListPlot[country,GeoRangeAll,PlotMarkersGeoMarker]
Out[8]=
“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?
CHECKPOINT
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.
CHECKPOINT
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?
FINAL POINT
FINAL POINT
Ten minutes before the end of the module time.
Summarize
Summarize
Summarize what was done in the module and talk about findings.
Refer
Refer
Refer back to the learning objective and summarize how you have reached it.
Extend
Extend
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
Possible Additional Relevant Functions
Here • GeoGraphics • GeoDisk • Polygon
Possible Pitfalls
Possible Pitfalls
◼
Students may not be familiar with the pure function syntax used in the FormPage