Unit INTERNET AND WEB PROGRAMMING
- Course
- Computer engineering and robotics
- Study-unit Code
- A005836
- Curriculum
- Data science e data engineering
- Teacher
- Walter Didimo
- Teachers
-
- Walter Didimo
- Hours
- 48 ore - Walter Didimo
- CFU
- 6
- Course Regulation
- Coorte 2025
- Offered
- 2025/26
- Learning activities
- Caratterizzante
- Area
- Ingegneria informatica
- Academic discipline
- ING-INF/05
- Type of study-unit
- Obbligatorio (Required)
- Type of learning activities
- Attività formativa monodisciplinare
- Language of instruction
- Italian
- Contents
- Internet services. Design of client/server applications. Design of Web applications and services.
- Reference texts
- The course deals with a variety of methodologies and related technologies that are not included all together in a single book.
All topics of the course are presented in a collection of slides prepared by the teacher. - Educational objectives
- The course aims to give students the theoretical and practical notions on client/server applications and on the development of Web services. In particular, at the end of the course the student will have acquired:
(a) knowledge of the principles of client/server architectures;
(b) knowledge of advanced programming tools in Java for the creation of distributed applications.
(c) knowledge of the main methodologies for the design and development of Web applications.
(d) ability to create client/server architecture services through the Java language.
(e) ability to create Web applications, through some widely used technologies, such as HTML/CSS, Jascript, Node.Js and Java. - Prerequisites
- Basic knowledge of algorithm design and analysis is required, as well as knowledge of imperative and object-oriented programming using the Java language. These notions are typically acquired in a three-year course in computer science or in computer engineering.
- Teaching methods
- The course consists of two main kinds of lessons:
(i) Lessons in the classroom (about 50% of total time): consists of lessons in the classroom. In each lesson the teacher illustrates new theoretical concepts, by projecting pre-defined slides.
(ii) Practical exercises in the lab (about 50% of total time): held in the software engineering laboratory; they are devoted to the design and implementation of programs, under the supervision of the teacher. - Other information
- Learning verification modality
- [Aims of the assessment]. The assessment methods of this course aim to estimate the theoretical knowledge of the student and his/her ability to apply this knowledge to solve both theoretical and practical problems. Details are reported below:
Written test and programming test
Duration: 2 hours
Objective: evaluating the knowledge of theoretical concepts learned in the course and assessing abilities of network programming (Internet and Web)
The correction of the test is presented to the student during a brief interview; the student can comment and discuss the result with the teacher during this interview. - Extended program
- [Internet services]. Reminders on the architecture of the Internet network. Internet services: principles of client/server architecture. Analysis of some widely used applications: World Wide Web (HTTP), e-mail (SMTP), remote connection (telnet), file transfer (ftp).
[Client/Server Applications Project in Java]. Advanced programming tools: error handling, multithreading, input/output management. Design of communication protocols. Network connections via sockets and TCP secure sockets. Case studies: Web client, ChatLine. Network connections via UDP sockets.
[Web Applications and Services]. Data description formats: XML, JSON. Web Applications and Web Services: architectural principles and types of Web Services (SOAP-based and RESTful). Web application development languages, protocols, and technologies: HTML/CSS, Java Servlet and related technologies, Javascipt, AJAX, Node.js, Web sockets, and gRPC. - Obiettivi Agenda 2030 per lo sviluppo sostenibile