Course CSE336
Title Internet Programming
Credits 3
Course Coordinator

Rob Kelly


Introduces the design and development of software for Internet commerce. Topics include extended markup language, servlets, cookies, sessions, Internet media types, Web protocols, digital signatures, certificates, encryption, and the wireless Internet.

Prerequisite C or higher in CSE 219 or CSE 260; CSE major
Course Outcomes
  • An understanding of the issues in software architecture design for Internet Commerce applications
  • An ability to implement Internet applications using industry standard technologies such as HTML page templates (i.e., JSPs) and related objects (i.e., servlets and Java Beans)
  • An understanding of aspects of XML useful in the development of Web Services applications


Head First Servlets & JSP, 2nd ed. by Basham, Sierra & Bates; O'Reilly Press (ISBN # 978-0596516680)

Major Topics Covered in Course
  • Uniform Resource Locators
  • Network Fundamentals (TCP/IP)
  • Domain Name Service
  • Mime Types (text, audio, image, video)
  • HTML, Validation
  • Style sheets
  • Extensible Markup Language (XML)
  • XPath
  • Web servers, browsers
  • Support of non-traditional browsers
  • HTTP methods and headers
  • Servlets
  • Sessions
  • Cookies
  • Java Server Pages (JSP)
  • JSP/servlet data sharing
  • Java beans
  • Custom tags
  • JSTL
  • Expression Language (EL)
  • E-mail
  • Transformations (XSLT, XSL-FO)
  • Non-traditional markup languages (optional)
  • Security (optional)
  • NET Architecture (optional)
  • PHP (optional)
  • Internationalization (optional)

Laboratory Projects

There are two projects, each presented as a series of related homework assignments. Both projects are related to real Electronic Commerce applications, and the students will essentially reverse engineer the server code for each of the applications. The applications are chosen to capture most of the important server actions provided in Electronic Commerce applications.

  • IWilliams Sonoma Recipe site (12 weeks) - this project requires students to design an XML document schema (typically a DTD) that defines recipes, as described in the Williams Sonoma recipe site. They then create an XML document containing the data associated with one recipe. They will use 2 techniques to generate the html containing the recipe: an XSLT transformation and JSTL X library access to the XML document. The generated HTML will resemble the Williams Sonoma HTML page, except that the HTML will be valid and adhere to the XHTML Strict specification. This will also mean that the students need to design a CSS style sheet for all viewing information. Students will also transform (XSLT) another recipe XML document with a slightly different DTD. Optionally, the students will allow for the generation of the recipe in a second language, in response to user preferences.
  • Sun Form Processing site (8 weeks) - this project requires students to design form processing server software, using an input form available at the Sun JavaOne Web site. Form data is accessed and stored in a java bean. The data is validated, and based on the validation the form is redisplayed or an acceptance screen is presented. When the acceptance screen is presented, a confirming e-mail is sent to the user. The students will learn form processing, validation, data sharing between server components (servlets and JSPs), e-mail access, and JSP custom tags.

Students learn the techniques for the design of Web solutions. Especially important is the approach to object-oriented libraries and concepts. Topic covered include streams, wrappers, abstraction of Web concepts (e.g., sessions, data models), and service libraries.

Course Webpage