Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Rt&Dzine

macrumors 6502a
Original poster
Oct 8, 2008
736
5
I've started teaching Xcode to a kid. We've worked through a few simple online tutorials. Seems to understand the basic structure of the objective C code without any explanation. It was super simple code, but still . . . Anyway, I want to encourage this further, but don't want to do anything to overwhelm or turn him off. Do you think Objective-C by steven kochan is appropriate?
 
Last edited:
Wow, 7 years old! That's pretty impressive.

I'm making my way through the Kochan book at the moment... and if I remember correctly the third or fourth chapter is all about looping and uses the example of calculating triangular numbers. This is something I think a 7 year old will really have a hard time understanding! By all means go for it... it certainly cant hurt... but you may want to pick the bits of the book you learn from, carefully.

What about taking a look at Apple Script?
 
Excellent!

I'm not surprised that young children can programme, but I'm impressed that he's picked up Obj-C/Cocoa so quickly. IMO, it has a fairly steep initial learning curve.

From my own early programming memories, I was fascinated with graphics & sound programming (the more obvious and "cool" stuff), you might consider nudging him in that direction. Who knows.. he could end up being the youngest iPhone app/game publisher at 7/8 years old? :p
 
From my own early programming memories, I was fascinated with graphics & sound programming (the more obvious and "cool" stuff), you might consider nudging him in that direction. Who knows.. he could end up being the youngest iPhone app/game publisher at 7/8 years old? :p

I did some graphics programming myself (many years ago, long forgotten :eek:) so I'm partial to that. :)
 
I did some graphics programming myself (many years ago, long forgotten :eek:) so I'm partial to that. :)

Ha! I have a theory that programmers develop (or already have?) a very broad, but short-term memory. They need to remember, visualise and understand details of large, complex systems; which comes at the expense of long-term memory. Once the project is over, we're onto the next and forget the previous one. Or to put it another way, we've upgraded our RAM at the expense of any persistent storage! :)

There are lots of graphics options. You could help him with 2D graphics programming (such as a sketch app), and lead nicely into gaming. At some point you could look at something like Core Video, adding special effects to video, so he could start off by tinkering with existing sample code and move on to writing his own, in time.
 
Ha! I have a theory that programmers develop (or already have?) a very broad, but short-term memory. They need to remember, visualise and understand details of large, complex systems; which comes at the expense of long-term memory. Once the project is over, we're onto the next and forget the previous one. Or to put it another way, we've upgraded our RAM at the expense of any persistent storage! :)

OMG! I don't consider myself a programmer, but that's exactly how I learn! Fast and broad, but short-term.

There are lots of graphics options. You could help him with 2D graphics programming (such as a sketch app), and lead nicely into gaming. At some point you could look at something like Core Video, adding special effects to video, so he could start off by tinkering with existing sample code and move on to writing his own, in time.

Hey, thanks for the ideas. He's already making videos, so that would be perfect. Yikes! Now I have to learn some of this stuff to be able to help him . . .
 
He's already making videos, so that would be perfect. Yikes! Now I have to learn some of this stuff to be able to help him . . .

Or let him puzzle it out and then teach you. I can tell you from experience that nothing helps consolidate one's own knowledge of a subject quite like explaining it clearly to someone else. I can also tell you that sharing the experience of honestly exchanging knowledge is deeply rewarding.

Besides, it's easier if he learns now that you're not infallible or omniscient, when there's still a child-like respect for authority, than later in the tween and teen years when that knowledge becomes a weapon of rebellion. Respect for powerful tools must be cultivated, it doesn't pop into existence like magic.
 
Or let him puzzle it out and then teach you. I can tell you from experience that nothing helps consolidate one's own knowledge of a subject quite like explaining it clearly to someone else. I can also tell you that sharing the experience of honestly exchanging knowledge is deeply rewarding.

Besides, it's easier if he learns now that you're not infallible or omniscient, when there's still a child-like respect for authority, than later in the tween and teen years when that knowledge becomes a weapon of rebellion. Respect for powerful tools must be cultivated, it doesn't pop into existence like magic.

That was well put chown33. Another avenue the OP may want to pursue (in addition to the other excellent suggestions) are things like logic puzzles/games. Also, consider exposing him to mystery novels, or other examples of taking real-life problems and deconstructing them into their logical elements. Teaching him the "how" of problem solving and critical thinking is knowledge that will serve him well regardless of whether programming is where his passions ultimately lie or some other discipline.

I only bring this up because there are lots of "fun" things one can do to help prepare someone to be a good programmer that doesn't involve the computer.
 
That was well put chown33. Another avenue the OP may want to pursue (in addition to the other excellent suggestions) are things like logic puzzles/games. Also, consider exposing him to mystery novels, or other examples of taking real-life problems and deconstructing them into their logical elements. Teaching him the "how" of problem solving and critical thinking is knowledge that will serve him well regardless of whether programming is where his passions ultimately lie or some other discipline.

I only bring this up because there are lots of "fun" things one can do to help prepare someone to be a good programmer that doesn't involve the computer.

Interesting ideas. Thanks!
 
Last edited:
Could work the other way, too.

tell application "Mom"
make sandwich with properties {contents:peanut butter, jelly}
set beverage to milk using 2 percent
end tell

As I recall, "please" isn't part of any application's dictionary.

mt
 
Could work the other way, too.

tell application "Mom"
make sandwich with properties {contents:peanut butter, jelly}
set beverage to milk using 2 percent
end tell

As I recall, "please" isn't part of any application's dictionary.

mt

What's wrong with:
sandwich.png


:p
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.