Technical Report
jsufall97

Abstract

In the fall of 1997, the Northeast Parallel Architectures Center (NPAC) at Syracuse University taught a computational science course at Jackson State University in Jackson, Mississippi using the TANGO collaboratory system. What made this course unique is that twice a week instructors "met" with students online and presented lecture slides, showed programming examples, and discussed concepts in real time over the Internet. The goal of the project was to investigate the use of TANGO in teaching a traditional lecture-based course in a distance learning format.

CSC 499, Programming for the Web

The Jackson State University (JSU) course CSC 499, Programming for the Web, began on August 18, 1997 and ended on December 10, 1997. The course is equivalent to Syracuse University course CPS 406, which is also taught as a graduate course (CPS 606). Course materials were developed by NPAC and the College of Engineering and Computer Science at Syracuse University.

The goal of this course is to provide the basic programming skills needed to develop World Wide Web applications. Topics include web architecture, HTML form processing using CGI scripts, and programming dynamic web pages in the language Java. For CGI scripting, the students are briefly introduced to the language Perl, but approximately two-thirds of the course is devoted to Java. See

   http://www.npac.syr.edu/projects/jsufall97/information.html
for a detailed syllabus and course description.

The course, organized as a JSU credit course, included regularly scheduled lectures delivered via TANGO. During these lectures, the instructor would show lecture slides on a workstation in Syracuse, while the students attended class in a lab at JSU. Each lecture slide would appear on the students' workstations as the instructor displayed it. The instructor would deliver the lecture via an audio link, and the students would ask questions either through a chat tool or the audio link.

The course also included on-line mentoring by the instructors at Syracuse and a local JSU instructor who monitored student progress. Students were assigned weekly homework assignments, which they submitted via web pages. Students could check their grades stored in a password protected, on-line grading system.

The course "met" twice a week on Tuesdays and Thursdays from 2:30 to 4pm central time. In retrospect, this was a less-than-optimal time of the day, since the Internet is usually quite congested during the afternoon hours.

Other distance learning programs recommend three face-to-face meetings between instructors and students to facilitate the student-instructor bonding process. These programs found significantly higher completion rates than if no face-to-face meetings took place. [REF?]

Thus, the initial class meeting was a traditional face-to-face meeting of instructors and students. Instructors reviewed the syllabus and students were introduced to the TANGO software. (Little or no time was spent on web browser technology since almost all students had the necessary experience.) In particular, students were asked to connect to an online database application (a link was placed on the course assignment page specifically for this purpose) and complete a sign-up form. This information was to form the basis of the online student database. In addition to basic indentifying information and demographics, students were asked a series of questions regarding their technical background. This questionnaire was expressly designed for the students in this class.

The syllabus was adjusted somewhat based on the technical background of students, which was obtained from the questionnaire. First of all, we found that students (as a group) had almost no experience coding Web pages in HTML, and secondly, almost all of the students were familiar with C. So more time was spent introducing the course and care was taken that the students understood basic web mechanisms, in particular, HTTP and CGI. On the other hand, the fact that these students were comfortable with C made it easy to introduce Java, whose syntax is similar to C.

At the beginning of the term, after students completed the online sign-up form, a majordomo mailing list was created. The mailing list facilitated asynchronous discussion of course-related topics such as assignments and programming details not covered during lecture. At the beginning of the course students were encouraged to use e-mail as their primary communication medium. This was largely successful, although students were more comfortable using e-mail for individual conversations with instructors, rather than group e-mail discussions (via the mailing list).

In addition to the traditional mailing list, a "Post Office" page was created:

   http://www.npac.syr.edu/projects/jsufall97/postoffice.html
The Post Office is a more visual, browser-based approach to e-mail. (Note: The Post Office is created by script, from information obtained from the online sign-up form.)

Students in CSC 499 had access to a wealth of asynchronous learning material on the web. From the course home page

   http://www.npac.syr.edu/projects/jsufall97/
students could link to resources covering HTML, CGI (including Perl), and Java programming. These pages contain links to lectures, tutorials, documentation, and numerous examples.

Example programs are an integral part of learning any programming language. These examples must be carefully designed to illustrate the essential features of the language without introducing unnecessary detail. To facilitate the showing of examples, a dual-panel presentation window was designed in which the code appears in the bottom panel and the output of the code simultaneously appears in the top panel. See, for example:

   http://www.npac.syr.edu/projects/tutorials/Java/examples1.1/AWT/
or
   http://www.npac.syr.edu/projects/tutorials/Java/examples/HelloWorld/
which utilizes a three-panel display. In both cases, notice that the code is line numbered, which greatly facilitates online explanation of the example program.

The course home page is a record of both student and course progress. Lectures, for example, are added to the lecture page on a weekly basis. The lecture foils also have optional "addons", that is, links to related examples and background material. If a student misses a lecture, he or she can consult the lecture page for missed material. This is especially important in a distance-learning course where access to instructors is limited.

Assignments are also archived on the course home page. Any student with web access can find out immediately what assignments have been given and which are coming due. Moreover, each assignment includes links to background material that the assignment presupposes.

As a student completes his or her assignments, links are added to their homework page. (The creation of this homework page is the first assignment a student receives in the course.) On or after the assignment due date, a TA or instructor consults each student's homework page and grades the assignment. The grades are entered into a secure online database, which a student accesses with a browser.

This web-based database is an integral part of the course. From the student's point of view, the database provides a near-instantaneous answer to the perennial question: "What is my grade in this course?" From an administrative point of view, the database centralizes student records and automates certain routine tasks. For example, an instructor may easily produce summary statistics at mid-term or at course's end. Student tracking is thus simplified, and is readily available to instructors located at both SU and JSU.

TANGO

TANGO is a Java-based web collaboratory developed at NPAC (with funding from Rome Laboratories). It is implemented with standard Internet technologies and protocols, and runs inside an ordinary Netscape browser window. TANGO delivers real-time multimedia content in an authentic, two-way interactive format.

Although TANGO was originally designed to support collaborative workgroups, in this project TANGO was used to synchronously deliver course materials stored in an otherwise asynchronous repository. This effort is based on our belief that asynchronous learning materials are necessary but not sufficient in most cases. A vast majority of learners require regular and sustained interaction (i.e., synchronous learning activities) involving teachers and other learners.

To better utilize limited bandwidth, servers were installed in both Syracuse and Jackson. Course material on the NPAC server was mirrored on the JSU server. Instead of sending the full text of a web document, TANGO would (in essence) transmit a simple URL to participants in Jackson. This URL pointed to an identical document on the JSU server. This dual-server architecture had minimal bandwidth requirements and was extremely efficient. However, the technical costs to administer such a setup were considerable, so future courses will replace the second server with a CD-ROM, which will put all course materials directly on each student's desktop.

The primary TANGO window is called the control application (CA). From the CA, participants have access to many tools, including:

A tool called SharedBrowser is used to "push" learning material onto client screens. The SharedBrowser is similar to an ordinary browser window: there is a textfield for typing URLs, a "Back" button, and a history list. When the "master" (that is, the user doing the "pushing") loads a web page into the SharedBrowser, that web page is automatically and simultaneously displayed in all client browsers. Clients may activate links, scroll the window, or otherwise interact with the page as usual, but as the master SharedBrowser loads a new page, that page is automatically loaded into all client browsers. In this way, an instructor may show examples or a student may demonstrate a project.

WebWisdom is a tool for showing lecture slides (or foils). Each foil may have an "addon", which is a link (or links) to supporting material such as online documentation or example programs. In an electronic classroom where there is only one computer controlled by the instructor, showing addons with WebWisdom is routine. In the current implementation of WebWisdom, however, the addon feature was inadequate for distance learning, so we relied on the SharedBrowser to show example programs and other web documents.

One of the first things we noticed when working with TANGO for teaching pruposes was that the instructor would often want to "point" at portions of slides or lines of code. (Evidently, this is an important, almost unconscious mechanism for conveying information in a traditional classroom.) Elaborate pointing mechanisms, such as tracking the instructor's mouse on student workstations, were not possible given browser technology available in the fall of 1997. To compensate for this, WebWisdom was equipped with a "highlighter" that the instructor used to emphasize bulleted material on a foil. For the same reason, sample programs were line numbered (automatically, by a Perl script developed specifically for this purpose). This facilitated verbal descriptions of the code.

The WhiteBoard is a handy tool for conveying small amounts of information on-the-fly, say, a code fragment or a simple diagram. TANGO's WhiteBoard is full duplex: any number of clients may write on it at a time. Although this is useful for collaborative work, we found ourselves wanting a locking mechanism that would prevent students from inadvertantly messing up our meticulous real-time drawings.

The WhiteBoard's text tool was inadequate for our purposes. Text on our whiteboard was pixel-based, that is, it could be written and erased, but not easily modified. For example, it was impossible to add a omitted word in the middle of an already-typed sentence. The only editing that could be done was backspacing, and that only on the current line. In future versions of WhiteBoard, text fragments will be object-based so they may be cut, pasted, and otherwise moved around on the whiteboard surface. Also, it would be useful if the WhiteBoard tool had open and save commands, so that displays could be prepared beforehand. (Note: A new version of the WhiteBoard has recently been released, which addresses all of our concerns.)

It is easy to join remote clients to a TANGO session. The master of any given tool can force-join any or all TANGO users. At first it may appear that this feature might be abused, but we didn't have any problems with it. Indeed, it is one of TANGO's premiere session-management features.

BuenaVista (BV) is a multi-platform video conferencing system developed at NPAC. Highlights of the system are:

BV requires limited but consistent bandwidth in various modes of operation. Detailed network requirements will be outlined in the following section.

We discovered early on in the course that audio conferencing capabilities are crucial. Teachers need audio for lecturing and explanations, while students need audio to ask questions and engage in problem solving activities. To facilitate the latter, a RaiseHand tool was devised, whereby students could signal their desire to ask a question.

In an effort to make lectures more interactive, microphones were installed in the lab at JSU, which we hoped would allow the students to easily ask questions. We immediately discovered, however, that this setup was totally inadequate since feedback from the loudspeaker system made lecturing impossible. Thus the microphones were disconnected and personal headsets were installed.

Network Requirements and Performance

Of the TANGO tools discussed in the previous section, Chat, SharedBrowser, WhiteBoard, and WebWisdom require minimal bandwidth. Audio and video, on the other hand, involve real-time, two-way interactivity and are sensitive to network delay and jitter.

In general, to provide effective multimedia content delivery, the network must possess the following operational characteristics at acceptable levels:

Unfortunately, these characteristics are atypical of current commercial packet-based networks (i.e., the Internet).

In our experience, the three most significant factors affecting quality of service are:

  1. reliable transfer
  2. messages delays
  3. reliable, stable, symmetric connection

BuenaVista uses standard codecs (H.263 and H.261 for video; GSM and ADPCM for audio), which have been optimized to ensure the highest possible frame rates. For LAN applications, BV supports high bandwidth, high quality video formats (YUV9 / PCM). The minimum bandwidth and delay requirements are specified below:

Lessons Learned

Overall, the course was successful, that is, almost all of the students submitted their homework assignments, participated in e-mail discussions, completed a final project, and received a passing grade in the course. However, there were some difficulties that caused the online lecturing process to be less successful than an actual face-to-face lecture class.

First of all, our experience indicates that typical Internet bandwidth will not support real-time video. Although smart compression algorithms can sometimes compensate for poor Internet connections, we found that these were not enough. Audio, on the other hand, worked relatively well. In approximately five of the 30 lectures given over the course of the semester, a portion of the class was disrupted by low-quality audio caused by poor bandwidth or latency. Only once, however, was an entire class missed due to an Internet brownout. Network traffic observations led us to believe that other times of day would be even more successful.

In addition, some people felt that the TANGO user interface, whereby each tool displays in a separate window, is too cumbersome for instructional use. This was not actually seen as a problem by the JSU students themselves, who were quite good at manipulating the windows on their desktop, but we still feel that an integrated design may be more attractive for instructional use.

At the end of the course, the students were given a short questionnaire, which included questions on the value of the various instructional components. Here are the results of this part of the questionnaire:

Course Components Mean Std Dev
Textbooks 5.18 1.19
Web Materials 5.91 1.31
TANGO Software 3.55 1.78
Accessibility of Instructors 5.00 1.90
Remote Lectures 3.27 1.35
Programming Examples 5.72 1.05
Programming Assignments      5.36 1.30
Final Project 5.73 1.14
  (1=poor, 4=adequate, 7=excellent)

The students also made the following comments about the course:

Good class.

I think in the future the class will be better since this was the first time a class like this has been offered.

For the next class, there should be an instructor that stays in class the whole time and not only the technical operator. Overall the class was a nice class. There's one exception, there was too much homework given at one time, since there is not an instructor assisting us.

The class overall is great. It just has a lot of TANGO software and communication problems.

This class is an excellent introduction into Internet components but the time alloted was not enough to encompass all the materials. I feel that our background in the different languages isn't so solid as I would like. I'm however grateful for the class. It was fun and challenging. I suggest the class be broken down into two semesters: one for HTML and CGI/Perl, and the second for Java.

I think that this was a very important class to enroll in. However, for the amount of material covered, I think the course should be broken down to a two semester course. Or at least cut down on the amount of assignments and information given to students because we have other classes and this course is very time consuming.

So overall, the students found the class challenging, but they learned a lot. They felt that the weakest parts of the course were the remote lectures using the TANGO software, which had a less than "adequate" rating. Other components were rated about halfway between "adequate" and "excellent". These comments perhaps reflect the TANGO shortcomings identified earlier, which are being addressed.

Conclusions

Jackson State University course CSC 499, Programming for the Web was successfully taught in distance-learning style using the TANGO collaborative software. An important open question remains as to whether current Internet bandwidth will support two-way audio and video to the extent that students and teachers feel as comfortable with remote lectures as they do with traditional classroom lectures.