Have you ever taught your friends/peers programming? Any "conversion" stories you'd like to share? What works (how did you get them interested)?

For me: I'll be teaching the computer class teacher's class 1-2 days a week how to use Game Maker and maybe BASIC256.
Generally, I've found that people who aren't interested in programming don't turn out to be good programmers. That said, I have tried to get some of my friends to learn TI Basic, and I got them to learn how to make simple Menu() based math formula programs. Still, even after I taught them that, they lost interest and just played games on their calculators. In my Computer Science class, everyone is somewhat interested in programming so it's easier to teach them.
To tell the truth, getting someone to program by your constant shoving and saying "You'll like it", doesn't work well, and I've been responsible for getting at least 5 people into calculator programming and at least 10 into programming in general. Last year in Programming (ah mah god, was that class a joke -- I called it "TaN" class because all I would do is work on Trio and Niko during it) me and my friend (who I should convince to join here -- he *is* a Java programmer, but as seana shows, even *they* are welcome here) taught Java to the class, and we even planned like 10 activities for them to do. Unfortunately half the class didn't understand our toolish jargon, and didn't get past "Lesson two -- the difference between println and print".

I think that BASIC256 is probably the better of the two options for you to teach -- with GameMaker you can slide by with being lazy with the drag and drop and by using pre-made graphics in your games. With BASIC256, you are forced to actually have to think somewhat about programming's structured form, logical roots, and good practices. Plus, I think most of us here will agree that our roots in TI-BASIC was what primarily got us into programming Smile I know it did for me -- it was a good, low level [as in learning curve] entryway into software development, and I found it to be the sole reason I'm here on these forums doing Calculator and Computer programming today.
I've gotten friends interested in programming just by showing that what I can do. I've also had teaching experience, and then it can be a little trickier. You will sometimes have people very engaged in learning, and others that just don't care. You have to try to play to everyone's strengths, and show them what they can accomplish.
Engagement is definitely very important. On a professional level, I've taught Introduction to Java and Advanced Java to engineers who immigrated from Russia and are refining their engineering skills; there was a huge difference between the uninterested students who browsed the internet in the back and the students in the front who asked great questions and worked hard on the informal homework assignments I gave out. I also have TA'd (that's Teaching Assistant; I basically taught the recitation sections) for Computer Organization, a low-level C programming class that teaches machine architecture, compiler internals basics, Linux/x86 design (for example, homework assignments implementing buffer overflow attacks to learn to use GDB), etc. Once again, even though the students were undergraduates that I was teaching rather than adult engineers, I saw the same division between people who were there to learn and who was there because they were told to. Actually, since no strict attendance was taken, I actually had a higher concentration of people who really wanted to be there, which was great. I love the feeling when you're explaining a difficult concept to one or more students, and they're having problems getting it, and it suddenly clicks for them.

Anyway, to answer your original question, I feel that many of the people predisposed to explore programming are probably going to find a way on their own. I agree that the small percentage who don't should be pushed in the right direction, but I also agree that there's no sense trying to push people who don't love hacking some elegant code together towards the occupation/field/hobby.
Pseudoprogrammer and I convinced my "ex" to take AP Computer Science her senior year of high school.
elfprince13 wrote:
Pseudoprogrammer and I convinced my "ex" to take AP Computer Science her senior year of high school.
And was that a success or a failure? What did it teach you about pushing people towards programming?
KermMartian wrote:
elfprince13 wrote:
Pseudoprogrammer and I convinced my "ex" to take AP Computer Science her senior year of high school.
And was that a success or a failure? What did it teach you about pushing people towards programming?

I'm not sure how successful it was, but it wasn't a failure, from my point of view. A lot of people will try programming out of curiosity, and even if they don't end up pursuing don't feel entirely negative about the experience.

My mother is another example of this, she learned some APL and some in-house database language for a job back in the day, but probably hasn't written a line of code in 25 years.
So is your conclusion from those two examples that everyone should be pushed to at least try programming, and not be forced to continue if they don't enjoy it or it doesn't click, or that people who show some aptitude and interest but don't quite make the jump to try should be pushed towards coding?
KermMartian wrote:
So is your conclusion from those two examples that everyone should be pushed to at least try programming, and not be forced to continue if they don't enjoy it or it doesn't click, or that people who show some aptitude and interest but don't quite make the jump to try should be pushed towards coding?

Maybe both? Problem solving skills in general are severely lacking in our generation (and more so for the kids coming through primary and secondary school now) thanks to the grade-inflated feel-good education system and lack of qualified teachers in the STEM disciplines. Learning programming and debugging skills is also a good way to learn problem solving skills that can be applied in all areas of life.
Sometimes I just show them what they could do with a calculator and a bit of time, and draw them in (at least for a few days).
Deep Thought, but then they get bored and drift away again? That's the problem with the upcoming generation; they've been weaned on so much entertainment that they have no ability to focus at all anymore. I entirely blame that for the fact that few of the current generation of calculator coders are really completing any programs, whereas the previous generation of a decade ago would throw together amazing ASM programs super-fast.

Elfprince: Indeed, and I think the lack of focusing and the lack of problem-solving skills go hand in hand.
KermMartian wrote:
Deep Thought, but then they get bored and drift away again?
Some got tired of coding, others had some sort of epiphany and now look at calculator coders with disdain Razz
KermMartian wrote:
That's the problem with the upcoming generation; they've been weaned on so much entertainment that they have no ability to focus at all anymore. I entirely blame that for the fact that few of the current generation of calculator coders are really completing any programs, whereas the previous generation of a decade ago would throw together amazing ASM programs super-fast.
I wish I'd been around then Surprised
KermMartian wrote:
I entirely blame that for the fact that few of the current generation of calculator coders are really completing any programs, whereas the previous generation of a decade ago would throw together amazing ASM programs super-fast.


As I said on IRC: the main difference I see is that these days, more assembly programmers are making games than are making awesome assembly hacks. It's rare that a featured program on ticalc.org is not a game these days.

And I suppose you could argue that games require a different kind of effort/time commitment to make and so might progress slower than an assembly hack.

Not that I don't think you're right about the current generation, I just think that people in this generation who would be programming would also be somewhat better off.
KermMartian wrote:
whereas the previous generation of a decade ago would throw together amazing ASM programs super-fast.

Four Words: Sonic, Zelda, Robot War.

Not quite a decade old, but all more than half a decade old. Not to mention the abandonware that plagued MaxCoderz's project forums (Desolate 2, Super Smash Bros, etc).
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement