Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've been looking for something similar to this for my 12-year old son. Are there any other resources you guys can recommend to help teach coding? (that aren't Apple-product dependent?)


You've been looking for something similar, discovered that this "something similar" exists, yet the Apple logo puts you off? A used iPad that can run this is probably a couple hundred dollars.

Now, perhaps I've misinterpreted your question, and you'd just like a list of alternatives to keep your options open. I've not looked really hard, not having any kids and all, but there seems to be a dearth of options that meet the (IMO) high bar Playgrounds has set. Me, I wonder if the 2nd-best alternative isn't an old machine with QBasic on it. I just don't see anything else out there that doesn't start with "Step 1: Let's learn about dependency trees!"


Maybe they want to use existing hardware?


Why is parent getting down voted, not wanting to spend a couple hundred bucks, specially outside of the US where a couple hundred bucks can be what you make in a month, is a perfectly valid reason.


Well, I obviously didn't down vote it. But if that were a consideration it should have been mentioned, along with what that existing hardware is. Hence my question, because as-worded the motivation comes across as just an allergy to Apple logos.


No it doesn't. It simply asks for something that will work on a platform other than those owned by Apple. It's an entirely reasonable request, and I'm baffled that people on a web site called "Hacker News" are suggesting otherwise.


HyperCard is great for this, but it's system requirements are likely a little too ancient.


There is a next generation implementation of hypertalk, livecode. It began life as metacard (a hypercard clone) and has now evolved to something that can export to mobile, html5 and multiplatform applications. Basically you program in simple english with a smalltalk message passing philosophy.

https://en.wikipedia.org/wiki/LiveCode


A proud user of MetaCard and RunRev for many years! Although these days js, Obj-C, and other more traditional languages are my bread and butter.


Scratch is really great. It's free, and kids can publish their work online. Being able to see what other people are doing, tinker with their work, and show off your own projects was a big draw for my son.

It's a visual programming environment, so moving into a second more traditional (text-based) programming language is a non-trivial step, but scratch gets you thinking in terms of algorithms, teaches about what variables are and why they matter, loops and conditionals, etc.


I really like nand2tetris [1] in which one builds a computer from NAND gates upwards. You build the ALU etc., an assembler, compiler, a OS and VM on which you can run your own version of tetris, snake, whatever. It doesn't teach programming directly, but could be used to teach programming when the first parts are reached that require programming (I believe it was Chapter 6 - Assembler).

The hardware part of the course is also available on coursera now. [2] Previous discussion on hn [3].

[1] http://www.nand2tetris.org/

[2] https://www.coursera.org/learn/build-a-computer

[3] https://news.ycombinator.com/item?id=5888705


When my son was around 12 years old we gave him the book "Hello World: Computer Programming for Kids and Other Beginners." It teaches programming with Python and targets making games and was perfect for him. Five years later now, he's really a great programmer, proficient with many languages and techniques. Here's his github site: https://github.com/zyedidia


Being an open source language that also runs on proprietary platforms, Swift can teach people programming from many different points of view.

1. Getting familiar with the platform and toolchains. We all know that these toolchains will be obsolete when your kid grows up. But we have to start from somewhere.

2. What matters is the creative exploration via programming. Whether your kid ends up becoming a Swift (or an iOS) developer is a different matter.

3. One of the advantages of Swift playground on iPad is to liberate the swift learning experience from XCode, which requires you to buy an Apple computer. Another one is being touch native, the design and programming experience will be different from the traditional keyboard and mouse.

4. On the other end, with open source swift on Linux, kids also have opportunities to learn lower level non-graphic programming all the way down to llvm (http://llvm.org/) on portable Linux platforms such as Docker and the cloud. Again, whether your kid ends up being a "server programmer" is also a different matter.

Here is an example of a non-graphic interactive "playground" (https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93prin...) for the same language. https://asciinema.org/a/79773

Although it won't deliver the same kind of user experience as Apple product, but there is no reason to believe that kids can only learn from traditional GUI. And to be honest, nobody knows what the future user and programming interface would be.

Kids will find out themselves.


Swift is open-source now, so it's not really Apple-dependent. Using the Swift Playgrounds doesn't mean your kid will be locked into the Apple ecosystem.


There's nothing usable you can write in Swift that would run on other platforms. Lack of cross platform standard library makes portability only a lip services, "opensource" or not.


Actually, Foundation is being ported to Linux and there are already quite a few third-party libraries out there. I am successfully writing cross-platform server-side applications in Swift.

https://github.com/open-swift https://github.com/VeniceX https://github.com/Zewo



I teach my 6yo son using Pyret and Racket simultaneously. Pyret is, hands down, the best teaching language today, but hasn't been in use as long as Racket, so there aren't as many resources.

https://www.pyret.org

http://www.wescheme.org

https://docs.racket-lang.org/drracket/

http://www.ccs.neu.edu/home/matthias/HtDP2e/

http://www.bootstrapworld.org

Someone below mentions Khan Academy. It's approach is similar and stays on the straight-and-narrow in its use of Javascript:

https://www.khanacademy.org/computing/computer-programming


A few suggestions, in no particular order:

- Pico-8 (Lua)

- Love2d (Lua)

- Scratch (visual coding)


The Community Edition of Livecode is interesting. It's the closest thing out there to a modern Hypercard successor.

http://downloads.livecode.com/livecode/


Elementary School Coding & Robotics Resources https://docs.google.com/document/d/1r1b2CM1uTdST47IbWa7zlZYm...

referenced here: http://www.livebinders.com/play/play?id=810282

Unfortunately the bigger the list, the less likely profitable info has been highlighted. I also didn't note where I found this info; bummer.


Khan Academy's programming environment might have some useful content: https://www.khanacademy.org/computing/computer-programming

It's a live programming environment with instruction to go along with it.

(Disclaimer: Used to work there; didn't work on CS)


As I wrote in my post above, I'd suggest Racket with the book 'Realm of Racket'.


The raspberry pi3 is a great way to learn raspbian comes with Scratch built in.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: