CSCE 590: Web Applications

Spring 2008

Class Homepage: http://jmvidal.cse.sc.edu/webapps/
Instructor: José M. Vidal
Homepage: http://jmvidal.cse.sc.edu
Office: SWGN 3A51
Office Hours: Check my Calendar, or email me for an appointment.
Class Meeting Time: MW 2:30-3:45
Class Meeting Room: SWGN 2A18
Registration: Here and here.
Textbook: Your primary reference will be the class notes which will be supplemented with various online resources such as online tutorials, papers, manuals, etc. However, as online manuals are often hard to read, I highly recommend that you purchase the following reference books:

Prerequisites: CSCE 350, CSCE 240. Also, CSCE 416 is helpful, but not necessary. More generally, this class involves a lot of programming. I assume that you have extensive experience with object-oriented programming (Java) and scripting languages. You need to have taken Data Structures and Algorithms (CSCE 350), as well as other programming classes. You also must be willing to dedicate a lot of time to this class as programming is always an extremely time-consuming activity.

Overview: This class deals with the development of web applications using the latest technologies and emphasizing a deep understanding of the basic protocols and technologies used (as opposed to just learning to use a third-party tool). We also focus on applications that facilitate electronic commerce such as electronic payment mechanisms, automated workflow systems, and sophisticated online auctions. The basic schedule is as follows:

WeekTopic
1 Internet Basics
2 HTTP, Cookies, XHTML, CSS
3, 4 Java Servlets, Tomcat, PHP
5, 6 JavaScript, and the DOM, and XML
8 Ajax, Web 2.0, script.aculo.us
9 SVG, Canvas, with JavaScript. Semantic Web: SPARQL. SOAP.
10, 11 CMS and Web development platforms: Ruby on Rails, Google Web Toolkit
12 The Web as a programming platform: del.icio.us, flickr, facebook, OpenSocial, Google gears.

Grading: Grading is based on several small programming projects that will get the students acquainted with the technologies in question and a large final project, with an associated presentation, where the students demonstrate mastery of several of the technologies presented in class. The projects are to be done either individually or in pairs, where paired students. Graduate students will also be required give a short presentation on a new technology (or case study) related to web applications and ecommerce which was not discussed in class. That is, graduate students are required to perform some extra research. The final grade is calculated as follows:

ItemUndergraduatesGraduates
Problem Sets (3)20% each15% each
Research Presentation0%15%
Final Project40%40%

Deliverables: Students who pass this class are be able to design and implemented complex software solutions using state of the art software engineering techniques. They are able to understand, design, and implement sophisticated web applications using technologies such as XHTML, CSS, XML, SVG, Java Servlets, and JavaScript. They have a deep understanding of the techniques behind web programming. They also understand the basic issues and technologies available for implementing ecommerce web applications. The specific outcomes we expect are:

  1. Ability to design and implement a fairly sophisticated Java Servlet web applications. {problem sets}
  2. Ability to design and implement an Ajax application. {problem sets}
  3. Understanding and ability to use HTTP, XHTML, CSS, JavaScript, XML and the DOM used by browsers, and SVG. {problem sets}
  4. Understanding of how web technologies can be used to implement ecommerce solutions. {final project}


A funny comic strip.

Jose M. Vidal
Last modified: Mon Oct 13 08:25:54 EDT 2008