D vs Java as a first programming language

Nick Sabalausky a at a.a
Mon Sep 29 20:06:36 PDT 2008


"Chad J" <gamerchad at __spam.is.bad__gmail.com> wrote in message 
news:gbs393$j44$1 at digitalmars.com...
> Hmmmm, now this may be of zero interest to the OP, but I the appearance of 
> yet another programming pedagogy thread has caused me to spawn a crazy 
> idea.
>
> Disclaimer:  This is probably a bad idea.
>
> So what if one of the ways to institutionally teach beginning programming 
> was to just institutionalize the way I learned how to program?  You set up 
> an Ultima Online server.  Customize it to cater to macroing/botting.  So 
> it's kind of like robocode, but more RPGish and with some obligatory 
> grindy numerical crap that has to be done before you are actually good at 
> the game.
>
> First of all, make sure the students coming in actually want to play 
> games, namely an RPG style game, and if they don't send them to the bland 
> boring typical programming classes.
>
> The first few days of class are spent familiarizing the students with the 
> game.  At this stage the instructor is mostly an admin as well as a player 
> that helps other players out.  The students/players are allowed to play 
> the game with relatively weak characters that should nonetheless be able 
> to handle some fun canned activities.  They should also have some 
> harrowing encounters.  You know; teach them their limits.  During this 
> time the students will ideally gain some kind of personal attachment to 
> their avatars and become assimilated into whatever kind of token economy 
> might be deemed appropriate.
>
> I suppose I should mention that you can safely assume that the students 
> haven't played this particular incarnation of the game and that you can 
> safely used canned quests and such.  It will all be novel to them.
>
> After the first few days of the students being the squishy mortals they 
> are, show them the power of programming.  Have them use a simple easyuo 
> script like this overnight:
>
> top:
> ; Hide every 10 seconds.
> event macro 13 21
> wait 10s
> goto top
>
...trimmed...
>
> OK, I've had my fun for the night.  Later.
> - Chad

 [*Skims over most and nods head*] I think looking at how good programmers 
learned is a great way to find perspective on how to teach programming.

And yes, a great thing to do is to show them right away how code can be 
useful and/or fun. Otherwise most of them will gloss over they way they 
usually do when introduced to something like algebra. Your idea would 
probably be great for people that are into hardcore RPGs (table-top or 
electronic). It shows them right from the start that programming is all 
about automating repetitive, but useful, tasks. And right away it gives them 
that feeling of power.

In a similar, but somewhat more general sense, I've always thought game 
development with a game-oriented tool like BlitzBasic or Torque2D is a great 
way to get people started in programming without immediately loosing their 
interest. Similarly, I've always felt that "High/Low number guessing game" 
should be every bit as quintessential as "Hello World" for people learning 
on something that leans heavily text-based (or, heck, even for the 
game-oriented systems like the ones I mentioned above).

Also, I learned a lot by typing in BASIC programs (many of them were games) 
from old library books, debugging the inevitable typos, and then customizing 
it by making changes and seeing how those changes affect the overall 
program. I think simulating that environment could be of great benefit to 
beginners, particularly the "making your on changes to a simple existing 
program." Among other benefits, this gives them positive early exposure to 
samples of "how code should look", and the skill of reading other people's 
code.

Another thing from my own programming past that I think is really good is 
the interactive tutorial. My very, very first coding experiences (and 
computer experiences in general) were from the AppleSoft BASIC, LOGO, and 
"Getting started" tutorial discs that came with the Apple IIc. I'm very 
surprised that twenty years later we still see very little of that sort of 
thing (Books and group lectures are very 1800's by comparison). 





More information about the Digitalmars-d mailing list