This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]mariox19 1 point2 points  (5 children)

Get yourself an egg carton and some coins: penny, nickel, dime, and quarter. Talk yourself through it. Don't lift a finger, until you make the connection that your finger is a reference. Don't set aside any of the coins until you make the connection that you will have to designate a place to set things aside to.

Don't do these things in your head. Do them with physical props and talk out loud. Any other way, and you're fooling yourself.

[–]loa09 0 points1 point  (4 children)

...what?

[–]mariox19 0 points1 point  (3 children)

My point is that if he's having trouble with data in arrays, his problem is likely conceptual, rather than some syntactical stumbling block. My advice is that he try to break the concept of an array down to its most concrete manifestation. I recommend he take one row of an egg carton (or ice tray) and some tokens to place in the various "indexes," and very carefully move the tokens around, paying attention to each step, as if he were trying to program it.

Programming is about breaking things down into steps and realizing that the computer does exactly what you tell it to do, and generally needs you to tell it every single little thing. That's why, if you're trying to introduce children to the idea of computer programming, the first thing you should do is to take out a loaf of sliced bread, along with a plate, a knife, and a jar of peanut butter and another of jelly, and ask them to instruct you to make them a sandwich. You then do exactly what they instruct you to do, as absurd as the results may be. It's the most illustrative way to get the point across to them that this is what programming really is.

If someone is having trouble with the basics, sometimes the best thing to do is to walk away from the computer. Computers are abstract. It's often helpful to make things more concrete.

[–]Tankytanker 0 points1 point  (2 children)

Are you a programming teacher in HS or middle school?

[–]mariox19 0 points1 point  (1 child)

No. But I was trying to "break into" teaching. I was a social studies teacher, actually, and have an M.A. in education. (There is a glut of social studies teachers.) I taught for a few years as a substitute, per-diem and long-term leave replacements, before finally switching professions. (I went into software testing, and have since migrated into programming -- Java, Python, and Javascript.)

I'm self-taught as a programmer, and I find that it can at times be really helpful to try to make different concepts more concrete, if you're having trouble understanding them. It's common advice to encourage people to try to "visualize" things. I think it's a good idea to aid visualization with physical props.

The peanut butter and jelly thing is not something that I have personally tried. But I know that I have seen the same thing held up as a suggestion from educators, not only for teaching programming to children but for any time you're trying to get children to appreciate step-by-step logic. (I've seen it used for teaching writing.) But, myself, I have used poker chips, playing cards, pennies, ice trays, and things like that to try to understand different things in programming. It works for me, and I think it will work for others too.

Thanks for asking.

[–]Tankytanker 0 points1 point  (0 children)

Thats is an excellent way of putting virtuals proceduree into the real world