69775 - Laboratory of Networking and Mobile App Programming

Course Unit Page

Academic Year 2018/2019

Learning outcomes

Within this course, the student will learn how to design and manage a typical corporate telecommunication network and how to program applications for mobile devices. In particular, through lectures and lab experience, the student will gain knowledge about design, configuration, and deployment of a private telecommunication network. In addition, the student will learn and practice on the development of applications for mobile devices, such as smartphones and tablets. Lab sessions constitute a relevant part of the course schedule.

Course contents

The course provides the basic principles for the design, administration, monitoring and management of enterprise networks based on TCP/IP protocols, and for mobile application development.

The specific topics addressed include:

  • Design of wireless network coverage
  • Introduction to Linux as an operating system for network administration
  •  Software tools for protocol analysis: wireshark, tcpdump
  • IP addressing and network planning, subnetting
  • Network interface configuration, DHCP server
  • Ethernet switch management and virtual LAN (VLAN) configuration
  • IP packet forwarding, tools for firewall and NAT implementation
  • Open-source IP router implementation
  • Basics of network security issues and IPsec-based VPN set-up
  • Introduction to tools and techniques for mobile device programming

Readings/Bibliography

M. L. Merani, M. Casoni, W. Cerroni,  Hands-On Networking. From Theory to Practice, Cambridge University Press, UK, 2009, ISBN-13: 9780521869850.

Slides provided by the instructor (in italian).

Linux man and info commands.

Suggested documentation available on-line.

Teaching methods

The course consists of both lectures, to introduce specific topics and focus on operational aspects, and practical laboratory sessions. Significant part of the course schedule is dedicated to lab experiments, which are essential to gain a deep knowledge of the practical aspects related to the design and management of communication networks, and to the development of applications for mobile devices.

In order to motivate students and stimulate their interest, each lab exercise is finalized to achieve practical goals that are also functional to perform the following ones. Lab exercises are also intended to stimulate teamwork skills.

Assessment methods

The final assessment consists of two parts:

  • a written test, where the student is asked to design a communication network, from wireless coverage plan to equipment configuration;
  • an oral presentation of a mobile application project assigned by the instructor and developed by the student.

Both parts require the use of theoretical and practical concepts learned in the course. Attending the lab sessions is essential to develop problem solving skills required to successfully pass the final exam.

Teaching tools

Software-based protocol analyzer.

Linux-based workstations with networking software tools.

Ethernet switches.

Software tools for mobile app development.

Video projector for class lectures.

Office hours

See the website of Walter Cerroni

See the website of Enrico Paolini