Web-based laboratories enable students to conduct experiments from a remote location, by setting up parameters and manipulating instruments through a Web-based client interface. Internet-based acquisition, analysis, and presentation of experimental data using such labs has become one of the most effective means of integrating the Internet into scientific and engineering education. The remarkable success of software products such as MATLAB and LabVIEW is proof of this rapidly occurring integration.
Starting with a brief discussion of the historical evolution of the Internet, and the client/server paradigm of communication, the authors explain how such labs can be effectively implemented in software. Four detailed examples of experiments successfully implemented in the electrical and computer engineering department of the National University of Singapore are selected in the book to convey the essential concepts. These experiments are a coupled-tank apparatus, the use of an oscilloscope to study resistance/capacitance (RC) circuits, the use of a spectrum analyzer to study radio frequency signals, and the control of a laboratory helicopter. Oxford, Carnegie Mellon, and Purdue are some other universities identified in the book where Web-based laboratories are implemented.
The authors explain, in detail, how to create server/client structures and realistic graphical user interfaces (GUIs) for remote experiments, describe the methods for controlling instruments in a remote laboratory through a Web server, and identify the protocols for acquiring and transmitting video and audio data from laboratory instruments. Detailed examples of Java programming code, representing the objects and classes for frequently used fundamental components of GUIs, are included in the book. Some examples of these components are buttons, knobs, and connectors. Examples of code for GUIs representing instrument panels for more complicated laboratory equipment, such as signal generators, are also included.
Audio/video servers are an integral part of Web-based laboratories for presentation of real-time experimental data. This book briefly describes the H.323 protocol for implementing these servers, and demonstrates how the Microsoft NetMeeting audiovisual application can be used for this purpose. Visual Basic code for implementing important components of these servers is also presented in the book.
This book is unquestionably very useful for students of science who have extensive computer programming backgrounds, and professors of science who wish to implement Web-based laboratories from scratch. I found two small problems with it, however. It contains three appendices at the end, constituting one-third of the book, showing detailed source code for camera control, interface design, and proportional/integral/derivative (PID) control for the coupled tank experiment. This code could have been easily provided to those who must have it on a compact disk (CD), and the space in the book could have been used more effectively for a conceptual discussion of other topics, such as common gateway interface (CGI) and multicast network communication, that received only cursory treatment. The authors also assumed that every reader would know the meanings of RC and PID. These abbreviations need to be explained at the proper places in the text.