This information refers to the course of A.Y. 2016/2017

Syllabus

  • 1 Web Standards. Accessibility and Usability': what they mean and how can be obtained. Web Content Accessibility Guidelines (WCAG). XML and markup languages.
  • 2 Structure of web contents: HTML4, XHTML1, HTML5. Proper use of HTML and tips for crossbrowser compatibility. Creating accessible HTML. Accessibility in Rich Internet Applications (RIA). Web content validation.
  • 3 Presentation of web contents: CSS2 and CSS3. Proper use of style sheets and tips for crossbrowser compatibility. Creating gracefully degrading style sheets.
  • 4 Creating web layouts with style sheets: basic techniques. Responsive design.
  • 5 Logic for web contents, server-side: Java Servlets. Session management in Java web applications. Database in Java web applications: JDBC, connection pooling. Dynamic content generation: template engines for Java. Web application security: server-side techniques.
  • 6 Logic for web contents, client side: Javascript. Javascript as a object-oriented programming language. The HTML Document Object Model. The CSS Document Object Model. The HTML Event Model. DOM manipulation with JavaScript. Gracefully degrading Rich User Interaction with Javascript and CSS. AJAX.

Textbooks

  • Vincenzo Della Mea, Luca di Gaspero, Ivan Scagnetto, Programmazione web lato server, seconda edizione, Apogeo
  • Jeffrey Zeldman, Ethan Marcotte, Designing with Web Standards (3rd Edition), New Riders Press
    One of the most important course textbooks, about web design standards, is also available in English

Lectures

Schedule
  • Tuesday, 16.30 - 18.30, A1.2
  • Thursday, 14.30 - 16.30, A1.2
Log
Last lecture : 8 June 2017
Total lectures : 24 lectures (48 hours )
Read the lectures log

Contacts

Office hours
  • Wednesday, 15 - 17
Teacher email
giuseppe.dellapenna@univaq.it

Resources

Course Slides

The Web Engineering course is currently given in Italian. The following slide sets contain an English translation of all the slides used during the course lectures. Such a translation is the first result of a long and complex adaptation work. Therefore, the slides may still contain some errors, typos and poorly readable statements. I'll do my best to refine them, but it takes time. Suggestions are always appreciated! TERMS OF USE: This material has been compiled for the students of the Web Engineering course. Since knowledge *should* be considered everyone's heritage, my slides are available to anyone who wants to study the web application development techniques. However, the material provided on this pages *cannot* be used, even in part, for other purposes, for example as educational material in other courses, without my explicit permission and without citing the source. The knowledge must be free, but the work must be paid, even only with a 'thank you'.

Useful readings for non-Italian students

This section collects links to external material that can be useful for non-Italian students to understand the main course arguments.

Software

This section contains links to (free) applications used in the course

Examples: HTML

This section contains all the examples used in the lectures to show the HTML5 features and check their compatibility.

Examples: Java Servlets

This section contains all the examples of Java programming (Servlets, JDBC, etc.) developed or shown during the lectures. Note that the Java application examples are published as zipped Netbeans projects: you may need to adjust the library and server paths to run them on your machine.

Examples: CSS

This section contains all the examples used in the lectures to show the CSS features and check their compatibility.

Examples: Layouts & Templates

This section contains all the examples developed or shown during the lectures about design techniques and template support in Java. Note that the Java application examples are published as zipped Netbeans projects: you may need to adjust the library and server paths to run them on your machine.

Examples: Javascript

This section contains all the script examples developed or shown during the lectures.

Useful Links

The MEAN Stack

MEAN is an emerging software stack for the development of web applications, which is quickly becoming a valid alternative to common frameworks such as the LAMP stack and the JEE technology. Although MEAN is not part of our course, we asked the professional web developer Gabriele Romanato to suggest us some texts for the study of these new, interesting technologies, which are listed here with the 'Certified by Romanato' label ;-)

Seminars

Projects