70226 - Network Programming

Academic Year 2023/2024

  • Moduli: Franco Callegati (Modulo 1) Franco Callegati (Modulo 2) Andrea Piroddi (Modulo 3)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2) Traditional lectures (Modulo 3)
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Science and Engineering (cod. 8615)

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 design and implementation of network applications. The theoretical concepts presented will be applied in laboratory projects aimed at understanding the implementation of network application in today Internet.

The course will follow the so called "top-down" approach.

  • Internet and computer networks: Internet, 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.
  • Application layer: architectures, application level protocols (Web and HTTP, FTP, SMTP, POP3, IMAP, DNS), P2P architectures (BitTorrent), socket programming.
  • 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

Lessons for Module 1 (40 hours). Laboratory experiences for Module 2 (16 hours)

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 Franco Callegati

See the website of Andrea Piroddi

SDGs

Industry, innovation and infrastructure

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.