Teaching BASIC

Feel free to talk about any other retro stuff here including Commodore, Sinclair, Atari, Amstrad, Apple... the list goes on!
BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

Teaching BASIC

Post by BruceMcF »



9 hours ago, geek504 said:




I seriously thought about Logo too! I first learned BASIC on a TRS-80 and then when the school got brand new Apple ]['s they changed the class to Terrapin Logo. While pleasing to the eyes, it didn't do much else... I think today's kids can absorb Logo pretty fast and be bored in about a month or so...



The Turtles enable imagining what is going on in the program, but as long as it's a proper Logo, it's not limited to the Turtle graphics, it's a full featured programming language and can be used to teach a range of CS concepts. See Brian Harvey's Symbolic Computing page for a focus on natural language processing, at:

https://people.eecs.berkeley.edu/~bh/v1-toc2.html

geek504
Posts: 95
Joined: Wed Aug 26, 2020 4:52 pm

Teaching BASIC

Post by geek504 »



24 minutes ago, BruceMcF said:




The Turtles enable imagining what is going on in the program, but as long as it's a proper Logo, it's not limited to the Turtle graphics, it's a full featured programming language and can be used to teach a range of CS concepts. See Brian Harvey's Symbolic Computing page for a focus on natural language processing, at:

https://people.eecs.berkeley.edu/~bh/v1-toc2.html



Thanks Bruce for pointing out that Logo is also a proper programming language... I guess I never got to that part in grade school... BASIC was my defacto go to language at that time. Looking at the grammar style, it reminds me very much of my days using LISP to do some AI work in college... machine-learning using genetic algorithms. I remember that I did not enjoy LISP at all even though I dabbled with Clojure a few years ago. I will try showing the kids LOGO during one of my free presentation and see their reaction! At least its got graphics LOL!

BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

Teaching BASIC

Post by BruceMcF »



1 hour ago, geek504 said:




Looking at the grammar style, it reminds me very much of my days using LISP to do some AI work in college... machine-learning using genetic algorithms....



That's because it's a dialect of Lisp ... in addition to the Turtle Graphics, it's got a more friendly syntax, without requiring parentheses for everything and with infix arithmetic instead of prefix.

Studying things that are fun is always a good approach to having people enjoy a language rather than having it leave a bad taste in their mouth.

Logo might be able to IMPLEMENT genetic algorithms for machine learning, ...

... but people are more likely to associate the unpleasantness with the problem of machine learning and not with the language they used on the problem, if they have first used Logo to write a simple text adventure game.

Michael Parson
Posts: 51
Joined: Sun Jan 03, 2021 8:18 pm

Teaching BASIC

Post by Michael Parson »


Reviving an old thread here, but I'm rather newish to the site, so...

In any case, BASIC was my first programming language, used it on the C-64, Apple 2 series, a little gwbasic on DOS, then didn't touch it for a long time after I started using UNIX and other UNIX like OSes.

Then, one day, in the late 90s, I discovered 'yabasic'.  A cross-platform structured BASIC interpreter with simple graphics capabilities.  It is well documented, doesn't require any emulation, and being BASIC, is easy to work with. Don't need an IDE, any text editor will do.  No, I'm not going to write any serious applications in it, but it does allow you to do a lot of fun programming projects with it.  I've only used it on *nix systems, but on Windows, you just name your file with a .yab extension and it will execute with a double-click of the file's icon.

If you start to run into the limits of functionality or speed of yabasic, move on to FreeBASIC.

 

TomXP411
Posts: 1761
Joined: Tue May 19, 2020 8:49 pm

Teaching BASIC

Post by TomXP411 »


I don't know why your link didn't work, but some Google-Fu turns up this URL:



http://www.yabasic.de/

Also, X-11 BASIC is worth looking at

http://x11-basic.sourceforge.net/

 

Michael Parson
Posts: 51
Joined: Sun Jan 03, 2021 8:18 pm

Teaching BASIC

Post by Michael Parson »



1 hour ago, TomXP411 said:




I don't know why your link didn't work, but some Google-Fu turns up this URL:



http://www.yabasic.de/



Also, X-11 BASIC is worth looking at



http://x11-basic.sourceforge.net/



 



Yeah, I made it an https link, he's not got any SSL/TLS on there, so, that didn't work, went back and fixed the earlier post.

I've played with X11 BASIC a little, didn't find it until years later when it popped up in the Android Play store.  Nice that you can write/test your code on Linux then copy it to your phone/tablet and run it there as well. 

There's also SmallBASIC, which I first used on the Palm Pilot many years ago, which also has an Android version.  With SmallBASIC, you can tie the IDE on your Linux system to the app on your Android device and send the files over the network, directly into the app.

For that classic line-numbered basic feel, there's Bywater BASIC and bas, and several others I've tried.

I keep coming back to yabasic though.

paulscottrobson
Posts: 300
Joined: Tue Sep 22, 2020 6:43 pm

Teaching BASIC

Post by paulscottrobson »



On 8/27/2020 at 6:11 PM, geek504 said:




I teach a small group of children the programming language Scratch and ScratchJr. While it is easy, cute, and simple, I don't quite like it. I want to be able to teach the kids more about the computer architecture in general. The 6502 is a perfect choice for that IMHO. I can teach everything there is to know using an Apple ][, C64, or X16, but that means using BASIC.



Question: Should I teach C64 BASIC, X16 BASIC (similar but better "hardware"), or GW-BASIC (A very solid BASIC using the awesome PC-BASIC emulator)?



What are the pros and cons and what are your thoughts? Maybe even ditch BASIC altogether? Is it a waste of time to teach an "obsolete" language?



Using Microsoft BASIC in 2021 would be criminal.  GW Basic I don't know. BBC Basic is the best of the retro BASICs by a long way and keeps the immediacy but its screen editing on the BBC Micro is pretty non intuitive.  Ideally you want something which resembles a proper programming language, has screen editing facilities of some sort, has commands which are explicit about what they do for graphics elements  "CIRCLE" "SPRITE" and so on and still has the ability to be used interactively.

If at all possible you want to keep away from state machines and repaint type designs like Windows and so on.

 

User avatar
desertfish
Posts: 1076
Joined: Tue Aug 25, 2020 8:27 pm
Location: Netherlands

Teaching BASIC

Post by desertfish »


LOGO ?

paulscottrobson
Posts: 300
Joined: Tue Sep 22, 2020 6:43 pm

Teaching BASIC

Post by paulscottrobson »



On 9/2/2020 at 4:20 AM, BruceMcF said:




DoNext: INX : INX : JMP (COLD,X) ; 13 cycles, including JMP NextOp at end of primitives.



... with updating the instruction pointer deferred until calling high level calls or executing branches.



 



Fine as long as you limit your words to 256 bytes (slightly less in practice). There's still a bottleneck because you've got one 8 bit stack, so there's a big hit on enter/exit.

paulscottrobson
Posts: 300
Joined: Tue Sep 22, 2020 6:43 pm

Teaching BASIC

Post by paulscottrobson »



6 hours ago, desertfish said:




LOGO ?



No, horrible. Turtle Graphics in the right scenario is fine, but Logo is horrible. Looks like a LISP clone designed by an alcoholic.

Post Reply