EXPERIENCES IN THE DEVELOPMENT OF A COMPUTER NETWORKING COURSE

The degree in Computational Mathematics Universitat Jaume I (UJI) of Castellón, Spain, is a degree that offers a training that unites mathematics with computer science and focuses on areas where both are very relevant. The graduate in this degree have a mixed profile because it combines a theoretical training, typical of a pure degree in mathematics, with the technical training of a pure degree in computer science. This mixed profile make them very versatile, that is, with the ability to perform different types of tasks and have a high rate of employment. On the other hand, their capacity for analysis and abstraction will allow them to adapt very easily to any change and innovation. This degree is composed by different courses. One of these courses is the introduction to computer networking course. Computer networks allow its users to communicate and share information regardless of the geographic distance between them. Ensuring the optimal operation of computer networks is no easy task, and there is a necessity of highly trained professionals with a solid knowledge of network planning, design, and configuration, as well as the capacity to address the different and complex connectivity and security requirements. The computer networking course provides students with the fundamental concepts of computer networks along with training to acquire the basic skills necessary to solve the various technical problems of the world of computer networks. The aim of this paper is to show the methodology and learning solutions used to train the students to to plan flexible, scalable computer networking systems for a business or organization of virtually any size. Paper shows the course objectives, the target competencies, the course contents, the assessments, and how the technology resources for e-learning are used to teach the subject.


INTRODUCION
Currently, most computer equipment is connected. Although we usually think of an Internet connection, the ways in which communications are defined can be very varied. From the physical medium (ethernet, wifi, etc.) to virtual private networks, many concepts intervene.
Computer network systems are structured in layers or levels to divide a complex problem into several simpler problems. Each level deals with solving or facilitating the operation of a part by using the lower level and offering service at its superior level [1,2,3].
This computer networks course offers the student theoretical and practical training in the main concepts that appear in the different layers of computer networks, except for the application layer that must be covered by specific courses. So, the course provides an introduction to the DNS (Domain Name System). This paper describes the computer networks course of the degree in Computational Mathematics that is thought at the Universitat Jaume I (UJI) of Castellón, Spain. It shows the target competencies, the course contents, the assessments, and how the teaching methodology and the resources are used to teach the subject.

OBJECTIVES
The objective of the course is that students acquire basic knowledge in concepts and fundamentals of data communication and computer networks. Students must acquire the concepts involved in the different layers of network architecture, and some practical skills in the configuration of network schemes. One of the course constrains is that for many students this is the first encounter with networks at a technical level.
The specific objectives of the course are: Build an understanding of the fundamental concepts of computer networking; Familiarize the student with the basic taxonomy and terminology of the computer networking area; Introduce the student to advanced networking concepts, preparing the student for entry Advanced courses in computer networking; Allow the student to gain expertise in some specific areas of networking such as the design and maintenance of individual networks.

Specific capabilities
• To acquire knowledge of the characteristics, functionalities and structure of Computer Networks and the Internet.
• To explain and compare the basic operation of transport protocols on the Internet.
• To explain and compare the basic operation of routing protocols on the Internet.
• To explain the TCP / IP architecture and the functionalities of every layer in relation to other network architectures.
• To use and configure local area networks, including wireless networks.

LEARNING METHODOLOGY
Learning methodology combines classical lectures and active learning. Lectures are used to transmit information from the teacher to students simultaneously about the course contents. Lectures are a good way of providing an outline or overview of a subject of study.
To avoid the criticism of the lecture which is seen as a potentially quite passive and therefore not a particularly effective learning experience for students, active learning is used too. Active Learning involves students directly and engages them actively in the learning process itself. We focus special emphasis in this kind of learning.
Active Learning Teaching Methods used in the course are: Practical work, and Group work. The student have different activities that must carry out in a team work. These activities, listed in the following section, are developed in laboratories that have specific material for such practical activities. For example, in the activity of configuring a radio link, the student will use real material from Ubiquiti [4] that must operate exactly in the conditions specified in the bulletin.
However, many activities will require the interconnection of a large number of computer equipment like computers, bridges, switches, routers, firewalls, etc. that cannot be physically supplied to the student. Fortunately, there are very good network simulators. Among them we have chosen Netkit [5] for being free and opensource. Netkit allows the simulation of the basic types of network devices using Linux mini virtual machines. Each machine has a complete set of tools for configuring the network, and all the network interfaces that we need to define.
Netkit is not easy for a new student in the subject, so we decided to use it with an assistant called Netgui [6] that allows us to choose the equipment and configure its connections using a graphical interface.

Lectures
1 Physical layer: Introduction to physical media and basic concepts in data transmission.
2 Basic concepts on Data Link.
3 Network layer: Introduction to Internet Protocol. Routing protocols.
4 Transport layer: Introduction to TCP and UDP.

Active Learning
1 Introduction to TCP/IP basic network configuration.
In this practice, the student must physically configure the connection of the practice computer itself, both the interface that connects him to the Internet, and a second interface in the local network, which he must learn to connect.
Here the Netgui environment is presented and the student is encouraged to mount with various equipment and routers to learn the static routing.
3 Configuration of a radio link.
Through a physical radio link, a group of students must establish a local network with another group of students.
4 Querying a DNS server.
With this practice the student learns and practices the basic concepts of DNS: propagation, caches, types of records, etc.

Switches, bridges and VLANs
Two virtual circuits will be configured on a router to act as two separate tests.

Logical subnetworks
The student will learn to subdivide IP networks into subnets based on the mask. He must learn to calculate the masks of each subnet and to optimize the use of IP numbers, making a practical assembly with Netkit 7 Network Address Translation NAT is present in small businesses and in home networks, so that the student must understand the difference in the routing model that involves both SNAT and DNAT and perform them with Netkit.
Using OSPF under the Zebra server, the student will learn and experience how dynamic routing protocols work.

Firewalls
Basic packet filtering tests are carried out, implementing an open and a closed policy, using the iptables tool.

Tunneling
The tunnel concept is presented to the student, and a montage is made with Netkit where the student understands the need to establish a tunnel between two points of the network, implementing an IP-IP tunnel.

IPV6
Although IPV6 should be the basic protocol of all networks, the reality is that implementation is very slow. That is why we have done all the practices with IPV4 and we carry out a last practice with IPV6.

ASSESSMENT
Final qualification of the course is calculated from the following qualifications: -50% is the result obtained in a written exam -25% is the documentary work -25% is the practical work

CONCLUSIONS
This paper shows the curriculum design of a computer network introductory course. This curriculum has been developed by three teachers of computer systems department at Universitat Jaume I. Students are very satisfied with course contents and organization. The course focuses on obtaining fundamental concepts as well as acquiring a first practical skill.
Students arrives at this course without a technical knowledge of computer networks. Therefore they have to deal with and to assimilate new relevant concepts, as well as they have to get some ability to execute practical actions with computer networks equipment. At the beginning, the students have a considerable difficulty in handling the Linux terminal even to do some basic actions, but as long as the course progresses they begin to feel comfortable with the environment.
Finally, at the end of the course we believe that student has achieved a good level of knowledge regarding computer networks concepts and they can perform some basic actions in network configuration such as understand basic computer network technology; Understand and explain Data Communications System and its components; Identify the different types of network topologies and protocols; Enumerate the layers of the OSI model and TCP/IP. Explain the function(s) of each layer; Identify the different types of network devices and their functions within a network; Understand and building the skills of subnetting and routing mechanisms; and Be familiar with the basic protocols of computer networks, and how they can be used to assist in network design and implementation.