95644 - Computer Networks and Network Programming

Academic Year 2024/2025

  • Docente: Andrea Melis
  • Credits: 6
  • SSD: INF/01
  • Language: Italian
  • Moduli: Andrea Melis (Modulo 1) Franco Callegati (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Systems Technologies (cod. 6007)

Learning outcomes

At the end of the course the student should be able to understand the more common technologies used to design network applications and the most common protocols.

Course contents

The course will present the basic principles of network applications. The theoretical concepts presented will be applied in laboratory projects aimed at understanding the implementation of network application in today Internet.

Computer networks: protocols, client-server architecture, protocol layers and service models.

Protocol analysis: sniffing, collection of traffic traces, analysis and debug, use of the Wireshark protocol analyzer.

Internet: addressing, IP forwarding and routing, ICMP, DHCP and NAT.

Transport layer: services, multiplexing and demultiplexing, connectionless service, UDP protocol, reliable data transfer, connection-oriented communication, TCP protocol, congestion control.
Basics of cybersecurity: authentication, authorization, digital signatures and certificates.

Readings/Bibliography

James Kurose, Keith W. Ross. Computer Networking [Global Edition] Pearson; 8th edition (June 10, 2021), ISBN 1292405465.

Teaching methods

Class lectures and laboratory exercises.

Assessment methods

Written test, please see on Virtuale for the information about the test.

Teaching tools

The slides and additional resources used during the lessons are available on the Virtuale platform.

Office hours

See the website of Andrea Melis

See the website of Franco Callegati