Javascript IDE is in testing. Try it out
Please experiment, and (ideally) email feedback to me.
The purpose is to give a chance to learn to program, using a real programming language, with plenty of help to hand.
There are already some great tools around, but there is a bit of a gap between them. Let's look at the two best:
However, the gap between them is vast. By the end of Year 7 (age 12), students should have mastered Scratch, but very few are mature enough for Greenfoot. And there is nothing really for them.
The aim of this is to build on the knowledge of Scratch, giving them drag and drop code snippets, but in this case of a real and useful language, that does real, useful tasks. But what it drops is not blocks, but code snippets - plain text - which they need to edit to use. They are forced to confront real programming, but with help thrown in.
The middle panel on the image is the key one. In the top half students write their code. This is rendered in a target web page below.
However, in doing so, several things happen.
On the left hand side are a pile of examples and code snippets. Clicking them inserts them into the code section, avoiding a teacher having to run madly round a class explaining, again, that you need several semi-colons in a for statement, or you can't have an 'else' without an 'if'.
The right hand side is for help and exercises Various exercises are suggested. Short text answers can be completed, or the current code submitted, the answer being stored under the user id in the back-end database
As long as they have loggged in all code is automatically saved every time they try and run.
There is no hidden or generated code or non-standard hacks. The input is standard JavaScript, the outcome is standard JavaScript. JQuery is used to simplify some tasks, but code is there and visible for pupils to manipulate themselves.
At the moment, you can just use it. Go now
If you want to save your work you need to have a login. Logins are tied to schools, and I can create you a school if you email me. If you don't want to, just use the default, hogwarts (and note that it's case sensitive).
At present the process of a teacher seeing a student's work is rather clunky. Everything is saved in a database, a different table per school. It needs a few queries hacked together to make it easy to get them out, but I just haven't done them yet. It's a small task to do a basic job on this, and it will appear shortly (written 18 Jan 2012, and I'll be disappointed if it's more than a couple of weeks).
In a similar vein it needs a few queries for pupils to get their work back next time they log on. Again, a couple of weeks and it will be there.
There are several reasons to use JavaScript
JavaScript's C-like syntax, including curly braces and the clunky for statement, makes it appear to be an ordinary procedural language. This is misleading because JavaScript has more in common with functional languages like Lisp or Scheme than with C or Java. It has arrays instead of lists and objects instead of property lists. Functions are first class. It has closures. You get lambdas without having to balance all those parens.
Free to use.
I'm trialing this on some of my classes, and it works OK, but it still needs more doing.
Suggestions are welcome. Things I think are needed include:
Screenshot
If when you try it fails miserably you probably have it on some combination of browser and Operating System I haven't tested it on. Please tell me details of what went wrong and what you're running. Thanks.