« Final Post on The Fizzy Experiment | Main | Liquid metal »

Apr 28, 2007

Comments

1.

Hrm, I gave Hackety Hack a brief try. It's not bad, but I think I'd still recommend Processing before this. Hackety Hack wins on having a good step-by-step tutorial, but it feels stuck in a web-app mentality. Processing, on the other hand, already has the very minimal yet usable IDE and an emphasis on visual coding. No, you won't be coding up a blog in six lines, but the emphasis on creating a programming environment for artists who are non-programmers means that Processing provides exactly what the early C64 / etc environments did - easy hooks into graphical programming that give positive visual feedback to your efforts. And Processing scales well - if someone gets hooked, they can eventually be doing full-scale object oriented programming using whatever Java libs they want, but until they explicitly choose such the code environment is kept simple and clean.

Not that there isn't room in the world for more than one pre-entry-level programming hook, of course. If and when I get the chance to introduce new people to programming, I'll be running Hackety Hack past them if Processing doesn't seem like their thing.

(p.s. Erm, I tried the "six-line blog" code, and it fails with a screenful of compiler errors, mostly db related; so it's a six-line blog program iff you've already set up a database of blog entries?)

2.

josh g.> Processing

I presume you mean Processing.org.

3.

Whoops, yep, thanks. Meant to link that and then totally forgot.

4.

As far as modern mainstream programming goes, it takes a week or too for a smart teen to catch up in skill with those mediocre web programmers - HTML / Ajax "hackers"/designers out there... Well. one can understand those - we all have to ear our bread... Its just a pity this lead to these massive re-writes of mediocre code... - Year 2007 - still HTML re-writes... oh, My...

And it takes a bit more than Basic to code anything good these days - so, with those Playstations, XBoxes and what-not ready-made 3D stuff in the living room - who wants to bother? - That is maybe what makes most modern kids - and pretty much all of us - into passive consumers of software and digital entertainment and passive addicted "keyboard monkeys" ;)

What is the way out? - Well, open meta-programming frameworks would enable us (both kids and grown-ups) to put up OWN apps fast - from web portals to multiplayer 3D games - XML based easy markup linked to X3D and OpenGL... It should be simple than pearl or anything - normal people would not bother with anything you need yet to compile - no time, man, no time...

We will be rolling out such easy meta-framework soon - DIY-prog toolbox for casual yet pro-active netizen - roll your own web apps and games - beta-testers welcome... Due this may - revolverfactory.com

Cheers!

5.

Besides HH and similar youth-oriented languages (such as Kids Programming Language) there have been a couple of efforts to draw kids into the programming world via 3D gaming tie-ins that go beyond modding tools. Microsoft is working on Boku, a kids-appropriate visual programming environment that can be used on Xbox and Windows to make a "social virtual world."

There are opportunities to try out scripting in Teen Second Life, and a Wired columnist recommends Flash as a platform for learning scripting (the same article also points to a number of other tools and resources aimed at potential youth programmers).

6.

The "Programmer's Dilemma" is basically the classic argument for cartelization or price supports in any industry, isn't it?

Additionally, it ignores the way that every programmer is also a user/consumer of software, especially open source software.

7.

One of the cited articles reads: "Current research indicates that enrollment in postsecondary courses has dropped by 40% with some suggesting that the drop in applications to these programs may be down by as much as 60%."

I can say that my own university is showing a slight increase in CS majors, but it's really a shift. When I began my degree program, there were two CS tracks: Programming, and Information Management. Now there are four: Programming (100% CS courses), Information Management (about 40% business courses), Security (40% criminology courses), and Multimedia (40% art courses).

The non-Programming tracks have only the minimal core of real programming skills, leading to a couple of troubling issues. First, when programming-track courses begin, enrollment in the course drops quickly when the students from the other tracks find that they do not have the background to pass the course within the first week. Second, the programming track enrollment has dropped probably 60% in the past four years, with the slack picked up by the other tracks.

So of the same number of people in the major in the past few years, only about a third of graduating CS majors -- from this university at least -- have any understanding of what should be basic building blocks: iteration, recursion, pointers, data structures, etc.

My jaw must have been been visibly hanging the other day when a senior asked why his answer was so long and everyone else's was so short. He did not understand the mod operator.

8.

patrick>

Peter Denning IDs the seven great principles of computing -

"They are computation, communication, coordination, recollection, automation, evaluation and design. They are groups of related principles concerning a functional area of computing."

He ID's programming as a practice:

"The four core practices of computing professions are programming, systems, modeling, and innovating."

And concludes:

"To be a complete computing professional, you should know the principles and be competent in the four practices."

To your point, I guess competence is all that is required of programming - so long as the other practices and grounding in the principles are understood. Or at least in the view of Peter Denning.

http://www.acm.org/ubiquity/interviews/v8i22_denning.html

9.

I like that!s

10.

Thanks a bunch!y

11.

for kids leaf because And grapes, pruning reaction as proud I never all what often the vast and went

12.

Where do you think you're going today? http://111111jran.com -I 222222 [url=http://3333333333huin.com]333333[/url] Let me see what I can do.

13.

Be little more tolerant :) http://111111jran.com definite 222222 [url=http://3333333333huin.com]333333[/url] Thanks for this, seriously.

14.

I have no idea about this. http://111111jran.com qxetrd 222222 [url=http://3333333333huin.com]333333[/url] Thanks everyone for the appreciation!

15.

Those who are interested in teaching programming skills to students of any age, might also want to check out the free Scratch program coming out of M.I.T.'s media lab. Trinity University students used it in a recent course on computer hacking, and they managed to create some impressive projects in a very short time.

As others have mentioned, Flash is also a useful tool for teaching programming skills to motivated beginners.

Increasingly, there is a need for simple programming expertise outside of traditional computer science departments. Art and communication students want to know how to create basic scripts and macros to automate laborious production chores, and aspiring game designers are always eager to learn how to create new levels and interactions in their favorite games.

Once, there was a time when students were forced to become computer science majors if they wanted to get their hands on cutting edge machines. Fortunately, this is no longer the case.

Today, students believe that computer science departments are the only place they can learn programming expertise. Ten years from now, this may no longer be the case. (Fingers crossed.)

The comments to this entry are closed.