|
|
Web Engineering > Lectures INFSCI 2955 - LecturesHere 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 AccessibilityContinues 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.
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).
June 20 & 27 - Server-Side Technologies: PHP, Apache, MySQLIntroduces 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.
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.).
July 25 – Operation, Maintenance, & Project ManagementDiscusses 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.
August 1 - Introduction to AJAXThis 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.
August 5 - ****FINAL PROJECT DUE at 11:59PM**** |