background preloader

Learnable Programming

Learnable Programming
Here's a trick question: How do we get people to understand programming? Khan Academy recently launched an online environment for learning to program. It offers a set of tutorials based on the JavaScript and Processing languages, and features a "live coding" environment, where the program's output updates as the programmer types. Because my work was cited as an inspiration for the Khan system, I felt I should respond with two thoughts about learning: Programming is a way of thinking, not a rote skill. Learning about "for" loops is not learning to program, any more than learning about pencils is learning to draw.People understand what they can see. Thus, the goals of a programming system should be: to support and encourage powerful ways of thinkingto enable programmers to see and understand the execution of their programs A live-coding Processing environment addresses neither of these goals. Alan Perlis wrote, "To understand a program, you must become both the machine and the program."

http://worrydream.com/LearnableProgramming/

Related:  Computer Programming Principles

Danc's Miraculously Flexible Game Prototyping Tiles RPGs love PlanetCute So do platformers... One of the commenters on the SpaceCute posts wondered what would happen if you visited one of those delightful spa-like planetoids that decorate our little galaxy of cuteness. Google Course Builder will catalogue and deliver the world's educational content Following hot on the heels of Stanford's announcement that it would be taking on iTunes U with its own free course software, Google has just released a new "Course Builder" tool. Following a trial course in July that saw 155,000 registered students (with 20,000 completing it), the search giant has bundled the technologies used into an open source package available to anyone here. The tool includes all of the formalities you would expect from a full educational course, including a registration process and schedule alongside certificates and the standard content repository that you would expect. Unlike services like iTunes U, the result is much more holistic -- this feels less like a way for a casual user to "play along" with the real course taking place at a university and more like a dedicated service in itself. Interestingly, Stanford also features as one of the first organisations said to be "considering how this experimental technology might work".

HyperShell(HyperCell2.0, Processing) HyperSHell (Processing Interface) from P&A LAB on Vimeo. HyperShell is based on the same logic of Each of the line (Vertical) component is built up by 4 same cells. Once the variable of the cell changes, the whole component line will change as well.The True-False logic inherited in the cell Bret Victor: Learnable Programming I think this article raises some brilliant points, and is very well written, but I also feel that it falls short of the mark Bret was aiming for. As he himself alludes to, most of what he is teach is not programming - it is individual actions. Just as being taught the meaning of individual words does not teach you to write, being taught what certain functions or statements do does not teach you to program. What is important is not spelling, but grammar - the shape of a program. His parts on Loops and Functions are better on this - the timeline showing loop instruction order is pretty awesome. However, it's still not perfect.

Ruby, Rails and JavaScript Tutorial Catalog ▶ We’ve been acquired by Pluralsight! ▶ Upgrade your account to Pluralsight ▶ More details… Filter by tag: Maillardet's Automaton at The Franklin Institute In November of 1928, a truck pulled up to The Franklin Institute science museum in Philadelphia and unloaded the pieces of an interesting, complex, but totally ruined brass machine. Donated by the estate of John Penn Brock, a wealthy Philadelphian, the machine was studied and the museum began to realize the treasure it had been given. This Automaton, known as the "Draughtsman-Writer" was built by Henri Maillardet, a Swiss mechanician of the 18th century who worked in London producing clocks and other mechanisms. It is believed that Maillardet built this extraordinary Automaton around 1800 and it has the largest "memory" of any such machine ever constructed—four drawings and three poems (two in French and one in English).

Udacity and Online Pedagogy: Players, Learners, Objects This sentence is a learning object. Wayne Hodgins, the “father of learning objects,” first came up with the idea for them while watching his son play with LEGOs. The basic notion is that we can create units of learning so fundamentally simple and reusable that they can be applied in different ways to different objectives and lessons, no matter the context. Hodgins’s dream was of “a world where all ‘content’ exists at just the right and lowest possible size.”

Processing Processing is an open source language/ development tool for writing programs in other computers. Useful when you want those other computers to "talk" with an Arduino, for instance to display or save some data collected by the Arduino. Simple Examples Arduino comes with some basic examples for communicating with Processing (in Examples > Communication).

A Brief Rant on the Future of Interaction Design So, here's a Vision Of The Future that's popular right now. It's a lot of this sort of thing. As it happens, designing Future Interfaces For The Future used to be my line of work. 5 Interesting Ways To Learn To Code Many people have realized the importance of learning how to code as a life skill. No matter where you go, and what job you have, it’s always seen as in a positive light if you know how to work some code, even if that’s not your profession. As this importance increases ever more, there are plenty of new initiatives to get kids to learn code in school. While it’s great to see them, you can take control of your coding education by taking some steps on your own. The best – and probably most surprising part – is that it doesn’t have to be a boring ordeal. Don’t believe me?

John Conway's Game of Life The Game The Game of Life is not your typical computer game. It is a 'cellular automaton', and was invented by Cambridge mathematician John Conway. This game became widely known when it was mentioned in an article published by Scientific American in 1970. It consists of a collection of cells which, based on a few mathematical rules, can live, die or multiply. Teacher Collaboration: When Belief Systems Collide It's impossible to explore how we can work more effectively together in schools without considering conflict -- an inevitable part of working together. Conflict can be challenging and destructive, or it can lead to a deeper understanding between people, and perhaps higher quality work from a team. There are many reasons why conflict can exist within a school or a team of educators. In December, I attended a fantastic workshop at the annual Learning Forward conference on breaking through conflict. It was led by Robert Garmston (co-author of Unlocking Group Potential to Improve Schools) and Jennifer Abrams (author of Having Hard Conversations). In this workshop, the presenters offered one way of identifying where conflict originates -- in the belief systems that we each hold about the role and purpose of education.

Michal Piasecki Michal Piasecki Blog at WordPress.com. The Hatch Theme Follow What is Logo? "Logo is the name for a philosophy of education and a continually evolving family of programming languages that aid in its realization." - Harold Abelson Apple Logo, 1982 This statement sums up two fundamental aspects of Logo and puts them in the proper order. The Logo programming environments that have been developed over the past 28 years are rooted in constructivist educational philosophy, and are designed to support constructive learning. Constructivism views knowledge as being created by learners in their own minds through interaction with other people and the world around them. This theory is most closely associated with Jean Piaget, the Swiss psychologist, who spent decades studying and documenting the learning processes of young children.

About learning code, and why it's so hard to learn code, and learning in general. (Also: learning kids how to code with a Turtle). With a book tip "Mindstorms" on learning. by rafweverbergh May 19

Related:  CodingComputer Programming PrinciplessarkisderderianProgrammingreferentesProgrammingTidbitspenalva34Whatever! It's just cool