Students who have started to read about computer networks are suddenly exposed to an extremely wide variety of technologies. The truth is that the gamut of technologies involved in getting a computer network to operate successfully is so large that a new student can be easily baffled. At the same time, a student as well as a teacher can be confused about what could be a better starting point to gain hands-on practice about inner workings of computer networks.
It is important to expose students to some form of laboratory work and practical assignments. Once again, there can be loads of ideas to work on. Students can be assigned to design simulators for various routing protocols to complete certain programming assignments. In doing so, it becomes incumbent upon the instructor to assign appropriate work to the student so that he should not only find it challenging but also doable.
A good starting point could be to introduce students to socket programming. Although socket programming does not comprehensively cover all the technologies involved in developing computer networks, it does familiarize them with basic transport layer utilities and also about application programming.
A really good starting step in socket programming could be to develop an Echo client-server application. More precisely, an echo server is a simple application that simply accepts data from a remote client and sends it back to it. In its most primitive form the data would be textual. Although one could design echo servers to bounce back audio and video data as it receives them, and consider them as simple applications.
Similarly, an echo client is a small application that reads data input from a user through possibly a command line and sends it over to an echo server in the hope of receiving it back as such very soon.
The following audio lecture is just about that.
If you found an error, highlight it and press Shift + Enter or click here to inform us.