Domain: dinsights.com
Stories and comments across the archive that link to dinsights.com.
Comments · 5
-
Re:HyperCard forever!
I'd second this. I cut my teeth on Hypercard. You could make graphical programs trivially, and it was a fantastic program. It had some problems by the time I used it (System 7) such as it was only B&W and adding color made the stack uneditable.
What would I teach them today? That's a tough one. I wouldn't do VB (that's a nightmare, plus the IDE is complex). I'd say Python.
My suggestion would be to get them started so it feels like they are doing something. Write the shell to a program or a game (checkers? Whatever). Have it handle all the logic of making the moves and updating the state and such, as well as printing out the board and asking/checking for moves. Then write a stub function to do the logic. They can come up with their ideas on how to play, and fill in that function (using your provided functions). Then they have a working program that they can change. You could also write a little less and teach them how to print out the board and get input and validate it (those can be walk-though lessons).
Checkers may be a bit complex, but that's the kind of idea I'm talking about. Something where it's conceptually simple and they can notice that they made a difference in a piece of software. It could be the logic on what to do in a poker hand, blackjack, which card to play in Uno, whatever.
Unless the kids are interested on their own, basic programming lessons (this is a loop, today we'll print the numbers 1 to 5) probably won't go over to well. You'll have to touch on that but giving them something they can get their feet wet in first would be my idea. Once that happens, if this continues you could walk them through writing EVERYTHING on their next (albeit simpler) program.
Bonus points if it is something where you can make their algorithms play against each-other. Go look at POTM and some of their contests. If you supplied everything but the decision logic then many of those would work well for the students, but specifically the game-like ones.
As for Python, I recommend it for a few reasons. It's free, it has an interactive command line, and I think it's "simple". By that I mean that there aren't a lot of superfluous words (Java can be kind of wordy). Python runs on any platform. It's syntax is clean, and the indenting makes it easy to follow (as well as teaching good habits).
I'd worry about the VB IDE being intimidating (as well as I'm not a VB fan). Java is nice but I think it's a little complex for a starting language for kids. BASIC is too antiquated, Python is almost as simple but much more powerful.
But I second the parent's post. HyperCard was perfect. It's a real shame it's gone. I wonder if I would have been interested in computers as much without it. I later tried BASIC (which of course got me nowhere). It took me years and years and years and years before I got to know enough that I could start writing things like I used to in Hypercard (due to the complexities of GUI programming).
-
Programmer of the Month
http://dinsights.com/POTM/ is a semi-monthly contest that I have been watching for a while now. The problems are fun and interesting. The main objective is get the best "score" in the shortest amount of time. The solutions to past problems are very interesting reading. It's amazing what people do in the various languages. There was a problem several years ago that I still remember and think about: Take a map that gives various terrain altitude changes and find the shortest route (including distances traveled up and down) from point A to point B and back without crossing your "path".
-
Other different contests
Here are some more contests, accessible to everybody (not only students):
http://www.mathworks.com/contest/
which is a collaborative(!) competition
http://codewalkers.com/php-contest.php
holds a nice PHP contest, but seems to be inactive
http://dinsights.com/POTM/
holds a nice permanent contest, but there is nothing to win
http://www.recmath.org/contest/index.php
holds a tough contest, which just finished.
With IFCP, it's the hardest contest I'm aware of. -
Re:Brute Force solution
Tied for 6th place!
Doug
-
Re:So no VB huh?I forgot the smiley after VB.
:) It's definitely a Linux box, and the resources link makes it pretty clear that it's a specific configuration. Since this is an algorithm battle, the particular language isn't too important. (Athough I'm surprised Java wasn't on the list. Hmm, a LISP squirrel?)Not much warning however: Deadline for NUTS is November 30th, 2004. I think I'll wait for the next one.