Development and Integration of Web-based Software Tutorials for an Undergraduate Curriculum: Control Tutorials for Matlab Dawn Tilbury and William Messner
Abstract |
The rapid development of the World Wide Web (WWW) has provided unprecedented opportunities for educators to reach audiences of students and colleagues around the world. This paper discusses the development, use, distribution, and integration into a curriculum of a set of Web-based software tutorials for undergraduate courses in automatic controls. The purpose of the tutorials is to teach students how to use Matlab, a popular computation and visualization software package, to analyze and design automatic control systems. The tutorials combine explanatory text with sample Matlab commands and illustrative plots and graphics, are highly interconnected, and are easily accessible over the WWW. I. Introduction
The rapid development of the World Wide Web (WWW) has provided unprecedented opportunities for educators to reach audiences of students and colleagues around the world. Frequently the WWW is used to simply advertise research or education programs, but some educators have built Web sites for more pedagogical purposes. For example, Rugh [?] has constructed Web pages to illustrate concepts of signals and systems. Others have used the Web as a distribution method for reading material [?], [?]. In contrast, the tutorials described in this paper are used to teach a skill in using a particular software package. Over the past decades, engineering education (as well as the engineering profession in general) has become increasingly reliant on ever-more-powerful software tools to assist in solving ever-more-complex problems. Computations which once took pages of algebra now require only a press of the `return' key. The instructor can focus on both fundamental and advanced concepts and let the software packages do the computation. Teaching students to eectively use these new software tools can be problematic, however. Software is best learned by \playing" with it, but the user interfaces to many powerful tools are cryptic at best. The manuals are often written for advanced users and can be dicult for beginning engineering students to follow. The professor often will bring a computer into the classroom to demonstrate the software, but it can be dicult to take notes on the commands that are used. In this paper, we present a new methodology for teaching software tools. We have developed a set of tuto-
rials using the World Wide Web for teaching students to use Matlab, a popular computational software package, in the context of Automatic Control.1 The implementation of these tutorials on the WWW provides several advantages. Using a personal computer or workstation with access to the WWW (through Mosaic or Netscape) and to Matlab, any student can follow a tutorial while running Matlab. Students can grasp key concepts and design techniques in a \learn by seeing and doing" manner. Using the mouse, commands shown in the tutorials can be copied from the browser window and pasted into the Matlab command window without timeconsuming typing and editing. Students can immediately see the result of an actual Matlab computation, compare it to the tutorial, and experiment with commands and parameters. By using the hypertext markup language on the WWW, the tutorials are highly interconnected. Depending on his or her ability, interest, and available time, a student could take one of several dierent paths through the tutorials. The information contained in the tutorials is available to students when and where it is needed|while they are at the computer working with Matlab. Close integration with a curriculum is possible by installing the tutorials on a local server for ease of reference, and assigning the tutorials on homework assignments. The entire package of tutorials can be installed on a remote Web server with a minimum of eort|no editing is necessary. The tutorials can be easily customized with additional information and with links to other Web materials, such as course home pages, syllabi, homework assignments and solutions. This set of tutorials has already proven to be a valuable addition to the undergraduate engineering curriculum at several universities. The outline of this paper is as follows. The development of the tutorials, including pedagogical considerations, structure and content, and unique features, is presented in Section II. The use of the tutorials and their integration into an undergraduate curriculum are discussed in Section III, and future work is discussed in Section IV. II. Development of the Tutorials
The tutorial concept originated at the University of Michigan in the Winter term of 1995. When the students D. Tilbury is with the Department of Mechanical Engineering and Applied Mechanics at the University of Michigan, Ann Arbor, MI in Prof. Tilbury's ME 461 class were having trouble using Matlab for their homework problems, she conceived 48013,
[email protected]
W. Messner is with the Department of Mechanical Engineering at Carnegie Mellon University, Pittsburgh, PA 15213, 1 The tutorials are at http://www.engin.umich.edu/group/ctm and
[email protected] http://www.me.cmu.edu/Matlab/html.
of the idea of working out an example problem in Matlab, showing all the code that was used, explaining the steps that were taken, and displaying the Matlab output. The tutorial was placed on the Web for easy access by students. Based on an overwhelmingly positive response from the students, she developed a new tutorial for each topic that was covered in the course, introducing the new Matlabcommands that would be needed. The current set of tutorials is an outgrowth and extension of that original set. A. Pedagogical Basis
Students learn best when they can quickly use information that is presented to them. The Control Tutorials for Matlab enable students to learn by \seeing and doing." Student users are expected to run Matlab in one window of their computer and a Web browser (such as Netscape) in another. The tutorials contain Matlab code along with explanatory text to describe the objective of the commands, as well as the Matlab output (text or graphics). The students are encouraged to copy the commands from the browser window into Matlab (using copy and paste with the mouse), run the code, and compare the output they get with that given in the tutorials. In this way, they are able not only to quickly use the information presented to them, but also to easily modify this information and experiment with changing commands and parameters. The elimination of time-consuming and error-prone typing and editing greatly facilitates the learning process by reducing frustration and decreasing the time before something useful can be done. This is an advantage over currently available books with similar content and goals [?], [?], [?], [?]. Students can immediately see the result of an actual computation and quickly experiment with modi cations of the commands and changes of parameters. Reinforcement and practice are also essential to the learning process. Students universally want to see more examples both in class and in their textbooks. Consequently, the tutorials contain a large number of examples for students to study and compare. There are four dierent physical systems used as examples; for each system, a mathematical model is presented along with four control design examples. These twenty examples are interconnected in two dimensions: \vertically" by the physical system model and \horizontally" by control design method. The outline of the tutorials and examples is shown in the image map in Figure 1. B. Advantages of the World Wide Web
Because the tutorials are on the World Wide Web, they are immediately available to students whenever they are at a computer with a network connection. There is never the danger that a handout is forgotten at home, the manual is already checked out of the library, or the notes taken in class have been eaten by the dog. Another advantage of the tutorials is their interconnectedness, which is easy to implement on the WWW using the hypertext markup language. In contrast to a book, which begs to be read in a linear sequence, the tutorials admit
Fig. 1. The image map on the home page of the tutorials.
many equally appropriate paths. For a quick review of classical controls, a student could follow only the tutorials without going to the examples. A student studying root locus might begin at the root locus tutorial, and then follow all four root locus examples. A student interested in the DC motor might start with its model and view all four motor control design examples. Each page stands alone, but oers hyperlinks to related topics. (A \page" here refers to one Web page; each page will typically takes up a few screenfuls on a monitor.) The hypertext markup language on the Web is also wellsuited for allowing background and supporting information to be provided in an unobtrusive but readily-available manner. For example, every time a function is used in the tutorials, the word `function' is highlighted; that hyperlink leads to the Web page describing how functions work in Matlab. The complete description of functions, although not included on every page, is never more than a mouseclick away. Review of previously-seen material is made easy through the use of many hyperlinks and indices. At the top of every page is an outline with subheadings which are hyperlinks leading to the dierent regions on the page. There is also an `Index' page which gives an outline view (with hyperlinks) of every tutorial and extra page. At the bottom of every page are links to all of the tutorials as well as links to similar examples. Links are always given to come back to the home page, to the complete index, and to the list of Matlab commands. Within the Web browser, students can set their own bookmarks to return to particularly useful pages of the tutorials. Essentially, by using the WWW, the tutorials provide ready access to information when and where it is needed|
at the computer. The generality of these pedagogical principles can be applied to not only to other types of software, but also to the use of laboratory equipment. Some possibilities in this direction are discussed in Section IV. C. Basic Structure and Content
The tutorials are designed to help students learn how to use Matlabfor the analysis and design of automatic control systems. They cover the basics of Matlab, the most common classical control design techniques (PID, root locus, and frequency response), as well as some modern (state-space) control. An outline of the tutorials is given in Figure 1. The main ow of the tutorials is from top to bottom; this outline mimics the table of contents of many of the popular textbooks on automatic control [?], [?], [?], [?]. Although state-space techniques have not traditionally been taught in many undergraduate-level courses, the availability of software packages such as Matlab has allowed these computationally-intensive techniques to become much more prevalent and easy to use. Throughout the tutorials, we assume that the users are currently taking (or have taken) a course on Automatic Control. The theoretical treatment of the subject matter is cursory; the emphasis is on how to use a software tool (Matlab) to analyze and design control systems. With this design, the tutorials can not only be easily integrated into an existing undergraduate controls curriculum, but they can also be used by community colleges, industry, and individuals for continuing education. With these tutorials, it is easy for engineers in academia and industry with access to the WWW, who are familiar with classical control theory, to learn how to use Matlab to apply their knowledge and to improve their skills and understanding. In fact, our current statistics show that approximately one-fourth of the U.S. users are from companies. D. Implementation Features
A small piece of the root locus tutorial is shown in Figure 2. Several things to note are the combinations of explanatory text, Matlab code, hyperlinks, and gures. The convention is to have explanatory prose in a proportional font and Matlab commands in a xed-width font. The Matlab commands are set o from the text, for ease of copying and pasting into the Matlabwindow using the mouse. Each tutorial page is divided into several subsections with bold headings; an outline of the subheadings is given at the top of each page and on the index page for easily accessing a certain part of a tutorial. Graphics are used extensively. Most commonly, graphics are used to show the output of a Matlab command which produces a plot. Students can compare the result that they obtain from running the code with the result shown in the tutorial. If the code is simply copied from the tutorial to the Matlab window without modi cation, the plots should match. Students can also compare the dierences between their results and the tutorial when they change some of the system or control parameters. Graphics are also used to include block diagrams, schematics of physical systems, equations, and
Fig. 2. Snapshot from a root locus tutorial.
other drawings to illustrate concepts, such as the shape of the Nyquist contour in the frequency response tutorial. One of the great advantages of using computers as an education medium is that motion can be easily depicted. In the current version of the tutorials, movies are included to illustrate aspects of the Nyquist criterion. The rst animation shows the relationship between the polar plot of a the frequency response of a transfer function and the gain and phase of the Bode plot. Another shows how encirclements of -1 are counted on a Nyquist plot. Both of these concepts are dicult to explain in a textbook (and nearly impossible to draw on a blackboard) but are easily illustrated using a movie. We have designed the tutorials to be extremely portable.2 Local le references for all links are used, and a client-side image map was used on the home page, so the entire package of tutorials can be transported to another site and installed on their Web server with a minimum of eort. III. Employing the Tutorials
The current set of tutorials has been on-line since September of 1996. They were incorporated into an undergraduate course on automatic control (EE 141) taught by Dr. L. Bushnell at Duke University in the Fall of 1996, and they were used as reference by the three undergraduate controls courses at the University of Michigan (Aero 471, EECS 460, ME 461) during the academic year 1996-97. Currently the tutorials are being used as reference and resource material for students in Feedback Control Systems, the undergraduate controls course oered by the Department of Mechanical Engineering at Carnegie Mellon University. The address of the tutorial web site was also entered into the most popular WWW search engines (such 2 Professors interestedin acquiringa free copy of the tutorials should contact one of the authors for more information.
A. How the Tutorials are Used
Our original intention in designing the tutorials was that students would follow along by running the tutorials in one window and Matlabin another. Because of the ease of moving between the two programs, we expected that they would run the Matlab programs by copying and pasting between windows. We have discovered, through conversations with students and through email feedback from users, that this model is not universally followed. Of 189 email feedbacks that we received, 40% of the students stated that they ran none of the Matlab code (30% ran some and 30% ran most). The tutorials are actually used in many dierent ways. First and foremost the tutorials are a quick and easy reference when doing homework assignments. Information on the use of a particular command or technique is readily available. The ability to quickly move among pages to get information is an attractive attribute of the WWW. Secondly, students have found the tutorials to be useful for reviewing key concepts before exams. Although we did not expect the tutorials to ever be printed out, we often get email questions about printing problems or suggestions to change the background color of the plots from black to white to make printing easier. We have also met a practicing engineer who has printed out every tutorial and meticulously typed each program into an m- le in an eort to really learn Matlab. The hypothesis that the tutorials are used primarily for quick reference and as study guides is supported by statistics from the University of Michigan's Web server. This data, taken between September 1996 and February 1997, was processed with Analog to get summary information on the number of pages accessed, which pages were most popular, and what sites the users came from. A perl program was written to extract the number of pages that each user requested, the time spent per page, and the total time spent looking through the tutorials. Figure 3 shows that the basics page was by far the most popular tutorial, followed by modeling, PID, frequency response, root locus, and state space. The total amount of time that users spent in all of the tutorials is shown in Figure 4; the mode of the distribution histogram is between one and ve minutes. This information is broken down by page in Figures 5 and 6. Although the tutorial pages are much longer and contain more information than the \extra" pages, the mode of all of the distributions was between one and two minutes. We emphasize that these statistics are only estimates. The University of Michigan Web server tracks the internet address of the host computer which accesses each page as well as the time of the access. We used this raw data to estimate the number of users of the tutorials as well as the amount of time that each user spent looking at the tutorials. We assumed that only one user was accessing
Page requests
4000 3500 3000 2500 2000 1500 1000 500
Tutorial Pend
0
Susp
Basics
Motor
Model PID Root Loc.
Cruise Freq. State
Fig. 3. The total number of hits per page, showing the most popular pages in the tutorial. Total Time Spent on All Tutorials and Examples 3500
3000
2500
Number of Users
as Altavista, Lycos, Yahoo), attracting a global user population. In this section, we will describe the usage of the tutorials, based on statistics from the University of Michigan's web server, email feedback from users, and informal contact with students.
2000
1500
1000
500
0 20 min
Fig. 4. The total total time users spent on all tutorial pages.
the tutorials from a particular host at a given time, that a single user would access a new page at least once every 15 minutes, and that a user continued looking at a page until a new one was requested. B. Integration in the Curriculum
For the tutorials to be most eective as an education tool, they must be integrated in a manner which is most consistent with how they are likely to be used. Thus, they should be employed most often in situations where easy reference is needed. At the University of Michigan and Carnegie Mellon, the undergraduate control course Web pages contain links for easy access to the Matlab tutorials, and references to the appropriate tutorial pages are included on homework assignments. Reading assignments are supplemented with assigned reading of tutorial pages. This is not inconsistent with the use of the tutorials as easy reference, since it familiarizes students with the location of material that they may need at a later time. Students have commented that assignment of the root locus tutorial was particularly helpful when that topic was covered in class. The Web-based tutorial concept need not be con ned to software instruction; we are currently extending the con-
Time Spent Per Page
800
600 500 400
Basics Modeling P.I.D. Root Locus
300 200
Number of Users
700
100
Frequency
0
State space
< 1-2 304-6 2-4 60 30 > 8 6-8 min min min sec sec min min
Fig. 5. The distributionof amount of time spent per page for tutorial pages.
300 250 200
Commands Function M-file Steady State Error
150 100 50
Number of Users
400 350
1-2 min
30-60 sec
2-4 min
4-6 min
6-8 min
< 30 sec
0
jgrid
> 8 min
IV. Future Work
Following the initial success of the Control Tutorials for
Matlab, there are several directions for fruitful future
Time Spent on "Extra" Pages
Step
up a description of that piece and a link to extended documentation. The modeling part of the DC motor example of the tutorials is linked to the picture of the DC motor and tachometer. Later on in the assignment, photographs of the expected output of the equipment are shown. These are also live with links to relevant portions of the Matlab tutorials. For example, the picture of the oscilloscope showing the step response of the speed of a DC motor is linked to the DC motor example of the tutorials showing a Matlab simulation of step response. In the future, we intend to provide data acquisition hardware and software for the PC's and corresponding Webbased instruction. With Matlab, students will be able to analyze acquired data and design and construct controllers while in the laboratory. The Matlab tutorials will be an essential part of this integration.
Fig. 6. The distribution of amount of time spent per page for the most popular extra pages.
cept for educational laboratories. The Matlab tutorials are not only an inspiration for extending the concept, but they are also an essential part of that extension. Lab assignments which appear to be similar to traditional laboratory handouts can be seen on the Web;3 we have recently implemented a motor-tachometer dynamics identi cation laboratory. The intent is to provide each laboratory station with a personal computer with access to Web tutorials, thus giving students information when and where they need it|in this case in the laboratory. Many of the references to important concepts covered in the lab assignment, such as step response, frequency response, and modeling, have hyperlinks to the relevant place in the Matlab tutorials. There are pictures of the experimental set-up in various stages of construction, and some of the pictures themselves have hyperlinks. Clicking on the portion of a photo which shows a piece of equipment brings 3 http://www.me.cmu.edu/faculty1/messner/classes/24246/labs/lab1/
work. In the short run, improvements to the existing tutorials will be made. New versions of the tutorials will incorporate more varied examples, as well as changes to address the feedback received from users of the current version of the tutorial. The authors also plan to extend the tutorials to incorporate digital control system design and Simulink, which were popularly requested by email feedbacks that we received. Java programs will be incorporated into the examples to animate the response of physical systems in the open-loop and with feedback control; the interactive nature of Java will allow the user to change the feedback gains or other control and system parameters. However, the success of the concept indicates that other applications are possible. A reasonable rst step is extending the tutorials for other software packages used for controls, such as Mathematica. However there is no reason to limit the concept to the controls area. We hope to extend the use of the tutorial concept to other useful engineering packages such as ANSYS and ProEngineer. The extension of the tutorial concept to educational labs discussed in Section III-B is very promising. By providing students with essential information on laboratory equipment and techniques, it may be possible to enable the laboratory instructor to be less of a technician and more of a coach. As more labs are developed, there will be links to previous labs for review purposes, and perhaps even to those from previous courses. We believe that this tutorial concept has important applications to continuing education, worker training, and documentation of maintenance and repair procedures in industry. Industrial representatives to whom we have shown the tutorials have been very impressed; they see the tutorials as an excellent way to bring their employees up to speed on the latest software tools. For retraining purposes, the Web-based tutorials are much more attractive than books with the equivalent content because they eliminate the need for large amounts of typing and editing. By having equipment documentation and procedures available through the
Web, accessibility is increased. The Web documents can be living documents which can be easily annotated, modi ed, or bookmarked. Through wireless technology, large amounts of data can be made available to workers in the eld. Great advances in data storage technology will also enable information to be placed into the hands of people who need it. V. Conclusion
In this paper, we have discussed the design and implementation of tutorials for teaching Matlab for control system design and analysis, and shown how these tutorials can be integrated into an undergraduate course in automatic controls. Because the tutorials are implemented on the WWW, they are widely accessible, easy to use, and available to the students when the information is most needed| at the computer. The WWW implementation also allows students to learn by seeing and doing; they can copy Matlab code directly from the tutorials and paste it into Matlab to run it. The tutorials are also highly interconnected, enabling students to choose a path through the tutorials that is most appropriate for their interest level and available time. Acknowledgments
We would like to acknowledge the work of undergraduate students Joshua Pagel and Yanjie Sun from the University of Michigan, and Luis Oms and Munish Suri from Carnegie Mellon, whose hard work produced the tutorials over the summer of 1996. We also would like to recognize the work of graduate student Jonathan Luntz, who implemented the laboratory Web pages during the spring of 1997. Funding for this project was provided by the National Science Foundation under grant number DUE-9554819.