The course aims to provide a complete knowledge about the technologies required to develop modern web applications, secure and standards-compliant, with particular regard also to accessibility and usability issues
Syllabus
- Web Standards. Accessibility and Usability: what they mean and how can be obtained. Web Content Accessibility Guidelines (WCAG). XML and markup languages. (about 4 teaching hours)
- 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. (about 6 teaching hours)
- Presentation of web contents: CSS2 and CSS3. Proper use of style sheets and tips for crossbrowser compatibility. Creating gracefully degrading style sheets. (about 4 teaching hours)
- Creating web layouts with style sheets: basic techniques. Responsive design. (about 4 teaching hours)
- 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. (about 20 teaching hours)
- 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. (about 10 teaching hours)
Prerequisites
Base knowledge of Java programming
Teaching methods
Lectures are both theoretical and practical, and include the interactive development of examples; students are encouraged to participate to the lectures by making questions and discussing the solutions adopted in the developed examples
Assessment methods
The final evaluation involves the development of a project (in group) and a possible oral exam (individual). The project to be developed consists of a complete web application. The oral exam starts from the discussion of the project and aims to verify the achieved level of teamwork and the individual contribution to the project