For most people–even those who consider themselves relatively tech-savvy–coding is an arcane skill reserved for dedicated specialists. There’s a sharp learning curve involved, and seemingly little reason to learn to write code given the seemingly endless abundance of free apps available for anything you’d reasonably, or unreasonably, need. But last week, Jeff Immelt, CEO of General Electric, wrote the following:
“If you are joining the company in your 20s, unlike when I joined, you’re going to learn to code. It doesn’t matter whether you are in sales, finance or operations. You may not end up being a programmer, but you will know how to code.” (Source)
Why would we want everyone to code? Because…
Coding Teaches Computational Thinking
“Computational thinking makes it possible for transplant surgeons to realize that more lives can be saved by optimizing the exchange of organs among pools of donors and recipients. It enables new drug designs to be analyzed so that they are less likely to create drug-resistant strains of diseases. Artists, when given the tools to think and express themselves computationally, can create totally new modes of human experience. Users of the Internet, when empowered with computational thinking, can demystify privacy technologies and surf the web safely.” (Source)
Computational thinking is not just a skill desired in the workplace. It is a mental tool that can empower students to solve complex problems through higher order thinking skills like breaking information into pieces, observing patterns, generating principles, and developing methods for solving similar problems. Regardless of what you teach, your students would benefit from doing computational thinking.
I teach English, and I want my students to use these mental tools, particularly when it comes to understanding evidence they can use to support a perspective in argumentative writing.
But coding is really hard.
I don’t have time to learn to code, much less time to teach it.
I teach [English/History/whatever]. Coding is just for people in math and computer science classes.
Wrong. Enter Ready.
What Its Got Going For It
Ready is a program that allows students to practice the skills of computational thinking without having to write a single line of code. The interface is drag and drop, colorful, and clearly organized. It is designed to be simple enough for a child to learn through exploration and play. The program and runs on iPads, Windows PCs, and Macs, and the free version is powerful enough to create actual programs.
Ready’s interface is visual and focused around manipulable objects. Once a student has created a visual layout in which objects can “behave” and be manipulated, students can then engage in designing processes and behaviors for the objects to perform. Students use computational thinking to create whatever virtual world they want to create.
Students can choose from a wide variety of behaviors for their objects and “program” behaviors for them using many of the powerful features that computer languages offer like if/then constructions (called when/do in Ready) and classes (used for object-oriented programming).
I teach high school students, and the visual design of Ready makes this kind of computational thinking accessible to them.
In brief: Ready is visually appealing, easy to use, quick to learn, and contains many powerful features of programming languages.
Where It Is Lacking
Ready lacks some of the more complex and powerful features that real programming languages might offer, like communicating with existing internet frameworks and performing higher level math functions. You are limited to the edges of the Ready “window” when you create your project. More complex operations may exist somewhere in the program (if not, perhaps in a future update?), but if they do they are not as overtly displayed and as easy to implement as some of the other features that have to do with object properties and movement. Additionally, there is no way to go “underneath the hood” and work with an actual programming language or pseudo-language in the context of the project you are working on. If this were possible, it would be the perfect next-step for students who are ready to move on to an intermediate stage between Ready’s point-and-click programming and actual programming languages.
However, in the way I would use Ready, I don’t anticipate many of my students needing these additional features.
Unless you pay for an upgraded version of Ready, you as a teacher do not have access to any kind of classroom control panel for administration and grading, and neither you or your students can “share” any of your projects on the open internet–the program is confined to the computer it was created on.
In brief: Ready sacrifices simplicity for power when compared to actual programming languages, but “power” is not necessarily Ready’s goal. For many of the features a teacher would want to use to manage class projects, you need to pay for an upgraded version.
Computational Thinking In English Class – A Lesson Using Ready
Ready is by nature a project-based tool that provides an avenue of exploration for students to sharpen their computational thinking skills. As an English teacher, using Ready all by its lonesome in my classroom doesn’t make a lot of sense. I don’t teach programming. I want my students to gain the benefits of computational thinking skills to augment the work we are doing with argumentation and critical thinking. In this case, Ready is a tool for using computational thinking skills to explore the concepts students are investigating in their reading and discussion.
Because of its primarily visual nature, Ready is best suited for creating simulations of physical spaces and displaying representations of the consequences of actions. In my English class, I ask students to complete a community profile project where they research, synthesize and communicate issues, concerns, attitudes, values, beliefs, and possible courses of action related to an issue within their community. As a part of completing that community profile project, students could use Ready to create a simulation that:
- demonstrates the consequences of particular courses of action
- helps students understand cause and effect relationships by exploring the concepts through computational thinking
- use the data generated by the simulation as evidence for supporting a written argument
To be clear: using Ready will only be one piece of the larger community profile project that involves researching, interviewing, collecting survey data, and synthesizing information visually and in writing.
In the following example, a student is trying to answer the inquiry question: “What should my community do to reduce carbon emissions?” Using Ready, the student could explore possible answers to that question by creating a simulation that allows the user to examine various pathways to reducing greenhouse gas emissions within the community and the effects of those choices. I have created a sample student product–a (very simplified and somewhat inaccurate) simulation–that you can see in this video:
Students would need to research how multiple variables influence one another before creating this simulation. Creating the simulation requires students to think computationally about the relationships between variables, which deepens their understanding of the complexity of the choices available and their consequences. As their understanding deepens, so does their ability to use evidence to advocate for a particular perspective or course of action. Students could explain the process and results of this simulation and use that as evidence to support a written argument. There are obvious interdisciplinary applications here as well for building a bridge between English, science, and statistics.
I would expect that students will need some time initially to learn to use the tool through exploration and to think about what they could simulate using the tool, and what kinds of data they would want their simulation to generate. Computational thinking will be new for most students, and it is not something that is easily described, so this time for exploration and play is imperative.
I imagine that for students exploring more abstract issues that cannot be represented quite as easily with data (stereotypes and perceptions for example), using Ready might prove a bit more challenging, and students would need to find ways to quantify data that is usually qualitative by identifying patterns or collecting data through surveys. For some students, the process of working with computational thinking related to the issue they are exploring will be more valuable than any kind of product they might end up creating using Ready.
In reflecting on the implementation of this tool in the classroom setting I would want to collect information from students on their experience. What did they find most useful? In what ways do they understand their issue of focus more deeply? How would they explain what they now know to someone younger than them?
To really see whether or not there is application of understanding occurring, I would look for indicators in students’ writing that show they are using evidence examined through computational thinking to more strongly support a thesis/perspective/course of action.
Here’s the link to Ready’s website where you can download the tool:
Licensing beyond the free account:
Maker Account: $6.45 per month
Group License: $18.85 per month (30 seats)
School License: $195.95 per month (200 seats)