You are here: Home Teaching Comp 388/442 Schedule Old Schedule (subject to major changes for spring 2009)
Document Actions

Old Schedule (subject to major changes for spring 2009)

This document contains the approximate week-by-week schedule for this course. This schedule is permanently under construction. Details are to be filled in soon.

Week Topic

Week 1

Introduction

  • Motivation
  • Architectural overview
  • Test-driven development
  • HTTP protocol

Reading

Week 2

The client tier

  • (Re)presenting content
  • XML, DTDs, schemas
  • Specific markup languages: HTML, XHTML, VoiceXML, WML
  • Stylesheets and transformation: CSS, XSL/XSLT, SAX, DOM
  • Client-side programming, JavaScript

Reading

Week 3

The web tier: introduction

  • Creating dynamic content: CGI
  • Java Server Pages (JSP)
  • Java servlets
  • Using control flow to control dynamic content generation
  • Getting data from the user agent using HTML forms

Reading

Quiz 1

Week 4

The web tier: interaction and sessions

  • Factoring out logic to JavaBeans
  • Sessions and state, concurrency issues
  • Example: number guessing game (in depth)
  • Error handling

Reading

Week 5

The web tier: web application frameworks

  • Architectural issues in the web tier
  • Web application frameworks
  • Model-View-Controller
  • Jakarta Struts

Reading

Week 6

The web tier: web application frameworks

  • Architectural issues in the web tier
  • Web application frameworks
  • Model-View-Controller
  • Jakarta Struts

Week 7

The web tier: abstractions for content generation

  • Using tag libraries
  • Writing tag libraries
  • Example: Java Standard Tag Library (JSTL)
  • Templating, layout, and decoration frameworks
  • Example: SiteMesh, StringTemplate (template engine supporting strict model-view separation)

Reading

Week 8

Quiz 2

The web tier: security and authentication

Reading

Week 9

The upper component tier: business logic

  • Programming of services
  • JavaBeans as business delegates in JSPs
  • Domain-specific languages for services
  • Sisl (Several interfaces, single logic)
  • Enterprise Java Beans (session beans)

Reading

Week 10

The lower component tier: persistence

  • Object-Relational Mappings
  • Enterprise Java Beans (entity beans)
  • Hibernate
  • Connecting to databases
  • JDBC

Reading

Week 11

The lower component tier: persistence

Packaging and deployment of server-side apps

Reading

Week 12

Quiz 3

Advanced server-side issues

  • Concurrency issues
  • Performance issues
  • Security

Reading

Week 13

Middleware

  • Sockets
  • RMI
  • Message-oriented middleware

Reading

Week 14

Recent Trends and Developments