LANGUAGES FOR THE WEB

Course objectives

General learning outcomes Basic notions on - presentation of web resources - development of web applications through suitable programming techniques - representation of data in a web application by means of database and XML technology Specific learning outcomes Capability to design and develop a non trivial web application. Choice and use of the programming and data structuring techniques, suitable for the problem at hand, basing on the array of known techniques. [knowledge and understanding]: Acquiring knowledge about the principles of web resource presentation, design and development of web applications, data representation on a web application (through database and XML technologies). [applying knowledge and understanding]: being able to design and implement, by means of the above mentioned programming and data structuring techniques, a non trivial web/xml application. [making judgements]: The critical thinking skils are honed through - particpation in hands-on laboratory activities (considering and selecting the technological tools to be used to solve the problem) - development of homework, submitted to the teacher for evaluation (here the learner uses tools and techniques specified in the assignment) - development of a personal or group project, consisting in the design and development of a non trivial web/xml application (here the learner work on the specification of the software system, and on its implementation, selecting and motivating the used techniques). [communication skills]: Being able to describe and share the lines of design and implementation of a web application, considering also the technical alternatives for implementation. Being able to explain and detail the representation of data adopted in the application. These skills are honed through the work performed by the learner - during laboratory activities (interaction with teacher and peerson the exercises at hand) - during the production of homework ((interaction with teacher, analysis of the submitted homework evaluation) - during the production of the project (interaction with group mates) - during the discussion of the progression steps of the project, regularly performed with the teacher. The project work is reported in a final report document, which allows to further test the communication skills. [learning skills]: One fundamental notion met in the course is in that the technological and methodological landscape in the area is continuously evolving, demanding for a likewise continuous work of updating on one own knowledge. The activities fostered by the course, such as the autonomous in depth analysis, and the design and implementation of small and less small web applications, allow to develop such comprehension and trains the student to do her/his own update, in this area, autonomously in the future. The learner is encouraged to search for information resources on the web, in order to deepen the knowledge and practice of what discussed during the lectures. A selection of web sites are also suggested in the course material (slides). We encourage the students to develop their solutions also basing on examples found through the course material and outside. This training allows to sharpen the learners' capabilities, making them able to maintain and develop their knowledge about web technologies, also expanding them, when it will be necessary, after the course.

Channel 1
MARCO TEMPERINI Lecturers' profile

Program - Frequency - Exams

Course program
1. Introduction to web communication and the use of XHTML for presenting web resources — about 6 hours, including exercises 2. Presentation of resources using CSS — about 6 hours, including exercises 3. Introduction to web programming: CGI and CGI programming — about 3 hours, including exercises 4. Management of a software project using Git and GitHub — about 3 hours, no exercises, but used during the submission phase of assignments and the final project 5. Introduction to web programming in PHP: basic principles; building web pages with PHP — about 6 hours, including exercises 6. Advanced topics in web programming with PHP: authentication, session variables and cookies, PHP and MySQL — about 6 hours, including exercises 7. HTML5: evolution of the markup language — about 6 hours, including exercises 8. Introduction to the XML language: basic concepts, well-formedness and validity, DTD — about 6 hours, including exercises 9. Advanced topics in the management of XML-based web applications: Namespaces, XML Schema, XML programming: DOM, SAX — about 6 hours, including exercises 10. JavaScript — about 6 hours, including exercises 11. Principles of PHP software testing using PHPUnit — about 6 hours, including exercises During the laboratory activities, the development stages of the mandatory exercises granting access to the final project may also be discussed. Meetings at the end of the course and afterward allow for the discussion of progress on the final projects.
Prerequisites
Knowledge of multiple programming languages, and methodologies for program analysis and design. It is useful to have attended the courses Tecniche della programmazione e Progettazione del software from the same degree program.
Books
- selected parts from the W3C website (XHTML, CSS, XML) - lecture notes: slides of the lessons, exercising material (programs with comments), all available through the course website - suggested links from the web (several are indicated and updated in the slides)
Teaching mode
Normally a lecture is followed by a lab activity. Three homework activities allow to access the final project activity. The project is developed in three stages, by an individual or a group of students (normally two). The teacher meets the group at least three times, to monitor the project development.
Frequency
Attendance is not mandatory but is strongly recommended.
Exam mode
The project is evaluated basing on its extension and implementation quality, also considering the number of students in the group. Students are evaluated - on the discussion of the project stages (each presented to the teacher) - on a final exam, written part, comprised of three/four questions on general topics, to be answered also using the work done in the project as example - on the fional exam, oral part, where the written part is discussed. For the final grade, 1/3 of the points come from the final exam, 2/3 from the project.
Bibliography
E.Castro - HTML per il WWW con XHTML e CSS - Pearson's; Troiani - CSS Guida Completa - Apogeo; J. Duckett - HTML & CSS, progettare e costruire siti web - Apogeo; E. Zimuel - Sviluppare in PHP7 - tecniche nuove Converse, Park, Morgan - PHP5 & MySQL LA Guida - McGraw-Hill Gutmans, Bakken, Rethans - PHP5 Guida completa - Apogeo; J. Duckett - Javascript & JQuery - Apogeo; Beginning XML, HOEPLI/WROX
Lesson mode
Since the learning objectives include both the acquisition of theoretical knowledge and its practical application, the course is organized into lectures and related laboratory activities. Homework assignments are required (three mandatory assignments to be submitted over time), as well as a project activity (final report). The assignments are necessary in order to be assigned a project topic. The project may be carried out individually or, preferably, in a group (normally limited to two people). The progress of the project is monitored through a series of meetings (at least three “progress reviews”).
  • Lesson code1018705
  • Academic year2025/2026
  • CourseInformation Engineering
  • CurriculumInformatica
  • Year3rd year
  • Semester2nd semester
  • SSDING-INF/05
  • CFU6