Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Re: Cases for teaching Perl

by Falkkin (Chaplain)
on Jan 29, 2004 at 20:35 UTC ( [id://325029]=note: print w/replies, xml ) Need Help??


in reply to Re: Cases for teaching Perl
in thread Cases for teaching Perl

"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.

Replies are listed 'Best First'.
Re: Re: Re: Cases for teaching Perl
by BUU (Prior) on Jan 30, 2004 at 05:02 UTC
    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.

        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.)

        Yes, I have read it, though I wasn't thinking of it at all when I posted this. (Incidentally, I liked Cryptonomicon better.)

        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.

        Well, if it were organized into small, separate "challenges", you could learn the basics while, in the process, making some simple game. Wouldn't have to be an RPG, of course - I just think that it's fairly easy to develop something like an RPG or interactive storytelling without the use of flashy graphics.

        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."

        Woah there -- I'm afraid I'm a male of our species :) That aside, I think that the importance of plotline in a game depends on how much of a reader/author the designer is.

        By the way, are you aware of Alice or MooseCrossing? Both of these are programming languages designed to teach programming in a fun sort of way. Admittedly, they're fairly special-purpose languages, but that's not necessarily a bad thing. They're also designed by people who actually do research in teaching kids to program, who probably know more about the subject than I do. :)

        On the topic of teaching programming using Perl, you might look at the book by danger (Andrew Johnson) Elements of Programming with Perl. It's a well written book that teaches programming using Perl instead of BASIC or some other low level language.

        -Spenser

        That's Spenser, with an "s" like the detective.

Re^3: Cases for teaching Perl
by Zed_Lopez (Chaplain) on Nov 18, 2004 at 23:02 UTC

    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://325029]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (9)
As of 2024-04-23 14:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found