What is eL-CID?
eL-CID was written to help learn to develop programs by viewing examples of iterative development. Iterative development means writing simple programs then improving them step by step. It is a very common technique, but because of its progressive nature, teachers find difficult to demonstrate it on paper.
eL-CID stands for e-Learning by Communicating Iterative Development.
How does it work?
eL-CID takes a program and improvements that a good programmer has written. Then it displays the initial listing, and shows the step by step changes as if the program was being edited in front of the user. At each step the user can stop to observe the changes and run the work in progress.
Data about each program and its improvements is stored in XML format. When eL-CID opens an XML data file, it analyses the data to prepare the demonstration. It then shows the program and iterative modifications.
The possible program changes are cursor move, insert, select, delete, copy, and paste. This is enough to cover all the possible changes made to a text file. At the start, I wrote it because I am tired of giving students masses of handouts that show successive versions of the same program.
I'd like to make tutorials
You should register online. The editor is not easy to use yet. Use the tutorials included as guidelines to the XML format used.
The system is free under the GNU Public License, but you retain the copyright to your tutorials - the boring details are in the download.
It doesn't work in my browser
eL-CID has been tried on Safari, Firefox, Internet Explorer, Opera, and Chrome. Javascript should be enabled and you need a browser that supports AJAX. If your browser fulfills these conditions, and it still doesn't work, let me know.
Let me know if you find bugs.
Can I change the system or make my own version?
The source is on Google code, download it. Contributions are welcome, so is forking.
Where can I get more information?
Here are some publications in connection with the project. There's work in progress described as planned usecases.
- Using e-learning the software development process (755k pdf), Excellence Gateway Inside Evidence Bulletin, Autumn 2010.
- A visualisation tool for the programming process (153k pdf), paper presented at ITiCSE'09 Innovation & Technology in Computer Science Education conference, Paris, June 2009
- Web animation to communicate iterative development (214k pdf), paper presented at ITiCSE'06 Innovation & Technology in Computer Science Education conference, Bologna, June 2006
- Poster (341k pdf) for a presentation at the SIGCSE February 2005 Computer Science Education conference in St Louis, MO
- Short paper, Supporting Program Development Comprehension, (184k pdf) at the July 2004 Information Visualisation conference in London