Next: Implementation of the Tutorial Up: Computer-Assisted Instruction via the Previous: Background

Organization of the Tutorial

The tutorial developed in this project can be found at the URL,
[N.B. This link is out of date. Contact me at for a copy of the system.]

The C programming tutorial is organized in nine parts:

  1. Some C Basics,
  2. Functions,
  3. Conditional Statements,
  4. Looping Structures,
  5. Arrays,
  6. Pointers,
  7. Structures,
  8. Recursion and
  9. File Handling.
Each of these parts is further subdivided into a number of sub-parts. For example, Part 4 consists of:
``Play it Again Sam'' -- an overview of basic looping concepts,
All the While -- the C pre-test loop,
Do Be Do Be Do -- the C post-test loop,
For Me? -- the C for loop,
The Middle Ground -- using the C break statement to implement mid-test loops,
``Carry on My Wayward Son'' -- the C continue statement and
What an Idiom! -- certain common looping idioms in C.

Throughout the tutorial, each sub-part is implemented as a single HTML page. HTML is the HyperText Mark-up Language used to describe documents on the World-Wide Web. HTML documents are transferred to client browsers from servers by means of the HyperText Transfer Protocol (HTTP)[9]. These pages contain a mixture of descriptive text, code fragments and illustrative graphics. HTML also has support for forms which allow information to be passed from the client browser back to the server[4]. This transfer from client to server is governed by another part of HTTP know as the Common Gateway Interface (CGI). Code on the server side that takes the forms information, processes it and produces a reply is known as CGI code or as a CGI script. Figure 1 shows an example of one page as viewed by Mosaic.



Figure 1:  Sample Tutorial Page in Mosaic

Most of the pages also contain a question for the student. The purpose of these questions is to ensure that the student has some degree of mastery of this page before moving on to the next. Three types of questions are used in this experimental tutorial: short answer, one-of-many multiple choice and many-of-many multiple choice. Figures 2-4 show examples of each of the three types of questions.



Figure 2:  Sample Short Answer Question



Figure 3:  Sample One-of-Many Multiple Choice



Figure 4:  Sample Many-of-Many Multiple Choice

If a student gives the wrong answer to one of these questions, the CGI code at the server will send back a page stating that the answer was wrong. In many cases, this page also describes what was wrong with this answer. At the bottom of each response page, the student finds a link back to the tutorial page that has not been mastered. Once a student gives the correct answer, a congratulatory page is returned with a link to the next sub-part of the tutorial.

In most cases, the last page of a part contains descriptive material not needing a question or it contains a programming assignment. Each of these pages contains a link forward to the beginning of the next part and also back to the index.

Next: Implementation of the Tutorial Up: Computer-Assisted Instruction via the Previous: Background

Brian L. Stuart
Mon Aug 12 16:20:19 CDT 1996