Richard R. Eckert                         Jason A. Moore
Computer Science Department                    Air Force Research Laboratory
SUNY Binghamton                                         525 Brooks Road
Binghamton, NY  13902                                 Rome, NY 13441

The most effective teaching and learning take place in small group settings. In these kinds of environments the teacher can easily interact with students and meet their individual needs. There are no physical barriers and few psychological ones. The intimacy of the small-group setting permits an easy exchange of ideas and allows the teacher to show individual students how to perform the tasks that are required to learn the material. In addition, in a small-group setting any student can easily get the teacherís attention when he or she does not understand some concept.

In recent years there has been a dramatic increase in the numbers of students attending schools and colleges that, in conjunction with budgetary constraints, has made it difficult for educators to use small-group teaching. Instead we see more and more large lecture room environments. This phenomenon is particularly evident in post-secondary education. In large lecture hall settings many of the advantages of small-group teaching are lost. The instructor is usually positioned at the front of the room, far from his audience. Even if he employs the latest technologies, including a computer projection system, the requirement that he use the mouse and keyboard to control the system tethers him to his computer so that he cannot really interact well with his students. Because most of the students are far removed from the teacher, they cannot readily ask questions and clarify doubts. In addition, it is virtually impossible for the teacher to come to individual students to show them techniques that may be critical in enabling them to learn an important concept.

In this paper we describe a relatively inexpensive, Windows/PC-based "virtual blackboard" that can be controlled at a distance by a classroom instructor and/or students in the class. One component of our system is a wireless mouse emulator that is implemented using a software-controlled standard red laser pointer. With this system the instructor is no longer tethered to the computer, but is free instead to roam the classroom and interact with students as needed. Another component is software that permits communication between student laptop computers and the instructor's computer over a local area network (LAN). With this software, from their laptops, students can make requests to take control of the main computer's pointer device and keyboard. Thus, any student in the room can perform any of the following tasks: go to a specific slide in the instructorís presentation to ask a question about that slide; type text that will be displayed on the main screen; run a simulation on the instructorís computer; visit a Web page; annotate a diagram on the main screen. There are many other possibilities.

Both the laser pointer mouse emulation system and the network communication system have the potential to dramatically increase interactivity between student and instructor in a large classroom environment, thereby enhancing the learning that takes place therein. Figure 1 below illustrates both systems in action. Although a rear-screen configuration is shown, the system can also be used with the projector and camera in front of the projection screen.

Figure 1. Rear Screen Learning Wall Setup.


In our system a standard PC data projector projects whatever is being displayed on the instructorís computer to a large screen in front of the class. The content could be a PowerPoint™ slide presentation or any other visual material from the computer. The teacher uses the laser pointer to point at and interact with the screen material. The interaction is very reminiscent of that obtained with a standard mouse. An inexpensive video camera looks at the screen and sends each new frame to a video capture card in the computer. Our software detects the bright laser spot in the captured image, determines its position on the screen, and sends the system appropriate Windows "mouse messages" that make a mouse cursor image move according to user actions with the laser pointer. To generate a single click the user presses and releases the laser pointer button, and within one second in close proximity to the previous location, presses the pointer button again. To generate a double click the process is repeated. This procedure facilitates achieving accuracy at a distance in spite of any jitter of the userís hand. In our implementation, the first time the laser beam is seen is used as an "aim" and the second as a "fire." The lower right-hand corner of the screen displays a small white box that shows the current mode of operation. The possibilities are: LEFT (the default mode in which laser pointer "clicks" emulate left mouse button clicks), RIGHT (emulating right mouse button clicks), and DRAW (in which the laser pointer can be used to sketch on the screen). The user changes modes by pressing and releasing the laser pointer button while the beam is inside the box.

In a perfect environment the camera would be inside the projector and see exactly as much as the projector sees. In addition, the lens would be perfectly flat so that every pixel is the same size as every other pixel. Unfortunately this is not the case, so an initializing calibration procedure needs to be performed. When the system is first started, the user points and releases the laser pointer to four target points at the corners of the screen image. Our software then sets up the data structures necessary to do all subsequent conversions from camera coordinates to screen coordinates.


To allow student control of the instructor's mouse and keyboard over a network, we created two pieces of Windows software: a server program (CLICKSERVE) that runs on the instructorís computer and a client program (CLICKCLIENT) for each student laptop. If the computers have TCP/IP network connectivity, any student (with instructor permission) can use the CLICKCLIENT application from his laptop to gain control of the cursor and keyboard of the instructorís computer just as though they were those attached to his machine. When the instructor starts CLICKSERVE he is presented with a window that gives him the option of accepting or denying connections. This provides the flexibility of being able to decide when student intervention is most convenient or warranted.

When the student runs CLICKCLIENT, he is confronted with a window containing several buttons. Pressing the "Configure" button allows the student to enter the IP address and data port of the server. After pressing the "Connect" button, the student computer is connected to the server, his screen is blanked, and any subsequent mouse or keyboard actions the student takes will occur on the instructor's computer screen. (The instructor also has the capability of controlling his own mouse cursor; mouse/keyboard messages from the instructor's system take precedence over messages coming over the network from a student computer.) Pressing the <ESC> key on the student's laptop disables student control and returns his screen to normal. CLICKCLIENT also allows a student to raise his or her hand "electronically". Pressing the <F1> "page" key on the laptop (or the "Page Instructor" button initially) causes an audio file to be played on the server that notifies the instructor that a student has a question.


Several people have tried our system and found the learning curve to be relatively slightówith most of the time spent perfecting the laser "click" sequence. We are in the process of trying to add several new features to our system: screen transferal over the network connection, which will enable download of the main screen to student laptops, thus making it easier for students to use the system and enabling copying and pasting of information from the teacherís machine; user names and passwords for more controlled access; and voice control of the system.