Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Actually, I think you were referring to my comment about teaching my brother(15) C.

I think your observation about someone finding it not fun and then never choosing to "upgrade" is appropriate for some. What I think it important is evaluating the person and determining what language would be most appropriate for them. In your son's case, GameMaker might very well be the most appropriate thing for him. You're probably the best judge of that. I don't think that anyone else could profess to know your son better than you. But that doesn't mean that something like GameMaker is appropriate for everyone learning how to program.

For instance, in my brothers case, I think he'd actually get bored with something like GameMaker. My first thought as far as a programming language was something like VB, because it's graphical, quicker to develop GUI's and the editor reduces the need to look up syntactical things. But the downside was that he wouldn't know what was really going on. If he was younger, I might have introduced him to VB, but not where he is now.

There were quite a few things I took into consideration (and I think that others should take into consideration when trying to introduce someone to programming). The first was (and I hate to use the term), IQ. That's not the exact term I'm looking for, but it's as close as I can come at the moment. I might just be biased, but I consider him to be extremely bright. At 15, he has logic and deductive reasoning skills beyond people I've worked with. Straight A student who's taking the AP math and science courses for the grade above him. Math and general logical thinking has always come naturally to him.

Next was his general disposition towards problem solving. He loves solving problems. You could even say he thrives on it. So there isn't a need to introduce him to problem solving, just to show him how people go about that when designing a program.

Next was taking a look at where he might go with programming. I knew that he was planning on taking a C++ class next year (this fall now) in school.

With all of that, I felt that C would be the place to start. So far so good. He has a pretty good understanding of pointers and malloc and that's what I was hoping for. Now, when he's using any other language, he'll know that there's much more that goes on behind the scenes. I'm a firm beliver that you should, at some point, teach a person the building blocks. When I've taught anyone about general PC functionality, I always start with DOS. Down to the level of what really happens when you turn the computer on. I think things like that go a long way to demystifiying the process. But again, that might not be for everyone.

So I guess my point is that there's probably no one language that is appropriate to teach everyone. As with anything, the material should be adapted to the audience by figureing out what is going to give you the best distance/mileage ratio.

Rich


In reply to Re: Learning how to program (for youngsters of any age) by rchiav
in thread Learning how to program (for youngsters of any age) by pmas

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (5)
As of 2024-04-24 10:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found