Jump to content
IGNORED

Kids and Programming


Karl G

Recommended Posts

Is it just me, or was it actually easier as a child of the 80's to get into programming than it is for kids these days? BASIC was entwined in the operating system of home computers, and one needed to do some programming to really get the most out of their computer. It was easy to mess around and do simple stuff without a lot of ramping up.

 

Nowadays there are a billion development environment options available, but there isn't the same kind of integration, or need to learn to interact with their devices.

 

One of my boys is interested in the idea of making games, but hasn't found something that holds his attention well enough to learn it. I've thought about teaching him some batari Basic, but this may well also teach some bad programming practices in the process. ? 

 

Do any of your kids program? What language/environment/platform?

  • Like 4
Link to comment
Share on other sites

I believe kids today create games just as much as they program them. That means you build things in Minecraft etc, you use Super Mario Maker and the rest. Those who want to take it one step further take an online or local course in Scratch or any other visual code building language/environment. Eventually one might start typing in lines of code, but it doesn't seem to be the norm these days in creating beginner games. Some would even say it is easier or more accessible these days to make your own game content without coding since the creator programs these days are more flexible than they used to be.

  • Like 1
Link to comment
Share on other sites

Would there be any value in starting to learn programming with something intended for beginners, e.g Logo. Obviously it is not designed to develop games, but it is a chance to learn the basic concepts.

 

In the alternative, is there a modern equivalent to the 1980s Shoot-'Em-Up Construction Kit, Arcade Game Construction Kit, GameMaker, etc.?

 

 

Link to comment
Share on other sites

4 hours ago, jhd said:

In the alternative, is there a modern equivalent to the 1980s Shoot-'Em-Up Construction Kit, Arcade Game Construction Kit, GameMaker, etc.? 

Well... There's Game Maker, since the first version was released in 1999. ;) And ClickTeam Fusion as well, a successor to Klik 'n Play and Games Factory.

  • Like 1
Link to comment
Share on other sites

Or Super Mario Maker as I mentioned above. I'm not really in the loop for modern games and creative environments, but have learned to accept that what old geezers like me (40+) once thought was state of the art, nowadays isn't even honored as legacy stuff, just obsolated and irrelevant. Logo was fun in the 80's but as such I don't think it holds up to the 2020's standards for introducing kids to programming.

Link to comment
Share on other sites

You must walk before you can run, & you must crawl before you can walk. Something tells me starting with structured or object-oriented programming is asking too much. So here's links to free BASIC & Logo variants.

 

https://www.thefreecountry.com/compilers/basic.shtml

https://www.thefreecountry.com/compilers/logo.shtml

 

And if you want to be mean:

 

https://www.thefreecountry.com/compilers/cobol.shtml

;)

Edited by pacman000
  • Like 2
Link to comment
Share on other sites

  • 4 weeks later...

Trouble is when we were all kids there were few distractions so if you were lucky to get a computer it was the center of your attention. How can you get a kid interested in building a game that moves a sprite around when they have VR on the PS4 for example....but there is a way.

The hit game Celeste for example was not created by a huge team. https://www.nintendo.com/games/detail/celeste-switch/

The game was developed over a weekend at a hackathon and using a virtual console with a built in programming language called Pico-8

The built in language is Lua which is kinda like basic or at least as easy to learn

The cool thing is you can load in games from the internet including the early version of Celeste then hit the escape key and wow you are now looking at the games source code.

The fun does not end there....instead of coding a new game why not hack celeste...have your kid work out how to change her color...how to change how high she can jump etc.

Very quickly your kid can see results which may hit the spark to think wow if I can modify this game can i learn enough to create my own...

 

Check it out at https://www.lexaloffle.com/pico-8.php 

It is fun because you can get results quickly. There is a similar thing called smilebasic on Nintendo DS and Switch - https://nintendosoup.com/puchikon4-smilebasic-updated-on-switch/

 

I honestly think Pico-8 could be used to test game concepts prior to coding them up on Batari basic for example.

 

 

 

Edited by JonnyBritish
  • Like 2
Link to comment
Share on other sites

A problem I see is that there are so many programming and creation environments. Sure one size does not fit all here. With this many, what's the right one to choose.

 

Heh. BITD I had like 4 or 5 languages open to me right off the bat. BASIC, Pascal, Fortran, Assembly/Machine. I went with BASIC. And my first infantile BASIC programs consisted of a lot of GOTO and PRINT statements. T'was all I could understand. All very linear and straight-through at first.

 

But after a year I was re-writing BBS software and modding DOS. Making clock "drivers" and patches. Sorting routines. Writing editors for log files. Even visualizing mathematical formulae. Was BASIC a bad choice? Absolutely not. If it wasn't for BASIC I wouldn't have learned to program anything!

  • Like 2
Link to comment
Share on other sites

Yesterday I watched part of a kids' programming show on TV. They introduced the children to JavaScript, C++ and Python, which was a little different than I would imagine. In particular C++ doesn't seem like a children's beginners programming environment. They had a debugging exercise which consisted of a code display with purposefully added syntax errors. In teams of three, two would go behind the panel to verbatim read out a corrected version, and the third would compare with the erronous version and put markers where the typos were. I'm not sure anything at all was learned by that, since not even the first occurence of trailing quotes missing at the end of a string helped them spot the second such occurence without reading the corrected code character by character.

 

Also, quote from the show description: "There are more than 1000 programming languages used for different purposes". Yes indeed if you count every programming language ever created you get figures of 8800 or more but I'd imagine at most 1/10 or even 1/20 of those have any meaningful use today.

Edited by carlsson
  • Like 1
  • Confused 1
Link to comment
Share on other sites

Yes BASIC is awesome for learning for being like English and Math and being able to run a one line or statement program.

 

Science text books reflected this with simple applied examples; much harder to do that with other languages.

 

imo it's better to keep things simple since we can't get away from the complexity as we build (why start there?) and I think the idea behind C was they were jealous of the Dartmouth BASIC experiment  and wanted to prove programming was more difficult and that the programmer should perform many of the nuances the BASIC AI does for you behind the scenes.

 

And BASIC, being Tiny Fortran, borrowed heavily from Assembly, sometimes directly (goto, gosub) and sometimes abstractly, the combination made it more intuitive and very powerful.

 

Microsoft has an educational initiative with Small BASIC to make it easier to learn, but the dialect is still heavily influenced by C concepts and notation.

 

  • Like 2
Link to comment
Share on other sites

I learnt basic because my first "computer" was an amstrad. Kids have Operating systems that do everything for them.

 

However, having said that, a lot of schools in the UK will do programming in IT lessons to some level, albeit more concepts than a formal language.

 

A few committed kids will learn a language on their own backs for the purposes of developing something with a "use" but not many. (visual) BASIC and python are usually what's used.

 

In my line of work (kids n autism) you are more likely to find people who specialise in specifics, such as using random Windows operating systems, or using programs like excel, than people coding. I made my first video game sale (that is, something I coded) in Year 7 (first year of secondary education), I've yet to see someone personally in my work that has done something similar. The rest tend to just play minecraft/fortnite, and other people will regard them as "geeks" for this, but their actual technical knowledge is next to zero.

 

I bought my eldest child some "coding" books that is more theory and concepts than actual programming, and he didn't display any interest at all and went back to playing pokemon.

  • Like 2
Link to comment
Share on other sites

1 hour ago, Mikebloke said:

A few committed kids will learn a language on their own backs for the purposes of developing something with a "use" but not many. (visual) BASIC and python are usually what's used.

I learned ApplesoftBasic and DOS 3.3 so I could be friends with my computer. Later on I found use for my skill and was happy to have learned it. And I don't give a fucking rat's ass if those elitists say BASIC is a hindrance and the wrong way to learn. If it wasn't for BASIC I would not have gone on to learn Assembly.

 

1 hour ago, Mikebloke said:

The rest tend to just play minecraft/fortnite, and other people will regard them as "geeks" for this, but their actual technical knowledge is next to zero.

When I was a kid I learned to launch my games very quickly from the command line. Took me microseconds to type:

CD DOOM

DOOM

 

I earned status and leet points among those know-nothing dummies. The computer illiterates. Despite me insisting I was a gamer only!

 

1 hour ago, Mikebloke said:

I bought my eldest child some "coding" books that is more theory and concepts than actual programming, and he didn't display any interest at all and went back to playing pokemon.

Well, yes. No form of programming will ever ever ever compete with games and pokermom stuff. To think otherwise is naivety in the grandest of forms.

Link to comment
Share on other sites

Some more thoughts on the best BASIC's for education -

 

I think Atari 2600 BASIC Programming is an excellent BASIC for learning to program (if you have the keyboard controller overlays) because it allows single statement programs and very small programs which have great utilty making it easy to learn:

 

http://www2.gvsu.edu/brittedg/BasicProgramming.txt

 

BASIC 10 liner contests back in the day and now are tremendous fun and fantastic for learning to program with any of the classic BASIC's.

 

Modern BASIC's including bB have a steeper learning curve with GUI designers and include options compared to the single-statement-is-a-program model of classic BASIC. I gave this topic a lot of thought designing SuperCharger BASIC and it has a similar complex GUI designer mode like bB that I've written about recently in this article for advanced BASIC programmers who are interested here:

 

 

But I also included an old-school mode specifically for education that allows single statement programs like:

 

10 vwpixel(5,5,on)

 

Classic BASIC dialects allow the student to start right away, and to build on what they learn.

 

Here's a 9 line Atari game for inspiration in classic BASIC - 

0 data city 1,4,2,5,3,2,3,1,4,1,1,1,5,2,2,3,1,4,1,4,3,1,4,4,1,1,2,2,3,1,3,4,5,4,4,3,4,5,1,2,4,1,5,2,2,3,1,3,1,1,4,1
1 if g=0 then for j=0 to 7:player1(j)=189:player0(j)=pl(j):next j:BYTErowoffset=120:COLUPF=$42:COLUP0=$b4 else goto 3 
2 for j=20 to 71:k=j-20:k=city(k)+14:for i=k to 19:vwpixel(j,i,on):next i,j:player0y=88:player0x=94:COLUP1=$74:y=20:g=1
3 COLUBK=0:AUDV0=0:scrollvirtualworldtoggle=1:BITIndex=BITIndex+1:missile0x=missile0x+2:data pl 0,224,127,231,252,192
4 if joy0fire=1 and y>=20 then AUDF0=6:AUDC0=8:AUDV0=15:x=BITIndex+11:y=11:i=88-player0y:i=i/10:y=y+i:data P 128,0 
5 if y<21 then vwpixel(x,y,bindplayer1):j=y-10:y=y+1:COLUP1=M(j):data M $64,$54,$b4,$a4,$32,$44,$c4,$94,$f4,$54,$24,$42
6 if y<=19 and vwpixel(x,y,poll)>0 then vwpixel(x,y,flip):player1x=0:player1y=0:AUDC0=y:y=20:AUDF0=4:AUDV0=15  
7 if BITIndex>71 then BITIndex=0:player0y=player0y-2 else missile1x=missile1x+1:missile1y=missile1y+3
8 if CXP0FB>126 then CXCLR=0:g=0:for i=0 to 255:AUDF0=i:AUDV0=i:COLUBK=$34:next i else missile0y=missile0y+2

 

 

 

  • Like 1
Link to comment
Share on other sites

  • 5 months later...

As someone who's not quite so long indoctrinated into Atarism, I really don't think pushing a programming language from the 80s/90s on a child in the '20s is the best idea. Take what I say with a grain of salt as I don't have children, but I know that when my nephew showed his own interest in programming it only took about 10 minutes of me trying to explain a BASIC language and showing him the lackluster results in a DOS console to cure him of ever being interested in programming again. I would say use some sort of no-coding game development suite first maybe, then a BASIC, then give them access to less friendly or more limited environments if they have the interest. We have a TON of new software to make game making painless (I've used GDevelop myself and it's pretty neat) which give the newbie programmer a much quicker reward for much less work. Utilize the new tools.

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...