In an increasingly technological world, computer science skills are extremely marketable. In fact, I know of several high school students who learned to code and who are saving for college or to start a business by doing freelance coding work.
Any student who is able to read can start learning many different coding languages. Scratch is the best 1st language to learn, yes, it has a low threshold and high ceiling. This block oriented language, lowers the initial threshold for learning to encourage new coders and it has the ability to build very powerful projects. Flappy Bird was prototyped in Scratch.
After your child, has learned the concepts; they can move from block to text based coding. All the computing concepts learned in Scratch translate directly.
“in my vision the child programs the computer and in doing so, both an acquires a sense of mastery over a piece of the most modern and powerful technology and establishes an intimate contact with some off the deepest ideas from science, mathematics and from the art of intellectual model building”
I teach kids how to code. Coding is telling a computer how to do something, step by step.
I had a brand new student, Veda, a bright young 5th grader. Mom offers “She loves minecraft and wants to do mods, but doesn’t know how to begin.” I say great. We can do that, but before we do that let’s learn how to code. I’’m teaching Scratch coding tonight. Have you coded in Scratch before?
I direct her eyes to the projected screen above where a blank Scratch project page is displayed.
I ask her “what is coding? And wait for an answer. I want to know what her sentence structure is like. I want to have an idea of what she knows and how she communicates information.
I continue to wait. She’s hesitant, She doesn’t want to give a wrong answer. Mom looks at her and I say guessing is OK. We’re all here to learn. She offers, “making the computer do stuff”. I say, yes that’s close. And then to drive the point home I grab the nearest object, a USB drive and ask her if she’s up for playing robot. She says yes and I say do you want to be the robot or the robot controller?
She says robot. Great, I reply. So I’m going to instruct you step by step to pick up the USB drive off the table, ok? It’s like Captain may I, you don’t do anything until I ask you to. She nods in agreement. I say pick up your hand, and she grabs the USB drive with her right hand. I correct her and say, no, I didn’t say to do that yet. Let’s try again.. Raise your right hand. Now hold it 3 inches over the USB drive and now reach down to the USB drive. She then grabs the drive.
I say “ I didn’t ask you to grab the drive yet” . “You jumped the gun.”
I say “let’s do this another way”.” I’ll be the robot and you’ll give me step by step instructions, OK?”
She places the USB drive back on the table and says grab the drive, I ask “with which hand?”
She says “Right”, I say “Ok, but how do I pick it up? “
I say remember what I just asked you to do? She says “yes, hold your right hand over the drive about 3 inches. “
She says “now drop your hand to the USB drive”, I comply.
Now pick it up. I ask ‘how” she has to stop and think. Just pick it up. I ask how? I ask her to look at her hand when she picks something up. What happens?
She looks at her hand and watches her fingers contract around the object.. I say yes, that’s right we have been picking things up for years, so it’s automatic, we don’t even think about what we’re doing, but we did give our hand those instructions to wrap our fingers around that object and turn our wrist inward.
“Curl your fingers around the object, until you can feel it tight in your palm”
Computational Thinking and Coding in the Classroom: Views from a Novice
Computers are best at following lists of instructions, while we humans are best at critical and creative thinking, making decisions and judgements, and problem-solving.
I always have and always will adopt a critical stance toward new ideas, trends, and movements in the education world. Ideas must be tested and evaluated on their merit. I am skeptical of absolutes. The world is probably a bit too complex for absolutes, most of the time. “Only a Sith deals in absolutes.” I am unequivocally against any statement of the construction, “_______ is the new literacy.” Literacy is, and always will be, the “new”’ literacy. This is my own “absolute”. Skills, texts, and our ways of engaging with them change, true, and school systems must catch up. But we have not come far enough into the universal literacy era (and the era of ubiquitous texts) to take literacy for granted. I wrote down my thoughts about reading, writing, coding, and “absolutes” a few years back.
Enough has been written enthusiastically endorsing coding as as 21st century skill for all; on the flip side, enough has been written against coding for all. In Ontario, Brian Aspinall is perhaps our most passionate advocate for teaching kids to code. People like Mark Zuckerberg can strongly advocate for all kids learning to code, and he should. A balanced perspective from Wired is here. A piece by Andrew Robinson about the “coding obsession” is here.
Arguments for and against coding tend to focus on its utility, from a future job perspective, and, increasingly, its power as a way of thinking. This piece is about the latter. It describes a novice’s glimpse into the world of coding with blocks.
My own experiences consist of a lone programming course in the Pascal language in about 1993. I am not sure that I finished my program for my project (a Minesweeper clone, that the teacher gave the perhaps politically incorrect name “Drunkard’s Walk”.) I know I didn’t work hard enough to access the type of thinking I needed to do to excel at the work.
“a source of power to do something and figure things out, in a dance between the computer and our thoughts.”
Computers are best at following lists of instructions, while we humans are best at critical and creative thinking, making decisions and judgements, and problem-solving.
This does not mean we want or need our students to be using computers all day to be computational thinkers. A child packing her backpack in the morning for school, purposefully choosing what will go in it, is thinking computationally. Following a recipe (or better yet, writing one), is thinking computationally. Selecting a math strategy to solve a problem in math class is thinking computationally. Reading, analyzing, and drawing conclusions from graphs are examples of thinking computationally. Recognizing patterns, like perhaps a simple ABAB pattern in Kindergarten made from loose parts, that’s computational thinking. Learning how to use the standard multiplication algorithm in math class, or even inventing your own? Computational thinking.
Bringing creative, flexible and logical thinking to classroom tasks, for me is the true argument behind bringing coding to schools.
This little bit of block text in Scratch represents my first attempt at block coding. I simply wanted to “code the answer” to a little question I made up, comparing costs for two amusement parks.
Here is how it went.
I spent a long time thinking about how to bring the project “‘into being”’. What should it look like? It didn’t exist yet. I had no idea, in my mind, what would appear on the screen, and what code blocks would help accomplish that. I am too much of a novice to think about the shortest, most efficient set of code. Just finishing with something that worked would be enough.
I was able to name variables, and to set up inequalities. I kept playing through pieces of the project as I created it, to see if it was working. It was. When I got to the end though, the inequalities set up to compare price weren’t working, at and after the point at which the two equations were equal.
I had to sleep on it. No debugging solution presented itself. In the morning though, I realized: I was trying to use letter “F” and letter “J”, instead of what was need, variable “F”, and variable “J’. Embarrassing rookie mistake.
By the end of this little bit of work, I felt my mind was starting to think in terms of computational logic. With more practice, who knows? (Well, I do know I won’t quit my day job!)
Another session exploring the very basics of Hour of Code and Scratch with grade 9 and 10 teachers went like this. One of the participants mentioned working with the Logo turtle as a kid in the 1980s. So we looked up projects that draw shapes, specifically rectangles.
The discussion that followed was interesting. We looked “under the hood” of various projects, and figured out how they worked. One didn’t reset the pen tool to the middle of the screen, so we fixed that. They all had remarkably different ways of doing similar types of things. It was an exercise in logic and problem-solving.
Just the merest novice glimpse into the world of computational thinking has me interested. I am an advocate for classrooms as open thinking spaces, and computational thinking is a powerful form of thinking. Classrooms should be places of creative, critical, logical, and yes, computational thinking.
My students’ knowledge and proficiency grew and grew with each passing class. From that first class until today, the kids are so engrossed in coding; that they wouldn’t leave their computers when I announced that class was over. They were hooked on making their coding projects. There was magic in the room.
Write Computer games This Summer @ Orange Coast College
TechsCool is offering an after-school S.T.E.M. (science, technology, engineering and mathematics) program that will introduce youngsters, to creative computing with Massachusetts Institute of Technology (MIT) Scratch programming tool, using a design-based learning approach.
This S.T.E.M program provides an introduction to creative computing with MIT’s Scratch programming tool, using a design-based learning approach. Creative computing is about tapping into your child’s creativity and allows your child to convert from a consumer of technology to a producer. Students will be able to “read” as well as ‘write in this digital age. Engaging in the creation of computer games prepares youth for more than careers as computer scientists or as programmers. It supports young people’s development as computational thinkers – individuals who can draw on computational concepts, practices, and perspectives in all aspects of their lives, across disciplines and contexts. Seating is limited, enroll early.
STEM education is growing in popularity as more people understand its importance in our society. As the Science, Technology, Engineering, and Mathematic fields grow, and as there is a higher demand for capable individuals, you are going to see more and more people learning about these fields. Getting in early can help kids to grow up skilled and knowledgeable, capable of getting into the field fully prepared for the work and challenges ahead. If you are hoping to prepare your children for this difficult field, or if they have expressed a desire to get into a STEM field, consider the STEM TechsCool MIT Scratch Programming Coding education learning experience.
STEM TechsCool offers the MIT Scratch Programming Coding to anyone hoping to learn more about programming in a way that is effective and entertaining. It is for students in 4th grade up to 9th grade and it helps them to learn more about programming. It keeps them challenged and entertained, and it continues to provide exceptional education learning. It is a vital tool in the growth of children who are considering the STEM field because of how it can improve their skills without losing them to boredom. On top of its effectiveness, there is also the high retention rate when using this program as opposed to others.
Throughout this program, kids learn things like iteration and conditional states, along with other important programming concepts. As kids develop their skills and grow with this program, they are able to do more difficult work and see greater results. Since it is fun and engaging, kids find it easy to start learning. They are going to go through each of the projects, learning along the way, and actually retain the things that they learn. When they are faced with real world problems or when they are learning these things in class, they are going to be prepared.
This program is widely available to students. It is used in over 150 countries and it is in over 40 languages, ensuring that everyone is going to learn without restrictions. Your child can make use of this program and its exceptional learning experience without trouble due to the language, translation, or availability, which is what makes learning so difficult with other programs. With the importance of STEM education being global, having this available to everyone allows growth of the field in all areas and with all students, regardless of where they are.
If your local school system offers computer science courses, chances are those courses are electives that won’t count toward core science or mathematics credit. The implicit message is that, while those skills may prove important for some students’ futures, they aren’t as transferable to a wide range of occupations as, say, Algebra 2 or Biology.
“There’s no specific place you can plan on going because there are so many different things you can do with programming,” Blazes told an audience during a panel discussion at The Atlanticmagazine’s Technologies in Education Forum earlier this month. “You can do pretty much anything with it that you can program.”
That’s because computer programming is a study of languages more than of technology or mechanics. And command of those languages allows programmers to control the functionality of anything that is driven by a computer.
For example, Blazes and Hounyo, both now high school students in the Washington, D.C. area, each won acclaim for helping to design educational video games. But they both said they initiallyembraced programming through school robotics clubs, where students not only build robots, but work to write code that can control robots’ movements and reactions. And as Blazes pointed out, the same skills could also be used for a wide range of career purposes, such as constructing meteorological simulations, making financial predictions, or creating personalized online learning curricula.
Yet in most secondary educational settings, programming is treated as a primarily technological pursuit with a far narrower potential application. One reason may be a simple lack of community exposure, said U.S. Sen. Amy Klobuchar (D-Minn.) in a separate conversation at the May 15 event.
“It’s really easy in a town like Rochester, Minn., where you can see you can get a two-year degree (in computer science) and you can get a job at IBM or (the) Mayo” Clinic nearby,” said Klobuchar, referencing one industrial town in her state where there is widespread need for employees with programming ability. “They see a connection. That doesn’t happen all the time with inner city kids or kids in small towns.”
Blazes and Hounyo say they have experienced a range of academic and extra-curricular benefits as a result of their pursuit of programming:
1. SUBJECT MASTERY
A primary use of programming is to lead a user through the acquisition of knowledge, whether it’s through a traditional lesson or an educational game like those created by Blazes and Hounyo. To lead a user through a range of possible options requires a coder to understand all those options and their implications. Blazes, for example, had to master the basic principals of genetics before creating his game, while Hounyo’s team had to learn about the principals of electricity.
2. SYSTEMS THINKING
Whether writing code to lead a player through a game or a robot up a pyramid, the programming process requires an understanding of how possible inputs and outcomes effect one another. Further, as students move from their first programming language to others, they also learn what organizational elements are universal and what elements may be specific to a particular coding language.
“They’re all sort of the same grammatical structures, and there are sort of different dialects, key words, or quirks to them that you sort of have to learn,” Blazes said of the coding languages he’s learned.
Most programming projects are multiple-person efforts because the pursuit lends itself well to specialization. For example, if a group of students are creating an educational game, one may have a firmer grasp of the subject matter, while another may be the head coder, and the third may be the visual artist. Some students are actually drawn into programming because of collaborative environments.
“I joined my school robotics team, and we did an awesome first season, and I got hooked to robotics ever since,” Hounyo said. “There are students and mentors working together, and they program the robot to do different tasks, from basic to higher levels.”
Both Blazes and Hounyo pursued programming out of their own interest, and suggested not all of their school classmates would be engaged by a formal computer programming education. But they also said the constructive nature of programming allows students who are passionate about it to harness that interest and take it as far as they might dare.
“Programming is fun to me,” Blazes said. “It’s something that I can sort of do and have fun and work on, and I can feel a sort of sense of accomplishment when I start working on stuff and even finish something.”
Scratch is a new programming language that makes it easy to create interactive stories, games, and animations – and share your creations with others on the web.
“Along with the traditional thinking skills, it is now essential to add:
Many media, creating, making connections, approaching a subject sideways, or solving a problem from the inside out– in other words, the kind of thinking fluent enough to come up with the innovations the future will demand”