This article provides a survey of methods and paradigms for teaching Computer Networks (CN). Since the theoretical concepts are rather abstract in this subject, and students often find them too technical and difficult to understand, many authors attempt to answer the question on how to improve students’ motivation and interest for the complex teaching material of CN. In this work, we follow a rigorous paper collection methodology and extract a large number of previous studies that relate to the stated research questions. Also, we find that there is no review article in the current literature that would provide a clear systematization or a guided study on this topic. Hence, this work provides a literature overview by binding all the previously used methods for teaching CN in one place, and brings contribution by classifying the existing approaches into four basic classes: methods based on using visualization objects such as network simulators, multimedia applications, packet-tracing tools or visual analogies; methods based on using the virtualization techniques; methods precipitating active learning paradigm and methods based on the practical hands-on laboratory exercises. Moreover, the research in this article goes beyond the proposed classification. The classes of methods and tools are compared and contrasted based on the findings from the literature. Methods are evaluated by a detailed cross-comparison based on their advantages, disadvantages and challenges in the perspective of both teachers and students. The review is additionally strengthened by comparing the educational effectiveness of the classified methods. We examine, classify, and contrast the usual approaches used in teaching CN, provide useful insights on how appropriate they are in achieving specific educational goals and determine the future research directions.