To overcome the difficulty of learning network protocols by examining the algorithms or examples, a tool has been designed and partially implemented under which the algorithms can be visualized and investigated. For instance, students can construct a network topology that consists of a set of nodes and links by clicking the mouse on the screen. Attributes may be specified to constrain the behavior of individual nodes, such as the rate at which packets are transmitted. For each link, the cost of delivering data frames along that link may be specified, together with the likelihood and extent of packet loss, corruption and delay. Each possibility may be specified using standard statistical distributions. By altering the positions of network nodes and links, a number of different aspects of routing algorithms may be highlighted. The nodes may be overwhelmed and links may be congested, enabling different routing algorithms to be investigated. In addition to the visualization of protocols, the tool also provides capabilities for statically analyzing the protocols without animating the algorithms. The static analysis facilitates the students to observe the strengths, weaknesses, and limitations of the protocols. The computer networks course is an integration of network design and protocols with practical hands-on experience. This paper describes the tool itself, as well as the experiences gained in using the tool. We illustrate the use of the tool with the visualization of the Dijkstra's shortest path algorithm for finding a shortest path in a network topology and the analysis of the algorithm to pinpoint the problems of this algorithm.
[1]
Raghvinder S. Sangwan,et al.
A system for program visualization in the classroom
,
1998,
SIGCSE '98.
[2]
Michael T. Goodrich,et al.
Accessing the Internal Organization of Data Structures in the JDSL Library
,
1999,
ALENEX.
[3]
Susan H. Rodger,et al.
Web-based animation of data structures using JAWAA
,
1998,
SIGCSE '98.
[4]
Marc H. Brown,et al.
Algorithm animation
,
1988
.
[5]
Michael T. Goodrich,et al.
Testers and visualizers for teaching data structures
,
1999,
SIGCSE '99.
[6]
Blaine A. Price,et al.
A Principled Taxonomy of Software Visualization
,
1993,
J. Vis. Lang. Comput..
[7]
Thomas L. Naps,et al.
A multi-windowed environment for simultaneous visualization of related algorithms on the World Wide Web
,
1998,
SIGCSE '98.