I. INTRODUCTION

MATLAB is a computer programming environment, which is used to perform and visualize numerical computations. MATLAB's ease of use relative to traditional programming languages has made it very popular in academic and industrial environments. For example, an indication of the popularity of MATLAB is evident from the large number of textbooks that make use of MATLAB. A current list of these textbooks is available from the MathWorks web site [1]. Thus, given that MATLAB is an important tool for students in their academic and professional careers, it should be formally taught in the undergraduate curriculum. This is not generally the case, since MATLAB is a relatively new tool and there are few resources available to add new items to the undergraduate curriculum. These students use MATLAB, but few have a good understanding of the basics of this non-conventional, matrix-based programming language.

In an effort to improve the students understanding of this programming language, a project was started in early 1996 to investigate alternate approaches to teaching MATLAB. This resulted in an interactive computer-based tutorial, named M-Tutor, that students could use to independently learn MATLAB. Presently, there are no computer-based interactive tutorials available for learning MATLAB, but there are a number of internet based tutorials [2,3,4]. All of these tutorials are basically computer-based textbooks, which lack any significant student interaction or feedback.

The major goals of this tutorial were to:

- engage students as active learners in exploring new concepts immediately with interactive exercises;
- allow students to proceed at their own pace;
- permit the learning to take place off-campus; and
- make more effective use of faculty teaching time and student study time.

This computer-based MATLAB tutorial is an example of interactive computer-based instruction (CBI). CBI is an active area, which is evident from the increasing number of published papers. For example, the August 1996 IEEE Education Transactions was dedicated to a special issue on the application of information technologies to engineering and science education. Within this issue there were a number of papers directly related to computer-based instruction [5,6,7,8,9]. There are also a number of useful books in this area, which provide information on theoretical aspects of CBI design [10,11] to the more practical implementation details [12].

An important part of designing computer-based instruction is the learner interface to the material. This is an active research area, especially learner control research. “Learner control is defined as those design features of CBI that enable learners to choose freely the path, rate, content, and nature of feedback in instruction” [13]. The contrasting approach to learner control is program control. Program control is defined as the “design features that determine the path, rate, content, and feedback in instruction for learners” [13]. The general approach used in the implementation of this tutorial, perhaps best fit under the label of program control. The author has kept majority control over the path, content and nature of feedback and the learner has some control over the path with complete control over the rate. Program control was chosen, since this is the first project of this type and the safest approach was to extend the lecture/assignment based method. This approach includes a heavy emphasis on drill exercises with feedback; to reinforce the material presented.

The remainder of this paper is divided into three major sections. The first section is the Design Process, which describes the approach used in developing the computer-based tutorial. The next section is Implementation, which presents the implementation details, including a description of the direct interface to MATLAB that is used for exercise evaluation. The last major section is Student Evaluation Results, which presents some subjective undergraduate student evaluation results.