Semester Offering: August

The World Wide Web has already revolutionized the way we work, learn, and publish. The Web not only dramatically increases the size of the potential audience for our content, but also makes it possible to bring physically disparate people together into more tightly-knit communities than hitherto possible. In this highly distributed and collaborative environment, Web application developers face the triple challenge of 1) system complexity, 2) massive concurrency, and 3) a fickle user base always ready to abandon one site for the next. In this course, students will learn to cope with these challenges by using appropriate technology and a user-centered approach to the design and construction of large-scale Web applications. AT 70.xx is a project-oriented course in which student teams will be paired with client organizations needing online community collaborative learning and information sharing systems. Using a Web server, programming language, and relational database of their own choice, students will take the system from an initial concept through the stages of requirements specification, design, implementation, and usability testing. Along the way, focused laboratory sessions will give students experience with specific technologies and techniques useful across many applications, and lectures will introduce students to the most recent developments in Web application frameworks and client-side scripting. Students successfully completing AT xx.xx will be competent database-backed Web application developers capable of designing, deploying, and maintaining large-scale services such as


Engineering of large-scale Web-based applications.


Experience programming in a high-level programming language, e.g. C or Java.


I.                Introduction

II.             Basic Technology for Web Applications
1.      Relational database connectivity
2.      Server-side scripting languages
3.      XML

III.          Service planning
1.      Information architecture design
2.      Software architecture design

IV.          User management
1.      Content ownership
2.      Personalization
3.      Access control

V.             Content management
1.      Document management
2.      Comment/discussion management

VI.          Usability testing
VII.       Legacy applications
VIII.    Access from mobile devices
1.      WAP
2.      XHTML-MP

IX.          Search Engines
1.      Indexing for full-text search
2.      Controlling how public search engines index a site

X.             Web Services
1.      RSS
2.      XML-RPC
3.      SOAP

XI.          New and hot technology
1.      New technologies for client-side programming
2.      Recent developments in Web application frameworks


Configuring Apache, PHP, and PostgreSQL. SQL for web applications. Publishing and interpreting XML. Templates and style sheets. Usability testing. User registration and management. Implementing a content management system. Building a discussion forum. Interfacing to legacy systems. Mobile web applications: WAP and XHTML-MP. Full-text search: indexing and web robot hints. Web services: RSS and XML-RPC, and SOAP.


E. Andersson, P. Greenspun, and A. Grumet: Software Engineering for Internet Applications , MIT Press, 2006. Available online:


Online manuals for open-source web technology tools.
D. Norman : The Design of Everyday Things , Basic Books, 2002.
J. Nielsen: Designing Web Usability: The Practice of Simplicity , New Riders Press, 1999.
J. Niederst: Web Design in a Nutshell , 2nd ed., O'Reilly, 2001.
S. Murugesanand Y. Deshpande : Web Engineering: Managing Diversity and Complexity of Web Application Development , 1 st edition, Springer, 2001.
K. Fu, E. Sit, K. Smith and N. Feamster: Dos and Don'ts of Client Authentication on the Web , Proceedings of the 10 th USENIX Security Symposium, 2001.
M. Weiss: Patterns for Web Applications , Patterns Languages of Programming (PLoP), 2003.
L. Rosenfeld and P. Morville: Information Architecture for the World Wide Web: Designing Large-Scale Web Sites , O'Reilly, 2002.
P. Greenspun: SQL for Web Nerds , Available online:
E. Cerami: Web Services Essentials: Distributed Applications with XML-RPC, SOAP, UDDI and WSDL , O'Reilly, 2002.
S. St. Laurent , J. Johnston, and E. Dumbill: Programming Web Services with XML-RPC , O'Reilly, 2001.
E. R. Harold and W. Scott Means: XML in a Nutshell , 3rd ed., O'Reilly, 2004.


The final grade will be computed from the following constituent parts:
project and lab work (60%),
mid-semester exam (20%),
final exam (20%) .