ns educational exercises
This web page presents sample homework assignments
for classroom use,
and viewgraphs for introducing ns to a class.
For general information about using ns and nam in a classroom
setting, please see the paper
Using Ns in the Classroom and Lab.
Portions of this web page are from there.
Introducing ns in class
Our experiences with experiments as homework problems have also been
positive, but clearly such problems must be designed with care.
If more complicated assignments are to be assigned (such as those
requiring new coding), it's best to introduce the simulator gradually.
One observation that initially surprised us is that many students
were not familiar with the concepts behind discrete event simulation.
Confusion between real-time and simulation-time, and
multithreading and event-driven programming can be prevented
with a brief review of the concepts (typically a half-hour to hour of lecture time).
We were pleased to discover that students adapted quite quickly to using
either Tcl to specify new scenarios, or C++ to changing
existing modules, and many were able to use Tcl as an
scripting language to specify the scenario.
Efforts that require them to work in both languages simultaneously
are probably best reserved for more advanced classes.
We have been hesitant, however, to give students a blank slate.
The framework of an existing script is necessary
to avoid stumbling over initialization details that are irrelevant
to protocol design.
- 30 minute class introduction (Heidemann, Spring 2003
- For longer presentations, see viewgraphs from the
Sample Homework Assignments
We're looking for feedback about these exercises and practices.
How well does simulation and animation work for you and your students?
Any good tips or assignments others could share?
For public discussion, please post to the
ns-edu mailing list at
Comments to John Heidemann
and Christos Papadopoulos are also welcome.