Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Cases for teaching Perl

by techgirl (Beadle)
on Jan 29, 2004 at 19:38 UTC ( [id://325017]=note: print w/replies, xml ) Need Help??


in reply to Cases for teaching Perl

>> And have you even introduced a not necessarily geek friend to programming, and what is your experience in this case?

The other posters gave you some thoughts on specifically on Windows tasks.

But I have lately been considering the latter part of your question because I'd like to teach my 14 year old cousin (another girl geek, and she runs a web-ring site in the UK) how to code.

You can of course, start with immediately relevant tasks, but then I wonder if you risk skipping over important foundation-level concepts -- which is I think why you start with those first 30 pages of the Camel book.

Thus, teaching the non-interested -- or perhaps piquing the interest of the non-initiated -- can indeed be a formidable task.

I had hoped that there might be a series of programming challenges somewhere on PerlMonks -- perhaps even a parallel experience system, where you'd complete programming exercises to rise up through the ranks (rather than just logging into the site.)

Maybe it could be implemented just by organizing the tutorials appropriately, or maybe the most appropriate thing is to set up a wiki somewhere else.

I wonder if this has come up before? But I don't know the monastery well enough to know where to look. In the XP discussions (of which there are so many). Or in the learning perl discussions? If you have any related threads you'd like to point me to, please do... ;|

Replies are listed 'Best First'.
Re: Re: Cases for teaching Perl
by Falkkin (Chaplain) on Jan 29, 2004 at 20:35 UTC
    "Thus, teaching the non-interested -- or perhaps piquing the interest of the non-initiated -- can indeed be a formidable task."

    Indeed. I've given up on trying to get my little sister (in 11th grade) interested enough to try programming, even though she did run Linux (exclusively!) for a couple years.

    I always thought a decent idea to get someone started on programming from the ground up would be a simple, text-oriented RPG. This, of course, will work best if the person actually likes RPGs. This would be a simple introduction to basic ideas of control flow, data structures, and the like, but should be fairly fun. I'd be willing to bet that you can actually write a decent game, with good combat mechanics and plotline, without having to worry about complicated user interface/graphics issues.

    Another similar idea would be to start "programming" through some sort of scripting/creation utilities available in other computer games. MUDs come to mind as the obvious text-based choice, but games like Neverwinter Nights and Warcraft come with nice graphical level editors that have some scripting capabilities built in.

      My personal road went from html to javascript to perl (more or less), with a bit of random c hackery thrown in on the way. I started with the html, which is nice and simple and got me used to the idea of writing something that would be executed , as it were, by something else, it also gave me some experience reading the "source" to teach myself.

      After doing that for a while I got interested in javascript to do more l33t stuff. I rather like javascript as a first "programming language", just because it's simple, easy to use and immediate, "cool" results. It also supports a number of fairly advanced features such as OO and so forth (more or less, it's been a while) which lets you get more advanced as you learn more.

      After spending a while with javascript I wanted to do stuff that it couldn't do, learned about perl, and the rest is history =]

        >>I always thought a decent idea to get someone started on programming from the ground up would be a simple, text-oriented RPG. This, of course, will work best if the person actually likes RPGs. This would be a simple introduction to basic ideas of control flow, data structures, and the like, but should be fairly fun. I'd be willing to bet that you can actually write a decent game, with good combat mechanics and plotline, without having to worry about complicated user interface/graphics issues. <<

        Of course, after that I have to ask if you've read "Diamond Age" by Neal Stephensen, both because it is one of my favorite books -- and because it does deal with the idea of a game/interactive book that teaches the reader (also a young girl) how to code (among other things.)

        I think that a game would be fantastic -- except that it could be so much work, I wonder if I'd ever get around to building one. I do think the spirit should be preserved though -- something interactive, something fun. I would like to point out that a girl -- as Falkkin and I are both -- is probably not that likely to be incentivized by "good combat mechanics and plotline."

        I wonder if it would be worthwhile to construct a series of exercises/challenges to teach the basic concepts. You could even "open-source" them and then people could put different kinds of wrappers on them. Falkkin, you could build an RPG; I'd probably just maintain a Wiki, where users could post notes to each other as they go along.

        From my experience with my cousin, teens *ARE* willing to do puzzles, etc as part of a community thing. The wrapper's what counts. Sites like neopets.com are even in this category... what a different wrapper that is.. ;)

        >>After spending a while with javascript I wanted to do stuff that it couldn't do, learned about perl, and the rest is history =] <<

        The nice thing about learning Perl vs learning Windows shortcuts or noodling around with Javascript is that it *is* so powerful. I'd prefer to teach someone with Perl simply bc then we *can* detour into web, windows, spidering or whatever... and hopefully make the curriculum more appealing as a result.

      Give the world a magic system based on programming, such that characters can manipulate the game world through spells (programs.) If you could pull off making the game world compelling of itself, and the magic system not throwing it out of balance, it could become a great inspiration to learn programming.

      Ah, fond memories of TinyMUSH...

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://325017]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (1)
As of 2024-04-25 00:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found