5 ms·
You could probably easily buy a computer with Linux on it today from Ebay for around $100. Installing Linux means you have a wealth of ways to instantly write c
by leftnode 14y ago
You could probably easily buy a computer with Linux on it today from Ebay for around $100. Installing Linux means you have a wealth of ways to instantly write code (gcc, g++, ruby, python, php, perl, and a browser where you can write Javascript) and there are plenty of places to go when it's capabilities run out.
I think it's even easier to buy all of this today.
Or, have I totally misunderstood what you've said?
- ChuckMcM 14y agoOr, have I totally misunderstood what you've said? Sort of. Do your experiment (build a linux box) and put it in front of a kid with no exposure to computers (other than as appliances) try this with kids from 6 to 16. As you get toward 16 you will start getting better engagement, most will figure its too confusing and stop. I've run the experiment with Arduinio, even with its pretty straight forward GUI there is still some serious complexities around the notion of compiling, downloading, driver compatibility, etc etc. One of the things I will do with a RasberryPi is look at building an embedded BASIC box. Hook a keyboard to it, plug it into a TV's HDMI port and turn it on. Blammo, BASIC prompt. (If I can swing it it would be a Python prompt but I digress). Type in the code (using BASIC syntax sorry) 100 CLEAR 110 DRAW(100, 100, 200, 100, "WHITE") 120 DRAW(200, 100, 200, 200, "WHITE") 130 DRAW(100, 200, 200, 200, "WHITE") 140 DRAW(100, 100, 100, 200, "WHITE") 150 FOR I = 100 TO 200 STEP 10 160 FOR K = 200 TO 100 STEP -10 170 DRAW(I, K, K, I, "BLUE") 180 DRAW(K, I, I, K, "GREEN") 190 NEXT K 200 NEXT I 210 END Type run, and blammo, drawing pictures on a screen. Why pictures? Being able to draw graphics is a compelling thing for folks, they like to do it, it touches their inner finger painting. It compels them to think about 'steps' and 'math' and stuff. Doing graphics in Linux is a PITA. The notion of a system which throws away everything except a way to explore through programming, and has access to all of the capabilities of that system, is key. The programming needs to be accessible. I could be K&R C as easily as BASIC but it would need a very simple build environment (code for NOT gcc). Something that with a manual of no more than a couple of hundred pages, can engage a student to explore it with programming. They don't know what programming is so complaining about types (for example) just demotivates them.
- MartinCron 14y agoThis is exactly how I learned on an Atari 800 XE. I clearly remember the moments where I understood variables, iteration, arrays, multidimensional arrays, subroutines, etc. The fact that I could teach it to myself while I was a child is a big deal. With a modern context, I'm not sure where I would even start. I'm proficient with a bunch of programming languages, none of them seem as accessible as the BASIC code above. I've often thought about how to replicate a similar experience for my kids, short of getting a collectible 8-bit home computer and removing their access to modern hardware. Anyone have success with this?
- pwg 14y ago> With a modern context, I'm not sure where I would even start. I'm proficient with a bunch of programming languages, none of them seem as accessible as the BASIC code above. Core Tcl (i.e., that portion which a child would be exploring in his/her first introductions to programming) is very close to BASIC in accessibility. Core Tcl has very little syntax overall. Compare the Tcl/Tk code above to draw on a Tk canvas to the BASIC code for the same. There is nearly a 1:1 correspondence. And Tcl/Tk also gives the added advantage that when the children gain a bit of proficiency, then can also easily create GUI's for their code snippets and apps. The GUI's they create may not be beautiful GUI's, but they would be "their GUI's" that they created with their own efforts.
- DanBC 14y agoHave you seen the Maxmite? (http://geoffg.net/maximite.html http://geoffg.net/maximite.html) > The Maximite is a small and versatile computer running a full featured BASIC interpreter with 128K of working memory. > It will work with a standard VGA monitor and PC compatible keyboard and because the Maximite has its own built in SD memory card and BASIC language you need nothing more to start writing and running BASIC programs. > The Maximite also has 20 input/output lines which can be independently configured as analog inputs, digital inputs or digital outputs. You can measure voltage, frequencies, detect switch closure, etc and respond by turning on lights, closing relays, etc - all under control of your BASIC program.
- naner 14y agoInstalling Linux means you have a wealth of ways to instantly write code (gcc, g++, ruby, python, php, perl, and a browser where you can write Javascript) and there are plenty of places to go when it's capabilities run out. It's easy to "instantly write code" on Linux just like it's easy to "instantly change the brakes" on my car. (I say this as a long-time Linux user and developer.) Squeak is the only "operating system" I've seen or used that is setup to instantly write code. Actually, I take that back. IIRC they jerry-rigged the OLPC to behave similarly with Python.