6 ms·
Apple launches Swift Playgrounds for iPad to teach kids to code
- satysin 10y agoI think this is really cool. It is like a really pretty Scratch-type environment but teaches actual Swift rather than puzzle blocks. Also the new coding keyboard looks interesting. A nice surprise from Apple.
- yeldarb 10y agoMy bet would be on a version of xCode for iPad being released at WWDC 2017. This seems like a perfect way to get some wide testing of the compiler, coding keyboard, etc. I wonder what IDE enhancements we can expect from a touch interface.
- allsystemsgo 10y agoXcode project settings on an iPad? No way.
- shostack 10y agoThat's actually a good point. Are there any good development options for the iPad today that aren't excruciating to use?
- cableshaft 10y ago> Are there any good development options for the iPad today... Yes, there are. > ...that aren't excruciating to use? Oh. No, not really. Pythonista is the closest I've seen to an non-excruciating IDE on the iPad, but that's Python only. Link: http://omz-software.com/pythonista/ http://omz-software.com/pythonista/
- wallflower 10y agoBefore Swift Playgrounds launches to the general public, Hopscotch and ScratchJr are still two of the best apps for children to explore learning to code on the iPad. https://www.gethopscotch.com/ https://www.gethopscotch.com/ https://itunes.apple.com/us/app/scratchjr/id895485086?mt=8 https://itunes.apple.com/us/app/scratchjr/id895485086?mt=8 For children who are older or more advanced: Codea https://itunes.apple.com/us/app/codify/id439571171 https://itunes.apple.com/us/app/codify/id439571171 For more of a game-like environment: Lightbot https://itunes.apple.com/us/app/lightbot-programming-puzzles/id657638474 https://itunes.apple.com/us/app/lightbot-programming-puzzles...
- praveenster 10y agoIn addition to the the ones mentioned above, my 7 year old enjoys codecombat on the PC (or Chromebook which a lot of elementary schools use these days): https://codecombat.com/ https://codecombat.com/
- VPrime 10y agoI'd like to add our app hyperPad to this list https://itunes.apple.com/app/id886106438?mt=8 https://itunes.apple.com/app/id886106438?mt=8 It's a bit more visual programming rather than actual code, but programming concepts still apply. We're being used by hundreds of schools around the world teaching kids to code :).
- alexashka 10y agoI think it makes for a cute demo but misses the mark - what's desperately needed are better developer tools - not another 'how to become a programmer in 30 days'. There's enough beginner material - the stumbling block is the reality programmers are living in. Cute demos aren't changing that.
- Jtsummers 10y agoI'm not sure there are enough beginner materials. I've lamented in the past (here even, maybe) that the first computing devices many people get are primarily designed around consumption. Some types of content creation (particularly visual and audio, more limited textual), are very well enabled by these tablet interfaces, but that's not been the primary focus. But programming them has long been difficult and required an external device. Many of my peers' young children are first given an iPad or similar device, not access to a Tandy 1000, Apple II, Commodore or similar computer that had a BASIC interpreter baked in. To an extent the fault (on iOS) is squarely on Apple's shoulders, as for a long time they explicitly made interpreters and such verboten on iOS. This is a nice turnaround on their part, and a potentially good tool to get programming into the hands of kids.
- tetraodonpuffer 10y agoI thought Apple had allowed interpreters etc. for some time, pythonista looks quite nice for example (it even has numpy and somebody ported some sort of pip to it so you can even install modules) As a first introduction to programming python might be a bit too complicated, but there do seem to be some BASIC interpreter on the app store it seems
- Jtsummers 10y agoThey have, but I don't know when it happened. Looks like longer back than I recall. So less a turnaround than I was thinking it was.
- alexashka 10y agoHow is it that we can teach chemistry and physics - but when it comes to 'when this, do that', we throw our hands in the air and claim it is too difficult? I'm pretty sure calculus is more difficult than intro to python :)
- pokstad 10y agoSo much of this app reminds me of Codea's way of modifying colors and numbers: Swift Playground: http://www.apple.com/swift/playgrounds/ http://www.apple.com/swift/playgrounds/ Codea: https://codea.io https://codea.io
- mcphage 10y agoBoth are based on the work of Bret Victor (for instance, http://worrydream.com/#!/LearnableProgramming http://worrydream.com/#!/LearnableProgramming), who worked at Apple for a few years.
- interpol_p 10y agoModifying colours, sprites and sounds with the inline picker directly from code was my own design. And first appeared in Codea, as far as I'm aware. I was definitely aware of, and inspired by Bret Victor's presentations (and certainly took some of his ideas for Codea). But those particular features were first in Codea before being replicated elsewhere.
- Firebrand 10y agoInspiring the next generation of college students to sign up for freshmen CS classes and shockingly realize that programming is only a small component in the field.
- devrelm 10y agoPerhaps, but while programming may be only 20% of CS, learning it probably takes up 80% of a student's time. Reducing that additional cognitive load during the first couple semesters could allow them to focus on other CS fundamentals and improve overall comprehension over the course of their degree.
- Jtsummers 10y agoAnd I honestly can't recall a single CS course where I didn't write an executable program after my first (CS 1301 at GT circa 2000, done using a pseudo-code language based on Pascal). Even my theory classes, I used programming to express/analyze the material discussed in class.
- Apocryphon 10y agoOr perhaps, turning programming into a cross-discipline skill, and slowly decreasing the need for a CS degree?
- mcphage 10y agoThis is what I'm hoping for. I want my kids to learn how to program, not so that they can become a programmer like me, but so that they can use programming to inform and enhance whatever they choose to do.
- cableshaft 10y agoYeah, I'm using my programming skills to write scripts to assist me in making/designing/balancing physical board games. Probably no one would assume that programming would assist in the hobby in any way, but I'm finding it quite useful.
- kibwen 10y agoI like Swift as a language, but I have my doubts as to its suitability as a first-time programming language for children. It contains a whole lot of industry-standard jargon that we as practiced software developers don't think twice about, and will have to be explained. Like, what the heck is a "string", and why is it called that? What is this weird vertical character that I've never seen before (and how do I even begin to type it? is it an emoji?) and why do two of them next to each other mean "or"? I don't doubt that kids are smart enough to wade through it all, but if you put enough obstacles in their path then they're going to wander off and do something more interesting. It also raises the question of whether you're teaching kids programming for the sake of programming (in which case you'd rather use any of the myriad languages that have been designed for young children), or if you're teaching kids programming for the sake of helping them solve some problem or achieve some task (in which case you'd probably pick a language with a more specific focus), or whether you're just teaching them programming just for the sake of adding to the ranks of the software industry ten years from now.
- stormbrew 10y agoIt seems to do a lot of holding your hand through all those things, but I've always been very skeptical of the idea that the things you listed are real barriers to understanding. The fact is that those are surface details that are far less likely to tank your understanding of what's going on than basic problems understanding logic and execution flow. When I see beginners struggle, it's not because they've been given sigils they don't understand (it'd be almost impossible not to: even using words like 'or' and 'and' carry various secondary meanings unique to programming and/or formal logic), but because they're having trouble building a meaningful mental model of the execution of the program. Live visualizations help a lot with that fundamental problem. From there you can learn the details. I think this way around is far more successful. Fundamentally, this argument's been had over and over and over again, and in the end the languages people learn are the languages people use. BASIC is probably the most successful 'learning language' ever, but it became successful in environments where people were using it for productive work (as the boot rom environment on older computers and with visual basic). Likewise, Pascal only became popular when it became possible to use it for productive work (thanks to Borland Pascal and later Delphi). Otherwise, allegedly 'easier to learn' languages lose every time to the ones people can move from success to success all the way from learning to productive work.
- deleted 10y ago[deleted]
- donatj 10y agoI learned on Microsoft Basic and later QBasic. I fully intend to teach my children using the same.
- nickm12 10y agoI think it's a shame to teach kids to program on a platform as closed as iOS. A 12 year old I know wrote an app as a birthday gift for his grandfather who lived overseas. The app was simple and displayed the grandfather's age with various different effects. Unfortunately, he wrote the app for iOS and so there was no easy way to deliver the app to grandfather (the family tried to submit it to the app store but it was rejected). At least Swift Playgrounds allows kids to share with one another. Just don't try to leave the playground.
- Apocryphon 10y agoSwift is open, so at least they can take what they learned of the language to open platforms.