Web Engineering

 

Web Engineering > Lectures

INFSCI 2955 - Lectures

Here is a tentative schedule for the semester. I'll make every effort to have the slide sets available by noon on the day of each lecture.

In addition to the required text, we will examine material from several supplemental books freely available online to all Pitt students through the University Library System. Links to selected e-books will be provided below throughout the semester. Students may access these links from any machine connected to the Pitt network, or may access them off-campus using their Pitt account through Pitt’s Instant Virtual Extranet (http://sremote.pitt.edu).

May 16 - Overview of the Course.

Introduces Web Engineering, a sub-discipline of Software Engineering whose methods and techniques are adapted to the special characteristics of Web-based applications. Also discusses the critical initial stage of the Web application development process – gathering requirements – and adapting traditional practices to the unique challenges of the Web.

May 23 - Modeling Web Applications.

Introduces modeling techniques inspired by object-oriented design models found in traditional software engineering, but are adapted to the particular needs of web engineering. Topics include content, hypertext, and customization modeling; use cases, class diagrams, and sequence diagrams

May 30 - Client-Side Technologies

****ASSIGNMENT #1 DUE****

The lecture provides a brief review of CSS, cookies, and the Document Object Model. The majority of the lecture is devoted to introducing JavaScript, the language reference, and how JavaScript can be used to manipulate the DOM.

June 6 - Client-Side Technologies (continued), Usability, and Accessibility

Continues the discussion of client-side technologies. Discusses the concepts and techniques for engineering and evaluating user interfaces appropriate for a Web application’s intended audience. Explores the interaction between users and the application’s user interface. Special attention will be paid to Web technologies and standards available for audiences with special needs.

  • Chapter 11: Usability and Accessability of Web Applications

June 13- Developing Web Applications

****ASSIGNMENT #2 DUE****

In this lecture we discuss the web application development process, as well as common web application architecture patterns. Iterative development, development cycles, Rational Unified Process (RUP), Extreme Programming (XP).

  • Chapter 4: Web Application Architectures
  • Chapter 10: The Web Application Development Process

June 20 & 27 - Server-Side Technologies: PHP, Apache, MySQL

Introduces the PHP5 scripting language. Syntax, language reference, libraries, file access, DBMS access (esp. MySQL), form processing, and other techniques will be presented/demonstrated. Walks through the installation and configuration of MySQL, the Apache Web Server, and PHP5 for a development environment.

July 4 - No Class – Indepedence Day Holiday

****ASSIGNMENT #3 DUE****

July 11 - Responsive Web Design & Testing

****FINAL PROJECT PROPOSAL DUE****

In this lecture we discuss techniques utilized by the responsive web design approach, revisit CSS and introduce key elements of CSS3, and install an Android emulator for testing purposes. The remaining time will be used to discuss various testing techniques for web applications as a whole.

  • Chapter 7: Testing Web Applications

July 18 - Security

****ASSIGNMENT #4 DUE****

This lecture provides a discussion of the various aspects of web application security. Topics include encryption techniques (digital signatures, certificates, PKI), securing client/server interactions, vulnerabilities at the client (desktop security, phishing, etc.) and the server (cross-site scripting, SQL injections, etc.).

  • Chapter 13: Security for Web Applications

July 25 – Operation, Maintenance, & Project Management

Discusses the operation & maintenance phase of the Web application development, including Web site promotion, content management, usage analysis, and search engine optimization (including a discussion of PageRank and Google AdWords.) Concludes with tasks and challenges in project management, managing teams, and risk management.

  • Chapter 8: Operation & Maintenance of Web Applications
  • Chapter 9: Web Project Management

August 1 - Introduction to AJAX

This lecture introduces and demonstrates Asynchronous Java and XML (AJAX), a technique for combining JavaScript, the HTML DOM, and server-side scripting for building highly interactive web applications.

  • Introduction to AJAX

August 5 - ****FINAL PROJECT DUE at 11:59PM****