How to Run a Computational Adventure
Basic Objective
Basic Objective
The basic objective is to guide students through practicing computational thinking principles and practices. These principles include but are not limited to:
◼
Interpreting a problem or idea in such a way that a computer can assist with it
◼
Making visualizations to think through ideas (not just as final output)
◼
Simulating things that are hard or impossible to do by performing real-world experiments
Basic Plan
Basic Plan
Following your chosen module outline, you type and execute code on your computer, projected so students can see. You take suggestions from students for new code to try, then discuss the significance of what happens.
Students copy code you display and type and execute it for themselves on their own computers (if at all possible, each student should have their own computer). Students try variations of the code on their own computers, and you help students debug their code when necessary.
Students build up their own online notebook as a diary of the adventure, containing code they typed as part of the adventure and the results (pictures etc.) that it produced. Adventures will often produce graphics, and can produce audio, 3D printouts, deployed websites, etc.
Students can use the notebook to explain to others what they did.
Students can use the notebook to explain to others what they did.
Typical Flow
Typical Flow
Get Students Set Up with a Blank Notebook
Give a Short Description of What’s Going to Happen
Get Students Set Up with a Blank Notebook
Give a Short Description of What’s Going to Happen
Give a Short Description of What’s Going to Happen
We’re going to make pictures of regular polygons. You use RegularPolygon to do that.
Show a Code Example
Show a Code Example
Here’s a square:
Graphics[RegularPolygon[4]]
The 4 says we want a polygon with four sides. Let’s do three sides to make a triangle:
Graphics[RegularPolygon[3]]
Students Type the Code for Themselves
Students Type the Code for Themselves
OK, you try that.
Graphics[RegularPolygon[3]]
Did everyone get a triangle?
Students Modify the Code
Students Modify the Code
Graphics[RegularPolygon[5]]
Show me what you got.
Suggest an Extension
Suggest an Extension
Try more sides—say, twenty.
Graphics[RegularPolygon[20]]
Ask for Observations
Ask for Observations
A student might say, “That looks like a circle.”
Show Students’ Suggestions
Show Students’ Suggestions
Graphics[RegularPolygon[20]]
It’s pretty close to a circle, isn’t it? Can you still see the sides, though?
Talk about Some Variations
Talk about Some Variations
Shall we try it with different colors?
Graphics[Style[RegularPolygon[10],Orange]]
Ask More Questions
Ask More Questions
When does the shape have parallel pairs of sides?
How many sides do you think we have to have before it really looks like a circle?
Add Text to Annotate What You’ve Done
Add Text to Annotate What You’ve Done
Let’s put in a section heading here to say we’re working on regular polygons.
Let’s write a piece of text to describe what happens for a polygon with many sides.
Have a Student Explain What Happened in the Adventure, or Make a Conclusion Yourself
Have a Student Explain What Happened in the Adventure, or Make a Conclusion Yourself
We can get all the different regular polygons by changing the number of sides. When there are enough sides, we’ll get something close to a circle.
Technical Setup
Technical Setup
Wolfram Programming Lab
Wolfram Programming Lab
Cloud with Login
Cloud with Login
Mac, Windows, Linux Desktop
Mac, Windows, Linux Desktop
Students use a desktop version of Wolfram Programming Lab. This requires installation on their computer, and should typically be done in advance of the Computational Adventure.
Raspberry Pi
Raspberry Pi
Wolfram Programming Lab is preinstalled on the Raspberry Pi. Students should launch the program from the Pi desktop and create a new blank notebook.
Note: Almost all operations are fully compatible between different versions of Wolfram Programming Lab. However, highly interactive operations may run slowly on cloud versions, and operations using extensive data from the Wolfram Knowledgebase may run slowly on desktop versions.
How to Set Up Your Computer & Notes
How to Set Up Your Computer & Notes
You’ll be projecting your computer screen. Make sure you have Wolfram Programming Lab started.
You’ll want to use the module outline as notes. You can print out the outline, or display it on another device (including a smart phone). You won’t want to have the outline displayed on your primary computer; it’s much better to type each line of code, just like the students do.
As you go through the adventure, add section headings and text to your notebook, and encourage the students to do the same so they have a good record of what they did (and so they can practice writing descriptive prose).
You’ll want to use the module outline as notes. You can print out the outline, or display it on another device (including a smart phone). You won’t want to have the outline displayed on your primary computer; it’s much better to type each line of code, just like the students do.
As you go through the adventure, add section headings and text to your notebook, and encourage the students to do the same so they have a good record of what they did (and so they can practice writing descriptive prose).
Something to Know
Something to Know
Make sure the fonts you project from your computer are big enough for everyone to read. On the desktop, use the magnification menu at the bottom of the notebook window. In the cloud, use browser magnification.
Some Principles
Some Principles
Students Type for Themselves
Students Type for Themselves
Make sure each student is typing everything for themselves. Don’t let them copy/paste your code or other students’ code. Unless you’re troubleshooting hardware issues or other logistics, keep your hands off of students’ keyboards.
Don’t Lecture
Don’t Lecture
Adventures are about students trying things. The role of the instructors is to help the students explore more deeply, not to make them stop exploring while they listen to you talk. Embrace open discussions and walk around helping students. Don’t be stuck at the front of the room.
There’s an Outline, Not a Script
There’s an Outline, Not a Script
Expect to deviate from the outline for the adventure, based on your own thoughts or student suggestions.
Take the Students’ Suggestions
Take the Students’ Suggestions
Make sure the students are asking “what if?” questions, then change your code to try to answer them.
Each Student’s Notebook Should Be Different
Each Student’s Notebook Should Be Different
As students make suggestions, some may go in slightly different directions than others. Allow for these differences and have students share with each other.
Expect Moments of Discovery
Expect Moments of Discovery
When you do things that aren’t on the outline, you’ll get results you’ve never seen before, and may not expect. Savor these moments of discovery!
You May Not Be Able to Explain Everything
You May Not Be Able to Explain Everything
“Why are there so few pink country flags?” You can come up with hypotheses, but don’t expect to be able to definitively answer everything you discover. Encourage students to research further on their own.
Embrace the Debugging Process
Embrace the Debugging Process
Things will go wrong, for both you and the students. Calmly analyze what’s happened so you can fix it. Expect the students to help (“Can you see what’s wrong with this?”). Even the most experienced programmers need to debug. See the An Elementary Introduction to the Wolfram Language chapter on debugging.
A Few Tips
A Few Tips
Pay Attention to Syntax Coloring
Pay Attention to Syntax Coloring
The Wolfram Language annotates code with colors. If a bracket is still purple, for example, it isn’t balanced. Figure out what’s wrong.
Students May Have to Be Shown How to Type Some Keys
Students May Have to Be Shown How to Type Some Keys
You may have to show them where the [], { }, &, etc. keys are.
Look at Examples in the Documentation
Look at Examples in the Documentation
Use the (i) to open documentation for any function. It’s OK for students to see you’re doing that; they should be doing it too. Look for examples that you can copy/paste.
If You’re Using a Desktop Version, Make Sure to Save
If You’re Using a Desktop Version, Make Sure to Save
The cloud version automatically saves every change. On the desktop, you tell it when to save. It’s a good practice to save often.
Remember to Say You Don’t Know
Remember to Say You Don’t Know
Computation adventures involve discovery, and it’ll be quite common to get results neither you nor perhaps anyone else in the world has ever seen before. By all means, try to explain what you see, but it’s OK to say you don’t know why it happens. If you want, trying posting on Wolfram Community to see if any of the experts there know.
Have a Consistent Way to “Speak Code”
Have a Consistent Way to “Speak Code”
“Open bracket x close bracket” etc.