Northeast Parallel Architectures Center Syracuse University 111 College Place Syracuse, NY 13244 |
Department of Computer Science Jackson State University P.O. Box 18839 Jackson, MS 39217 |
* Author for Correspondence: bernhold@npac.syr.edu |
In the fall of 1997, the Northeast Parallel Architectures Center 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, showing lecture slides and programming examples, and discussing 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.
Introduction
Many academic courses at Syracuse University and elsewhere use
technology to enhance the learning experience. For example, textbooks
often include CD-ROMs complete with databases, online resources,
utilities, and hot links to related material on the World Wide Web.
Mailing lists and bulletin board systems (such as USENET) are commonly
used to make timely course-related announcements and as a medium to
facilitate asynchronous group discussions and administer technical
forums. Course material is being published on web servers while
students are encouraged to access this material at their leisure
(i.e., asynchronously).
There appears to be no shortage of such course material on the web (especially in the technical fields), although the quality of such material varies greatly. What is clearly missing, however, is a vehicle to deliver educational material synchronously, that is, in real time. Although some "distance learning" courses use chat tools to communicate synchronously, there appears to be few (if any) systems that deliver real-time multimedia content in an authentic, two-way interactive format.
The computational science education group at the Northeast Parallel
Architectures Center (NPAC) has developed a huge repository of online
course material, which includes lectures, tutorials, and programming
examples in various languages. We believe, however, that a significant
majority of students require regular and sustained interaction (i.e.,
synchronous learning activities) involving teachers and other learners,
in addition to asynchronous learning materials. Hence, our interest
in TANGO, which was used to deliver CSC 499, Programming for the Web
The Jackson State University (JSU) course
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 web programming
in the language Java. As a CGI scripting language, the students are
briefly introduced to the language Perl, but thereafter approximately
two-thirds of the course is devoted to Java. See the course home page
at the URL give below for a detailed
syllabus.
A course description is given in
http://www.npac.syr.edu/projects/cps606fall97/for a recent offering of
Students in
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.
The course also included online mentoring by instructors at Syracuse and a JSU instructor who monitored student progress. Students were assigned weekly homework assignments, which they submitted via web pages. Grades were checked using a password protected, online grading system.
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 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 the 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. Consequently, 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 felt comfortable with C made it easy to introduce Java, whose syntax is similar to C.
Besides the initial face-to-face meeting, two other such meetings were held during the semester: one shortly after we began the unit on Java (about two-fifths of the way through the course) and another during final week. The second meeting helped ease the transition from one course topic (Perl) to another (Java) and also served to nurture the personal relationships between the instructors and students. The final face-to-face meeting was in fact the final class meeting of the semester. During this class, students presented their final projects, which gave closure to the course.
At the beginning of the term, after students had 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, but we found that 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.htmlThe Post Office is a more visual, browser-based approach to e-mail (see
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/examples1.1/HelloWorld/which utilizes a three-panel display. Screen shots of these programming examples are shown in
Notice that the code is line numbered, which greatly simplifies online explanation of the example program. The annotated programs also include embedded hot links (shown in blue) to related files such as supporting documentation. These links are used by the student when browsing the example asynchronously or by the teacher to facilitate online presentation of the example.
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 posted 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 reads 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 an immediate 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 the course's end. Student tracking is thus simplified, and this information is readily available to instructors at both SU and JSU.
TANGO
TANGO is a Java-based web
collaboratory developed at NPAC. It is implemented with standard
Internet technologies and protocols, and runs inside an ordinary
Netscape browser window. Although TANGO was originally designed to
support collaborative workgroups, in this project it was used to
synchronously deliver course materials stored in an otherwise
asynchronous repository.
The primary TANGO window is called the control application
(CA). From the CA (see
The SharedBrowser is used to "push" learning material onto
client screens. It is similar to an ordinary browser window: there is
a textfield for typing URLs, a "Back" button, and a history list (see
WebWisdom is a presentation tool for showing lecture slides
or foils. (See
One of the first things we noticed when working with TANGO for teaching purposes was that the instructor often had the urge 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.) Sophisticated pointing mechanisms, such as tracking the instructor's mouse on student workstations, were not possible given browser technology available in the fall of 1997. In the interim, however, WebWisdom was equipped with a "highlighter" that the instructor used to emphasize bulleted material on a foil. For the same reason, sample programs have been line numbered (automatically, by a Perl script developed specifically for this purpose). This facilitates 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, that is, any number of clients may write on it simultaneously. Although such a tool is useful for collaborative work, we found ourselves wanting a locking mechanism that would prevent students from inadvertantly messing up our real-time drawings.
Unfortunately, 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, or 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 and is currently being evaluated. See
TANGO's Chat tool was an indispensible part of the synchronous
learning process. At least one chat window
(
BuenaVista (BV) is a multi-platform, audio/video conferencing system developed at NPAC.
BuenaVista requires limited but consistent bandwidth. Detailed network requirements will be outlined in the following section.
We discovered early 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 on each PC in the lab at JSU, which we had hoped would allow 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 audio was consolidated on a single workstation.
Finally, we should mention that 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 could be abused, but we didn't have any problems with it. Indeed, it is one of TANGO's premiere session-management features.
Network Requirements
Of the TANGO tools discussed in the previous section, all but
BuenaVista require minimal bandwidth. Audio and video, on the other
hand, involve real-time, two-way interactivity, which make them
sensitive to network delay and jitter.
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 also supports high bandwidth, high quality video formats (YUV9 / PCM). Minimum bandwidth and delay requirements for these protocols are given below:
In general, to provide effective multimedia content delivery, the network must possess the following operational characteristics at acceptable levels:
In our experience, the three most significant factors affecting quality of service are:
Unfortunately, these characteristics are atypical of current commercial packet-based networks such as the Internet. To minimize network performance problems and better utilize available bandwidth, servers were installed in both Syracuse and Jackson. Specifically, we
The speakerphone was used in case of an Internet brownout or a system crash. It is difficult to conduct a class over the telphone, but in a pinch, it's better than nothing.
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 (Network Performance
Early in the course, we relied on a regular Internet connection between SU
and JSU. This connection was provided by Nysernet, Sprint, ICP, and
BBNplanet. Typical performance over this connection was:
It was not uncommon to experience 6% packet loss (one Nysernet router, in
particular---the line between 144.228.20.110 and 169.130.1.93---was
consistently losing packets). On any given class day, network performance
could be quite different in both directions. As an extreme example, on
Thursday,
The situation was gradually improved by:
Typical performance over the Internet/DREN connection provided by Nysernet, Sprint, ICP, and DREN was:
with 10% packet loss mainly on ICP routers. This problem was due to the configuration of router 192.157.69.55/138.18.253.1, which (according to Nysernet) is under DREN control. Packets from NPAC to JSU travel along one path (which is fast and shows no packet loss) while packets from JSU arrive at NPAC along another path (which is slow with high packet loss). The solution is to redirect packets (using static routing) on the above router in such a way that the same path is traveled in both directions.
Our initial experiments with DREN were not at all promising. After
switching from an ordinary Internet connection to DREN, the performance was
dreadful (
Note: This semester (Spring 1998) the situation has changed. Packets travel
from SU to JSU along a path with speed
In summary,
First of all, our experience indicates that typical Internet bandwidth does 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 the day would be even more successful.
In addition, some people felt that the TANGO user interface, where each tool appears in a separate window, is too cumbersome for instructional use. This was not seen as a problem by the JSU students themselves, who were quite good at manipulating various windows on their desktop, but we still feel that an integrated design may be more attractive for instructional use.
On the positive side, having an instructor on the receiving end was a definite plus. Indeed, the JSU instructor:
In addition to the instructor, the JSU lab technician was important to the overall success of the course. In particular, at the beginning of the course when the software was being installed and the network was being configured, the technician's role was indispensible. Once the system stabilized, the focus switched to the course content and the instructor's role became more important.
At the end of the semester, the students were given a short questionnaire,
which included questions on the perceived value of the various instructional
components used in the course. The results of this questionnaire are
summarized in
These course evaluations indicated that the students found the class
to be a challenging learning experience. While most of the course
components were rated between "adequate" and "excellent", the weakest
parts of the course were the remote lectures using the TANGO software,
which had a less than "adequate" rating. We suspected that these
comments were a reflection of the network difficulties experienced
earlier in the semester. To test this hypothesis, a follow-up
questionnaire was administered to the spring section of
Comparing the two evaluations, we see that the overall rating of the TANGO software increased significantly, which is very encouraging. In both evaluations, however, the remote lectures received the lowest ratings of any component. This is perhaps due to the relatively passive nature of the lectures. Indeed, we have observed students quickly losing interest in remote lectures delivered via one-way audio links. Thus it is clear that interactive, two-way audio communication is highly desirable, and we are currently exploring ways to achieve this (by using personal headsets, for example).
Finally, we may be underestimating the importance of visual cues and feedback mechanisms inherent in the learning process. The lack of eye contact between instructor and student may be hampering the overall learning experience. Unfortunately, there is little we can do about it at this time.
Conclusions
Jackson State University course
The following conclusions may be drawn from this experience:
It is an important open question whether or not 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.
Acknowledgements
This project was sponsored by the
U.S. Army Corps of Engineers Waterways Experiment Station (CEWES)
Major Shared
Resource Center (MSRC) at Vicksburg, Mississippi under the
DoD HPC Modernization Program,
Programming Environment & Training (PET).
Program partners include the Information Technology Laboratory at WES
and the Nichols Research Corporation.
The major technology Tango was initially developed with funding from Rome Laboratory. Curriculum development was largely funded by the College of Engineering and Computer Science at Syracuse University.
Appendix 1: Course Description
The goal of this course is to teach students the basic programming skills and languages that are needed to implement distributed Web applications. Coursework will include a short programming module on CGI scripting in Perl and a more lengthy module on programming the Java applet interface to the World Wide Web. Background material on Web architecture, networking, and multimedia will be included. An overview of more advanced Web software and tools will also be given.
Programming assignments will be written in
NPAC % traceroute moses.wes.hpc.mil traceroute to moses.wes.hpc.mil (134.164.3.20) 1 npac1-117 (128.230.117.1)3 ms 1 ms 1 ms 2 npac1-8 (128.230.8.1) 14 ms 7 ms 9 ms 3 npac-gw (128.230.144.1) 7 ms 8 ms 3 ms 4 syrgate.syr.edu (128.230.220.1) 42 ms 8 ms 6 ms 5 at-gw3-syr-1-0-T3.nysernet.net (169.130.33.9) 5 ms 3 ms 6 ms 6 at-gw2-syr-0-0-0.nysernet.net (169.130.251.2) 3 ms 7 ms 7 ms 7 at-gw1-ith-0-0-T3.nysernet.net (169.130.1.42) 9 ms 9 ms 8 ms 8 at-gw2-ith-0-0.nysernet.net (169.130.60.2) 8 ms 9 ms 10 ms 9 at-bb1-pen-5-0-0-T3.nysernet.net (169.130.1.121) 22 ms 23 ms 22 ms 10 144.228.60.11 (144.228.60.11) 27 ms 25 ms 23 ms 11 sl-bb10-pen-0-1.sprintlink.net (144.232.5.5) 25 ms 28 ms 26 ms 12 144.232.5.62 (144.232.5.62) 24 ms 26 ms 28 ms 13 sprint-nap.dren.net (192.157.69.55) 48 ms 37 ms 29 ms 14 arl-apg-h3-0.dren.net (138.18.253.2) 39 ms 40 ms 39 ms 15 nrl-dc-a11-0-2.dren.net (138.18.241.1) 41 ms 41 ms 41 ms 16 cewes-h2-0.dren.net (138.18.189.2) 67 ms 57 ms 61 ms 17 134.164.2.4 (134.164.2.4) 62 ms 55 ms 58 ms 18 134.164.13.55 (134.164.13.55) 62 ms 61 ms 70ms 19 134.164.35.221 (134.164.35.221) 79 ms 69 ms 63 ms 20 134.164.3.34 (134.164.3.34) 60 ms 60 ms 58 ms 21 moses.wes.army.mil (134.164.3.20) 65 ms 62 ms 60 ms JSU % traceroute brickyard.npac.syr.edu traceroute to brickyard.npac.syr.edu (128.230.117.28) 1 134.164.3.1 (134.164.3.1) 2 ms 2 ms 2 ms 2 134.164.3.33 (134.164.3.33) 5 ms 5 ms 5 ms 3 134.164.35.9 (134.164.35.9) 4 ms 5 ms 4 ms 4 wesdmz2.wes.hpc.mil (134.164.13.70) 4 ms 4 ms 5 ms 5 134.164.2.1 (134.164.2.1) 5 ms 5 ms 8 ms 6 nrl-dc-h4-0.dren.net (138.18.189.1) 30 ms 30 ms 30 ms 7 arl-apg-a10-0-2.dren.net (138.18.241.2) 34 ms 34 ms 34 ms 8 sprintnap-h1-0.dren.net (138.18.253.1) 37 ms 37 ms 37 ms 9 icm-pen-10.icp.net (192.157.69.21) 39 ms 139 ms 39 ms 10 icm-pen-11-P4/0-OC3C.icp.net (198.67.142.74) 42 ms 39 ms 43 ms 11 144.232.5.157 (144.232.5.157) 40 ms 37 ms 42ms 12 sl-bb2-dc-5-0-0-155M.sprintlink.net (144.232.8.2) 41 ms 40ms 43 ms 13 sl-bb3-dc-4-0-0-155M.sprintlink.net (144.232.0.6) 42 ms 43ms 43 ms 14 at-bb1-dc-1-0-0.nysernet.net (144.228.20.110) 44 ms 43 ms 44 ms 15 at-gw4-syr-0-1-0.nysernet.net (169.130.1.93) 60 ms 56 ms 62 ms 16 at-syruniy-1-0-T3.nysernet.net (169.130.33.10) 61 ms 205ms 212 ms 17 syr0-0100.syr.edu (128.230.220.2) 56 ms 64 ms 63 ms 18 npac1-144.npac.syr.edu (128.230.144.2) 63 ms 65 ms 64 ms 19 lanplex-008.npac.syr.edu (128.230.8.3) 57 ms 60 ms 56 ms 20 brickyard.npac.syr.edu (128.230.117.28) 62 ms 66 ms69 ms
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 anonymous written 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.
Course Components | Mean | Std Dev |
Textbooks | 5.2 | 0.75 |
Web Materials | 6.0 | 0.63 |
TANGO Software | 5.8 | 0.40 |
Accessibility of Instructors | 5.2 | 0.98 |
Remote Lectures | 5.0 | 0.89 |
Programming Examples | 5.8 | 0.98 |
Programming Assignments | 5.8 | 0.40 |
(1 = poor, 4 = adequate, 7 = excellent) |