15-437 / 15-637 Web Application Development

Instructor: Charlie Garrod

This course uses Blackboard for online course interactions. Current students should go to https://blackboard.andrew.cmu.edu.

This course will introduce concepts in programming web application servers. We will study the fundamental architectural elements of programming web sites that produce content dynamically. The primary technology introduced will be Java Servlets and Java Server Pages (JSPs), but we will also cover the related topics as necessary so that students can build significant applications. Such topics include:

This course is recommended for students contemplating enrollment in 15-413 (the Software Engineering Project), since many of the projects in 15-413 are expected to be web-based.

In this course students will build several small web applications as homework exercises and design and build a more substantial web application for a course project. The course project will be the primary focus of the second half of the semester; students have significant latitude in choosing what to build for their projects, and will work in small groups. Course grades will be based on the homework, the project, and a final exam.

Students must be comfortable programming in Java to register for this course. 15-211 is a prerequisite for undergraduates. Please contact the instructor if you are unsure if your Java programming experience is sufficient. Students must provide their own computer hardware for this course. Student hardware must run a recent version of Windows, MAC OS X, or Linux, have sufficient memory and disk space to run modern web application server and database software, and be network-accessible to users at CMU.

Undergrads must register for 15-437. Masters and other graduate students register for 15-637. Seniors that need graduate credits but are blocked from registering for 15-637 should register for 15-437; once enrolled, you can switch to 15-637 with permission from the instructor.