Web programming is by far one of the most difficult forms of programming facing today's computing professionals. While there are many site builders, few are truly skilled in the field. One of the primary reasons for this is the sheer number of technologies required to build a modern Web site. To attack the construction of Web applications it is necessary to divide the study between those which are primarily client-side and those that are server-side. In this class we present a complete overview of client-side Web technologies in light of the role in a complete Web system. We start first with the core markup and presentation technologies such as (X)HTML, XML, and CSS. We continue by adding interactivity using JavaScript and embedded objects following the design ideas behind DHTML and Ajax. Usability and appropriate user-interface design will be a significant emphasis through-out the class and will be an important factor in homework and project grading.
All the homework is going to be in support of building a reference and testing site for (X)HTML and CSS syntax. Our goal will be to leverage what we learn in the book and via other sites, but prove that standards and conformance is true and verifable. For those of you taking the second summer session we will be building out a backend for this site to automate and maintain the content as well as potential provide ongoing testing for the content.