Published by EducationNews.org — Start teaching programming skills in middle school to get more kids hooked on computer science.
For 11 years, Kelly Powers has had her dream job teaching computer science. But not without a big, illustrative glitch.
Five years ago, the private girls school in Massachusetts where she was working decided to eliminate the subject. Since no one else was teaching programming, why on earth should they? They figured that students needed only what’s considered “computer literacy,” a grasp of the basics — Word, Excel, PowerPoint. The science of computing was not important.
Bad decision. Their loss.
Some high schools offer Advanced Placement (AP) Computer Science, an elective for smarties. Maybe web design for a semester. But true computer-science (c.s.) courses are rare as hens’ teeth. So, sigh, Powers had to get real. She had a B.A. in both math and computer science, and an M.B.A. in information systems, but she enrolled in a program that would beef up her credentials for teaching math in public middle schools.
Then fate stepped in. The Advanced Math and Science Academy Charter School (AMSA) was advertising for a computer-science teacher. Bliss! Or more appropriately, mutual bliss, since capable K-12 computer-science teachers as hard to find as c.s. teaching jobs.
Her main new duty was to oversee their c.s curriculum, taught every year in grades 6 – 11. In truth, she had to build one. As recently as 4 years ago, the one nationally-developed K-12 Introductory course had not yet gelled. AMSA middle-schoolers were stuck using introductory college materials.
“When I got there, they were using compilers and writing code. The tools weren’t kid-friendly.”
Powers had experienced this problem at her other school. “Writing code is really frustrating for kids. It looks like writing, only harder, and it has to be perfect to work. It’s way too text-based to be a good way to start learning. Kids need visualization tools, where you can drag images and blocks of code to build artifacts that work. I go to a lot of professional development partly to find out about the slew of tools available for free. There’s Scratch at MIT and Alice from Carnegie-Mellon.”
The key to teaching kids this science is changing their attitudes. Especially among the girls. It’s best to start as early as possible, before that “I can’t” mindset has taken root. “People say, kids in 6th grade can’t do programming. Actually kids in 4th can.”
So teachers help students “believe that they can use technology to innovate, to create. They practice it and keep practicing it until they believe. And when they do, the level of engagement from the kids is just magical. They’re like sponges.”
The secret is to teach one concept, but then have the kids make something they can see, touch, manipulate, use — distilled hands-on learning. “Our students don’t learn a (computer) language for its own sake. They always need to do a task that requires the language.”
Starting with AppInventor, 6th-graders learn very basic skills by building a simple phone app of their own choice. They can drop and drag blocks of code or icons indicating certain functions. They can build weather apps or upload pictures of the teachers and throw pies at them. In any case, there it is: you made something. You programmed. Be done with self-doubt.
Powers says, “We teach them to solve problems. How to approach a problem, break it down. This is applicable to every aspect of their life.”
For example, “Computational thinking (integral to c.s.) is very creative. We give problems like: here’s a list of 10 songs that they know. Okay, organize them. One kid gets a piece of paper and puts them down in alphabetical order. Good solution. Another uses Excel. Yet another has some other tool. Good. Okay, what if you have 100 songs? Now the paper-pencil kid is struggling. How about 1,000? Now a million. This is a great conversation. The kids have to think about how to solve this problem. It’s just awesome when a student solves a problem in a totally different way than I would.”
For the record, AMSA students kick butt on the 10th grade MCAS statewide exams. All of them, not just math and science.
Because learning computer science teaches kids how to think. The science itself teaches the 21st century skills, which are: critical thinking, problem solving, communication and collaboration.
Could all the money and effort being pumped into education reform be missing something? Like, say, computer science?
Which is a little silly considering what a piece of cake it is to intrigue a distracted middle-schooler with electronics. As Powers says, “We find it easiest to integrate c.s. from the get-go. Kids love the creative nature of computing.”
So kids love it. The academic results are great. But this nation has a dearth of computer science courses for K-12 (Not so Russia, Israel and India). Next week we’ll look at the crisis this situation is causing in the business world.
In the meantime, note that the introductory Exploring Computer Science course — aimed at 9th-graders — will be offered July 29th – August 2nd. For details and registration, contact Kelly Powers at K.Powers@amsacs.org .
Julia Steiny is a freelance columnist whose work also regularly appears at GoLocalProv.com and GoLocalWorcester.com. She is the founding director of the Youth Restoration Project, a restorative-practices initiative, currently building a demonstration project in Central Falls, Rhode Island. She consults for schools and government initiatives, including regular work for The Providence Plan for whom she analyzes data.For more detail, see juliasteiny.com or contact her at email@example.com or c/o GoLocalProv, 44 Weybosset Street, Providence, RI 02903.