The CS1 course at Rhodes takes a breadth-first approach with a lab component that focuses on programming such as discussed in [1,3]. To better convey the details of the language, we developed an on-line tutorial for the C programming language as reported in . Studies of the impact of such Computer-Assisted Instruction approaches are reported in [2,4,6]. This tutorial operates across the Web. HTML pages present features of the C language, and most end in a problem to be solved. These problems are presented using HTML forms. When the student submits a form, a CGI script on the host computer checks the answer given by the student. If the answer is correct, the CGI script returns a page reporting that with a pointer to the next page in the tutorial. Otherwise, the CGI script returns a page reporting that the answer is incorrect, and for some combinations of question and answer, it includes an explanation of why the answer is wrong.
While the tutorial has been successful as a tool in teaching
the C programming language, its development has little to
recommend it for those who wish to write similar tutorials.
Coordinating the HTML forms for questions, the CGI scripts
(which were written in Lex) and the HTML response files
proved to be a tedious task at best and somewhat error-prone.
Also the use of Lex for CGI scripts is not easily portable
to some platforms.
Therefore, we have embarked on a project to develop an authoring
system for such tutorials.