Just like a cat loves to sit on your keyboard when you’re in the middle of typing, technology seems to love to shut down right when you need it most (which is kind of always in this day and age).
In light of that, my fellow TL’s-in-training and I have put together a Padlet board of ideas and strategies for how your students could learn about and help others with technology troubleshooting in the library and beyond.
I have used TinkerCad before, just in a tutorial to create a Die. I also tried making one of my favourite table-top games, Hive, using TinkerCad, before realizing that a free open source template already existed!
Today, I have chosen to create a simple skull button. I do love skulls 🙂
Reflections:
Pros
the steps were broken into tiny, accessible-to-me portions that I could click through and complete
without completing a site tutorial, I was able to figure out how to navigate based on the layout of the buttons
I could choose to click and drag, or to input my desired restrictions with my keyboard
the tutorial provided ‘ghost lines’ that I just needed to match my own shape to
Cons
figuring out how to change my own viewpoint of this project was frustrating; shift+ctrl+click allowed me to move myself around on the grid, ctrl+click allowed me to change the angle
there was one step where the orange ‘ghost lines’ didn’t actually fit the measurement they asked me to do! My perfectionism had a little spasm.
How would I use this in my library?
I don’t have a 3D printer, but this challenge really played on my ability to follow steps, use precision, click & drag, recognize shapes, and problem-solve. I needed patience, perseverance, and some existing computational skills to complete even this simple tutorial. All of these skills are great building blocks for students.
Without the reward of seeing their design printed, I may not actually introduce TinkerCad to students. Would it be relevant and authentic learning for them to learn to design something they can’t actually see come to life?
Similar skills can be built using Scratch, where the kids could design a game to play, or RoomSketcher, where size and layout are key.
Building on my last entry about Computational Thinking (CT), I want to dive deeper into what it means to actually engage in CT as an active participant. In Yasmin B. Kafai’s article “From Computational Thinking to Computational Participation in K–12 Education” the term computational thinking is reframed to computational participation (CP) (2016). According to Kafai, CP involves “solving problems, designing systems, and understanding human behavior in the context of computing.“
What does that look like in today’s Elementary (K-5) schools?
Kafai speaks of the importance of relevant and authentic learning opportunities, where kids can engage in digital practices that are fun, interactive, and actually mean something to them in the context of their lives. According to Kafai, “programming is not an abstract discipline, but a way to “make” and “be” in the digital world.” In other words, programming can be the digital language of identity-making online.
As with all identity-making, this is not a solitary pursuit. This must happen in collaboration, interaction, and communication with others. We are social creatures and we thrive in learning situations that allow us to build upon and with the genius of others. From building from “scratch” or “remixing” an existing product, Kafai stresses that a key feature for 21st century learning is open knowledge sharing and innovation.
It might seem like CP is as simple as grouping kids together to work on a coding project, but Kafai cautions that CP comes with its own set of challenges. Kafai reminds that students aren’t “digital natives” and that, “to learn to code students must learn the technicalities of programming language and common algorithms, and the social practices of programming communities.“
Some ideas to build the foundational skills, communication, and processes to become a CP?
Design “Exact Instruction Challenges” for your classroom: written or verbal. Focus on deconstructing a simple (or complex, if you’re brave and patient and have done this before!) task into its most basic steps. Build skills in communication.
Do round-robin designs: one student starts it off and then passes it on. Consider that this can be done on-paper (written or visual), physically (designing a dance or movement), verbally (a story or song), or with a hands-on creation like Lego or blocks. Your imagination is the limit, and the purpose is to foster open sharing, lessening attachment to ownership, and learning to work collaboratively. *Check out the full Google Design Sprint Kit.
Start your day with a WODB dialogue: Which one doesn’t belong? There are no answers provided with these, because multiple correct answers exist. This task builds skills in reasoning and explaining an answer, while encouraging out-of-the-box thinking and understanding that one-solution-fits-all is often a myth. I love this as a warm-up activity for math.
Granted, none of these ideas use tech. What they do is build the foundational skills for CT and CP.
Over to you:
How have you seen CP come alive in your school?
What have been some of the most successful (in terms of student participation, enjoyment, and learning) ways in which you have incorporated CP into your practice?
References:
Kafai, Yasmin B. “From Computational Thinking to Computational Participation in K-12 Education.” Communications of the ACM, vol. 59, no. 8, Aug. 2016, pp. 26–27. EBSCOhost, doi:10.1145/2955114.
Josh Darnit (2017). “Exact Instructions Challenge PB&J Classroom Friendly | Josh Darnit.” Retrieved on July 21, 2021 from: https://www.youtube.com/watch?v=FN2RM-CHkuI
LUMA Institute (ND). “Round Robin” from the Google Design Sprint Kit, last accessed July 21, 2021 from: https://designsprintkit.withgoogle.com/methodology/phase1-understand/round-robin
I’ve seen coding exercises, tools, and activities pop up in Elementary schools across SD61 and the kids seem to love the play-based, problem-solving learning. I have loved the variety of options available, from apps to gadgets to fully unplugged. In this post, I’d like to look at one of each at the Primary Level:
App: Scratch Jr.
The stepping stone to more advanced coding and programming, this app allows kids (aged 5-7) to work with graphical coding blocks in order to make their characters move, jump, dance, and sing. They can play with the visuals, personalize the characters and backgrounds, and get into some fun individual and team challenges.
Pros:
Free for iPad and Android
Developmentally appropriate for kids aged 5-7
Massive community for resources and support that can be easily integrated into many subjects
Cons:
Does not necessarily offer next-step links into text-based coding languages
It’s older sibling (Scratch) has received a 47% (Warning) rating on privacy and security from Commonsense.org
iPads or Android tablets are required, currently making this a tool for schools with financial privilege
Gadget: Cubeto
This fun little gadget takes coding off the screen and into kids’ hands. With tactile, Lego-like pieces, Cubetto teaches the basics of computer programming through play.
Pros:
No screens necessary, therefore no privacy or security issues
Play-based education
Hands-on, experiential learning
Developmentally suitable for children ages 3-9
Cons:
A price-tag of $400+ for one play-set means that this isn’t necessarily financially accessible to all schools
Does not offer links to text-based coding languages
Reliant on small pieces that may easily be lost or damaged
Unplugged: CS Unplugged
Now, this site does require at least the teacher to have computer access. This site gives teachers bucketloads of resources to teach CS skills without a computer! Building on the foundational skills of patterning, deconstruction, problem-solving, and more.
Pros:
Free to use and no tech tools required
Play-based and problem-based learning
Uses low-cost and general supplies, like string, cards, glue, and chalk
Well-organized site with excellent UX
Cons:
Not actually teaching tech skills directly
Does not translate to actual computer skills, but rather a foundational understanding of some computational thinking skills
I have had the pleasure of learning with and exploring each of these three tech tools and I think they each have a unique and valuable place in public schools.
Apparently, according to the BC Curriculum, children in grades K-5 are too young to learn Computational Thinking and Robotics. Or at least, anything explicitly called that. When I enter those search terms into the Search Curriculum page, with parameters set to K-5, I’m given nothing! When I remove the parameters, I see that the terms begin showing up in Grade 6 and are most predominant in Secondary grades. What a disappointment!
But what is computational thinking (CT) and how does it link to robotics? Is it possible that these skills are, in fact, taught at the K-5 levels, though not explicitly called that?
According to the CodeBC Computational Thinking Illustrated, when we engage in CT what we are doing is “specifically looking at what happens when we collect, store, and process data…. we take note and measure how data is transformed. We look at how information is processed and what is accomplished by that processing.” Another big part of CT is actually getting our hands busy by building and producing computational artifacts – like machines or robots. In other words, when we engage in CT, we do things like ideate, build, tinker, observe, and reflect. Now this is starting to sound like familiar curriculum for K-5.
When engaging in CT, we are also building skills in abstraction. One of the ways this is done is by building models – separating out the qualities we care about and leaving the rest. According to CodeBC, “when we deliberately separate our system into parts that can be individually understood, tested, reused, and substituted, then we are creating new abstractions.” Models can be physical objects or something less tangible, like a computer program. It takes time to learn how to narrow the margins and scope of a model so that the variables are measurable – create something without boundaries and you’ll “end up simulating the whole world!“
In CT, we are also guided to build skills in analysis, problem-solving, and communication (with machines, computers and humans). The answers we get after analyzing results may not always be obvious to others, and so it is our task as computational thinkers to figure out how to translate our findings into clear and accessible terms. Inversely, we may have an idea that we want to test out and we must also learn to translate our ideas into CT: coding, programming, machinery, etc.
In K-5, we are asked to build and analyze models, solve simple and complex problems, and learn how to communicate with ourselves and others. A great deal of this is done through play and scaffolding emerging scientific, mathematical, social, physical and creative thinking skills.
Team-workis another skill developed with CT. CodeBC reminds us that “building any complex system, software or hardware, requires more work be done in less time than any single person can accomplish.” Adding more people isn’t the magic recipe, however; “interpersonal and communication skills as well as knowledge of different team methodologies and processes” are vital to effective teamwork, as is good management as teams expand.
As it turns out, we are continuously developing CT skills at the K-5 level; it’s just not explicitly called CT. Being aware of the end-goal might be helpful for teachers who are introducing the skill-building exercises that will prepare children to become computational thinkers.
So, what are some explicit ways we can engage in CT?
Decomposition is one. Taking apart objects or breaking down a process into individual steps, like Josh Darnit does in his PB&J Exact Instructions Challenge:
Primary teachers are very familiar with another exercise in CT: pattern recognition. According to CodeBC, “forming an idea of what you expect is one way to find patterns. The more you look, the more patterns you will find in nature, in computational artifacts, and in processes. When we recognize a pattern, we can use our other computational thinking skills to help us understand its importance.“
Once we start to find and recognize the patterns that surround and are within us, we must learn to describe the patterns we see with precision. For this, we learn pattern generalization and abstraction. When generalizing, we look for similarities or commonalities in a group of patterns and we try to describe them in a way that is both clear and efficient. When we learn to describe a group of patterns, or a pattern of patterns, all at once, then we have an abstraction.
Finally, CT skills can be explored using algorithm design. While some algorithms are computer programs, it’s fair to say that an algorithm is more like an idea. In order to design an algorithm, you need to think about what you want to accomplish (your goal), and what tools and limitations you have (the constraints of the system). CodeBC says that designing an algorithm that “accomplishes specific goal within the constraints of the system is like creating an elegant dance that everyone else wants to learn.” Just like a dance, this is a process that can be explored, played with, and scaffolded in K-5.
So, what do CT and robotics have in common? CT is the framework we need in order to engage in robotics. It is the exploration and skill-building of language, patterning, process, and thinking that makes something like robotics possible. While “Computational Thinking” and “robotics” may not show up in the K-5 BC Curriculum, the foundational building blocks are there: analyzing, communicating, ideating, pattern-recognition, problem-solving. We just have to learn how to read the language of CT and remember to begin with the end in mind.
Recent Comments