back

by thunderbong·10y ago·view on hn ↗
Scratch has the concept of functions. They are also called blocks. Custom blocks which kids can create. The blocks can take parameters and are conceptually identical to functions.

I don't know about the other languages mentioned though.

I prepare curriculum for Grades 4 and 5 on Programming using Scratch and Flowcharts and teach kids to create blocks whenever they see that functionalities are getting repeated.

Kids tend to learn a little differently compared to adults. Adults tend to want to know the 'big picture' before they begin and tend to have different preconceptions based on what they've learnt earlier. Kids' learning is much more playful, motivated more by inquisitiveness and curiosity. They don't have the urge to prove anything to anyone, including themselves.

At those grades, their brains are very flexible and they can think of strange combinations and the ultimate goal of having a program solve a problem is not the aim. Even after many years, I find it hard to let go of trying to guide kids towards a goal, rather than keeping my mind open to new things that they are able to see just because they're not motivated the same way we as adults are.

2 comments
That's true. Logo has functions too. But for all the innovation that has gone into making the notion of an instruction easy to learn, functions everywhere look the same. For example, why can't a function in Scratch change its shape based on the number of arguments?

When I learned programming it took me years to stop "ping-ponging" between bugs. I'd fix the most recently discovered bug, only to simultaneously break the second-most recently discovered bug. My students show the same behavior. That's a sure sign that just giving kids functions doesn't help them understand.

Your observations about the differences in learning strategies were useful, thanks.

I hope you don't mind me asking, but I would really appreciate if you could share the curriculum you have been working on, or if you could share you experience.

I am currently trying to do the same, so I would appreciate any form of help I can get.

Regards.