Interactive Fiction: Time to play
Thursday, June 1st, 2006There’s very little required to start playing with Interactive Fiction: install an interpreter and download some game files then you’re ready to roll (more…)
There’s very little required to start playing with Interactive Fiction: install an interpreter and download some game files then you’re ready to roll (more…)
We can’t go on like this. Using prompt() and alert() for all input and output (as we did in the previous articles is unwieldy and just plain dumb when there are many ways of skinning this particular cat. So this month we’ll make a diversion into some I/O options that are available to JavaScript. (more…)
In the previous article we looked at creating, manipulating and extracting values from JavaScript arrays. Arrays allow us to store lists of related data using a numbered index.
But in JavaScript, the index of an array need not be a number, it can also be a word (more…)
In the previous article I sang the praises of JavaScript as an advanced programming language, then proceeded to demonstrate some rather unsophisticated methods of input/output. In hindsight my examples didn’t support my argument too well. In this article I will rectify things by having a good hard look at JavaScript arrays. (more…)
For quite some time I have not had a high opinion of JavaScript. This is probably because in the late 90s I spent far too much time trying to get so-called Dynamic HTML to work reliably on the version 4 flavours of Netscape and Internet Explorer. And also because JavaScript is far too often used in stupid and annoying ways on the Web, to name a few: pop-up windows, window resizing, dialog boxes, cursor trails, and JavaScript-only links and forms.
However I have recently discovered that, as with many other programming languages, the power of JavaScript can be harnessed for good as well as evil. JavaScript is a surprisingly powerful programming language and is well worth a detailed look. (more…)
In part two we continue to look at what programming languages have in common. (more…)
When learning computer programming it can be difficult to separate general programming principles from the specific details of one particular language. In some languages the underlying general principles of programming may remain obscured by the sheer volume of information needed just to make a program work. General principles may not emerge until the new programmer has learned two or three other languages.
This article illustrates eight basic programming concepts with examples in five programming languages - Java, Perl, Python, REBOL, and Scheme - which will allow the reader to make comparisons and generalisations. Part one addresses the first five ideas: output, variables, expressions, input, and selection. Part two covers lists, subroutines, and repetition. (more…)
In the previous episodes we made increasingly sophisticated square-making programs. In this final episode we will leave boring squares behind and make a star shape. (more…)
Welcome to part three of Programming with Karel. In this episode we are going to start controlling more than one robot and have a look at how robot names work. But first I’ll make a comment. (more…)
Teaching a young robot new tricks
In the previous article, I left readers with the task of modifying the example program to make the robot close the L-shape into a square, as shown here:
Fig. 1 - karel turning an L into a square

Computer programming is an absorbing and challenging hobby and a valuable occupational skill. It helps develop many useful intellectual abilities, including analytical thinking, creativity, and problem-solving. But most importantly, computer programming is fun.
Welcome to the first in a series of articles intended for people with a moderate level of computer experience but little or no knowledge of programming. Let’s say you know what files and folders are, you can use a word processor, you don’t need detailed instructions on how to install software, and if I say “Run Program X” you’ve got a pretty good idea where Program X is and how to get it going. That’s all you need - no expertise required. (more…)