Salta al contenuto principale della pagina

INTERNET PROGRAMMING

CODE 104779
ACADEMIC YEAR 2022/2023
CREDITS
  • 2.5 cfu during the 2nd year of 10378 INTERNET AND MULTIMEDIA ENGINEERING(LM-27) - GENOVA
  • SCIENTIFIC DISCIPLINARY SECTOR ING-INF/03
    LANGUAGE English
    TEACHING LOCATION
  • GENOVA
  • SEMESTER 2° Semester
    MODULES This unit is a module of:
    TEACHING MATERIALS AULAWEB

    AIMS AND CONTENT

    LEARNING OUTCOMES

    The course is aimed at providing the bases of inter-process communication (IPC) under an Unix operating system: the main system calls for controling the processes and the socket application programming interfaces (APIs) will be covered. The goal is to give the students an adequate knowledge needed to write client-server applications which are at the base of almost all Internet appliances.

    AIMS AND LEARNING OUTCOMES

    The lectures are designed as a coordinated mix of theoretical and practical elements on operating systems, processes, and socket programming. The coordination of these concepts aims at providing the students with the necessary skills to understand how to develop simple network applications, for instance Cloud Computing and/or Internet of Things.

    Attendance, active participation to lectures, and individual study will allow students

    - to appreciate the advantages/opportunities deriving from the use of Inter-process communication (IPC)

    - to understand the main techniques for exploiting the IPC;

    - to write code to implement Client/Server applications;

    - to know the principal client/server tools provided by the Internet Suite.

    TEACHING METHODS

    Lectures in attendance (except for specific restrictions due to the Covid-19 emergency).

    Lectures include also laboratory/programming trials.

    Further information will be available on the AulaWeb page devoted to the course.

    SYLLABUS/CONTENT

    - Hints on the general structure of a Unix Operating System.

    - Main techniques of Inter-process communication: signals, semaphores, shared memory, sockets.

    - Sockets for UDP and TCP data exchange.

    - Examples  of "C" and/or Pyton code exploiting IPC and network sockets.

    RECOMMENDED READING/BIBLIOGRAPHY

    Handouts provided by the lecturers.

    Reference books:

    - W. Richard Stevens, "UNIX Network Programming, Volume 2, Second Edition: Interprocess Communications", Prentice Hall, 1999, ISBN 0-13-081081-9.

    - Marc J. Rochkind, "Advanced Unix Programming", Addison-Wesley Professional, 2004, ISBN-10  0131411543.

    People who cannot attend the lectures will fruitfully use the reference books, especially focusing on the chapters that deal with the topics faced in the handouts.

    TEACHERS AND EXAM BOARD

    Exam Board

    SANDRO ZAPPATORE (President)

    ALDO GRATTAROLA

    ROBERTO BRUSCHI (President Substitute)

    LESSONS

    Class schedule

    All class schedules are posted on the EasyAcademy portal.

    EXAMS

    EXAM DESCRIPTION

    Oral

    ASSESSMENT METHODS

    The oral exam is aimed at evaluting the synthsis, reasoning, and critical capacities of students on the topics covered by the lectures.

    Exam schedule

    Date Time Location Type Notes
    15/06/2023 14:00 GENOVA Orale
    07/07/2023 14:00 GENOVA Orale
    11/09/2023 14:00 GENOVA Orale

    FURTHER INFORMATION

    Students with disabilities or learning disorders are allowed to use specific modalities and supports that will be determined on a case-by-case basis in agreement with the Delegate of the Engineering courses in the Committee for the Inclusion of Students with Disabilities, prof. Francesco Curatelli. Students are invited to contact the teacher and copy the Delegate (francesco.curatelli@unige.it).