Network programming and security (2016/2017)

Course code
Name of lecturers
Davide Quaglia, Damiano Carra
Davide Quaglia
Number of ECTS credits allocated
Academic sector
Language of instruction
II sem. dal Mar 1, 2017 al Jun 9, 2017.

Lesson timetable

II sem.
Day Time Type Place Note
Monday 4:30 PM - 6:30 PM lesson Lecture Hall A  
Tuesday 8:30 AM - 11:30 AM laboratorio Laboratory Delta  

Learning outcomes

The course has three goals: to provide the knowledge in socket programming and network application design; to introduce to the configuration and the management of network systems (access points, routers, NATs); to provide an overview of the basic concepts related to system and network security. At the end of the course, the student will have to show to be able to design correctly the network socket, along with some simple network topologies, and to understand the basic notions of computer security.


* Netowrk programming:
-- TCP/UDP sockets in Java and C;
-- Multithread sockets;
-- Web services (SOAP, REST);
-- Design of client-server and peer-to-peer applications.

* Network management:
-- Network analysis tools (Wireshark, traceroute, ping);
-- Configuration and management of routers and routing protocols, addressing and subnetting, IP services (access control lists, DHCP, NAT), and switching (VLAN, Spanning Tree).

* Computer security:
-- Introduction to system and network security;
-- Cryptography, symmetric and asymmetric;
-- Message integrity and authentication;
-- Application layer security (e.g., PGP), transport layer security (SSL), data link security (wireless LAN);
-- Operational security (firewall and intrusion detection).

Assessment methods and criteria

The examination aims at verifying the comprehension of course contents and the capability to apply these contents in the resolution of some exercises.

Written examination with theoretical questions, code writing, exercises according to the content of lessons and laboratory sessions.
The total score that can be obtained from the questions about the theory is 18 points, while the total score that can be obtained from the exercises is 15 points. The final score is the sum the points obtained from the questions and from the exercises. If the final score is less than 17 points, the examination fails. If it is equal to 17 points, the student must sustain an oral exam. If the final score is equal to or greater than 18 points, the exam is passed. If the exam is passed, the student may ask for an additional oral exam. The oral exam consists of at least two questions about the theory. The final score is given by the mean of the scores obtained in the written and oral exams.

Teaching aids