6 ms·
A Computer Culture for Children [video]
- telesilla 6y agoI am 100% enthused about programming thanks to Logo. My first buzz, when I told the computer to make a circle. I'll never forget the awe I had, that I could tell the computer what to do. I guess some of us are born for this life.
- TYPE_FASTER 6y agoI had a similar experience. It was my first introduction to programming, I was rapidly hooked, and feel very lucky that happened.
- pgtan 6y agoLogo is such an elegant programming language!
- mhd 6y agoIt's interesting and a bit disappointing to me that there's no real current trend towards beginner-friendly (or "end-user"-friendly) programming. For a while we had some interesting candidates, like Processing, Rebol, or how _why presented Ruby, and even Tcl and Python seemed more all-encompassing. These days it seems every programming language development is going again for "professionals" -- Typescript, Rust, Go, etc. (and even Python looks like it's "non-programmer" appeal targets otherwise scientifically literate and educated people)
- jcelerier 6y ago> It's interesting and a bit disappointing to me that there's no real current trend towards beginner-friendly (or "end-user"-friendly) programming. I'm honestly not sure it's really needed. This year I teach a class of graphic students, who have zero coding experience, how to do generative art with p5.js (Processing but in JS). It took a grand total of 8 hours to go from ground zero to making them able to write things involving loops, variables, etc... and making simple generative art autonomously - if anything, they struggle a fair bit more with the maths needed to make pretty things (here are my slides, feedback very welcome! https://interactive-design.jcelerier.name/ https://interactive-design.jcelerier.name/).
- noisymemories 6y agoHad the very same experience while teach some programming intro courses for artists and designers (mostly simple python for maya/cinema 4d, and java for processing). Learning the language is rather easy, and if you're in design you're already experienced into translating and idea between different cognitive fields. But wrapping their head around algebra and trigonometry and making them conceptually "think" about them was extremely hard. It looked like years of rote formulas memorization and the "don't worry about why it works like that, just accept it" teaching approach took a toll on their minds. The fact that most maths textbooks are terse to the point of being cryptic didn't help at all.
- jcelerier 6y ago> But wrapping their head around algebra and trigonometry and making them conceptually "think" about them was extremely hard. oh yes haha, I even made this small animation for them to try to explain the trigo circle : https://editor.p5js.org/jcelerier/sketches/acPp467og https://editor.p5js.org/jcelerier/sketches/acPp467og but it didn't help much, wonder how I could improve it..
- dflock 6y agoMaking this interactive, Bret Victor style, with a slider for theta and show the actual numbers somewhere - might help?
- wslh 6y ago> But wrapping their head around algebra and trigonometry and making them conceptually "think" about them was extremely hard. You should abstract these concepts in some way. For example, when you are moving an object in 3D you don't need to spend time projecting 3D objects into a 2D display using linear algebra. You just set the x,y,z coordinates and the engine does the hard work.
- jcelerier 6y ago> For example, when you are moving an object in 3D you don't need to spend time projecting 3D objects into a 2D display using linear algebra. You just set the x,y,z coordinates and the engine does the hard work. but setting x,y,z coordinates so that they do the kind of motion that you want is exactly where you need linear algebra. Say you want to make a ball move in a spiral motion, how do you do that, from code, without students understanding algebra and basic operations like "translation on a plane" ?
- dflock 6y agoWell, all of those things still exist, though?
- mysterydip 6y agoI have an idea for a simple language similar to basic but using emojis to represent functions and variables (really putting the "symbolic" in basic), with click or drag n drop from a toolbox rather than pure typing so everything is available at the start. This would be a toy language designed for to introduce the world of programming to those who are learning to read. So for example, ⭕5 would draw a circle of size 5 where the cursor currently is. I have a page of notes for implementation but haven't made time to try it out yet.
- enriquto 6y agodo you think this is clearer in any way than "circle 5" ? for one, it looks harder to type just with a keyboard
- mysterydip 6y agofor the reason that my preschool kids can identify a circle from a picture but not the words typed, yes (which is where this is targeted). This wouldn't be programmed from a keyboard (which also is difficult for that age), rather a toolbox would have all the commands available and you would just tap or click or drag them to the program.
- hugs 6y agoI started working on a similar idea, called "Wildcard"... The idea was to create a lower cost alternative to Lego Mindstorms for programming simple robots. So "⬆5" would tell a robot to move forward 5 rotations. The other idea I was playing with was to remove the need to type at a keyboard... instead, a child would have a deck of cards with all the syntax they'd need, then they'd lay out their program out on a table or floor, and then use a camera + computer vision to read in the program. The idea was if we issued one robot to each child, it would be cheaper to program the robot with a camera and deck of "code cards" than to also have to give budget for giving them a tablet or chromebook, too. Here's my original proof of concept: https://www.youtube.com/watch?v=dSOfMSS9aFY https://www.youtube.com/watch?v=dSOfMSS9aFY And the code is up on GitHub: https://github.com/hugs/wildcard https://github.com/hugs/wildcard
- 6y ago
- raxxorrax 6y agoTrue on one hand, but we should not make the mistake and place kids in completely surveilled child pen that only fills parents with delight. How old were you when you started to dabble with computers? And was anything made specifically for you being a child? I fear kids these days use mostly closed systems so the option to dabble is as hidden as it gets.
- tsumnia 6y agoI would disagree - Alice[1], Scratch[2], and Snap![3] are all attempts to be beginner friendly; that is the entire area of block based programming. There are also attempts via Python with websites like CodeCombat[4]. However, I would say the issue is there is no "transition" to "real" programming languages. No one builds a Red-Black tree in block based programming and there is still an unrecognized issue about how "end-game" programming should be. Is it through layers of abstraction like corporate Java or is it completely linear with the current adoption trends of Jupyter and Data Science? In my opinion, where the issue stands currently is that older languages like BASIC made the visual creation aspect of coding super easy. You could write 250 lines of code and you have a rudimentary space invaders game. Today, this requires external libraries, creating objects, etc. It used to simply be "HPLOT" to make graphics, now you have to introduce shaders. [1] https://www.alice.org/resources/lessons/programming-in-alice/ https://www.alice.org/resources/lessons/programming-in-alice... [2] https://scratch.mit.edu/ https://scratch.mit.edu/ [3] https://snap.berkeley.edu/ https://snap.berkeley.edu/ [4] https://codecombat.com/ https://codecombat.com/
- indigochill 6y ago> In my opinion, where the issue stands currently is that older languages like BASIC made the visual creation aspect of coding super easy. This is why I think fantasy consoles like the TIC-80 and PICO-8 are actually valuable educational tools. They still represent a BASIC-like syntax and quick development/play environment for a tiny fraction of what it would cost to buy a Commodore 64 or ZX Spectrum (never mind the convenience of running them on your desktop).
- whoomp12342 6y agoMaybe I'm biased and jaded, but I find alice scratch and snap MUCH harder to use than just coding. I think the fallacy is that because its bright and pretty and cartoony makes it easier to use. Sure it is more attractive to the youth but when they actually want to build something in their mind they are met with disappointment due to its limitations. How can we make this more positive?
- tsumnia 6y ago
- an_opabinia 6y ago> programming language development is going again for "professionals" Processing is the trust fund kid of programming languages. It is the epitome of the aesthetics of programming. It is literally purpose built for idiosyncratic graphics applications. It was hatched in the crucible of trust funded computing. It cannot, and will never be used, for meaningful software. Every kid should be learning Python.
- 9214 6y agoFYI, Rebol ideas took their root in a historical continuation: https://www.red-lang.org/p/about.html https://www.red-lang.org/p/about.html