15-437 / 15-637: Web Application Development Syllabus

Textbooks

There are no required textbooks for the course, but the following texts are useful as references:

Grading

Your course grade will be determined approximately as follows:

Late Work Policy

This course has a unusually flexible late work policy: the deadline for any homework assignment and the project proposal can be extended up to seven days without penalty. For example, you may turn in Homework 1 up to seven days late without penalty, and then turn in Homework 2 up to seven days late without penalty, and so on. You do not need to tell us that you are using one of these normal extensions.

The detailed project specification may be turned in up to two days late without penalty.

The project checkpoint and the final project presentation must be completed at their assigned due date. You may not use any extensions for the project checkpoint or final presentation.

We might grant additional extensions for extremely unusual circumstances (such as your hospitalization and/or death) but the request for such an extension must come from your faculty advisor or dean.

Collaboration

You should read and abide by the University Policy on Academic Integrity and Plagiarism.

For homework assignments, you are encouraged to talk with and share ideas with other students, including examining and critiquing others’ solutions. You must independently create and turn in your own unique work. In particular, you may not copy another student’s files or let another student copy your files. You may use external resources (books, internet sites, etc.) as references, but you may not copy files or code from external resources, and you must clearly cite any external resources you use.

You are encouraged to collaborate with your partner and with other students for your course project. All project deliverables, however, must be completed by you and your partner. You may not copy another project’s documents or code for your project solution, or use substantial external code or documents obtained from any third party such as an internet site.

The minimum penalty for violating this policy will be a zero grade for the assignment in question, and all cases will be referred to the appropriate university disciplinary board. Be warned that the university disciplinary actions for cheating can be very harsh, especially in response to cheating by a graduate student. Even a first-time cheating offense can result in dismissal from the university without your degree.

This course includes a very flexible Late Work Policy, and if you run out of time you should turn in your half-completed work or show us a half-complete demo for partial credit rather than cheat in this course. There is no reason to cheat in this course.

Please ask me if you have any questions regarding the course collaboration policy.

Accommodations

If you wish to request an accommodation due to a documented disability, please inform your instructor as soon as possible and contact Disability Resources at 412.268.2013 or lpowell@andrew.cmu.eda.

Course discussion board

This course uses Piazza to facilitate online discussion within the course. If you enrolled in the course before the classes started you received an invitation to participate in our course. If you enrolled later, please sign up for a Piazza account and enroll in our course directly or let us know and we will send you an invitation.

Schedule

This schedule will be updated throughout the semester, and will typically be accurate at least 1-2 weeks in the future.
Date Topics Notes Readings
Tue 08/28 Introduction
[pdf]
Thu 08/30 HTTP, HTML, and CSS
[pdf]
02 examples.zip
Tue 09/04 JavaScript and DOM
[pdf]
03 examples.zip
Thu 09/06 Introduction to Servlets
[pdf]
ServletsIntro.war
Tue 09/11 Sessions, Hidden Fields, and Cookies
[pdf]
05 examples.zip
Thu 09/13 Concurrency
[pdf]
MemoryToDoList.war
Tue 09/18 Introduction to Databases
[pdf]
DBExamples.zip
Thu 09/20 Introduction to Object-Relational Mapping Tools
[pdf]
To use the SqlToDoList you must set up a todo database on your local computer, and the MySQL anonymous account must have password-less access to that database. The BeanFactoryToDoList requires a todo3 database with similar anonymous access. 08 examples.zip
Tue 09/25 Java Server Pages
[pdf]
JSPDemo.war
Thu 09/27 Model-View Controller
[pdf]
To use the Photos application you must have a photos MySQL database on your local computer. Photos.war
Tue 10/02 JSP Tag Libraries
[pdf]
To use the AddrBook application you must have a addrbook MySQL database on your local computer. AddrBook.war
Thu 10/04 Web Security
[pdf]
12 examples.zip
Tue 10/09 Ajax
[pdf]
AjaxAddrBook.war
Thu 10/11 Database Transactions
[pdf]
Tue 10/16 Two-phase locking and Struts
[pdf]
StrutsAddrBook.war
Thu 10/18 Scalability
[pdf]
Tue 10/23 Performance
[pdf]
A Web Applications Performance.pdf
Thu 10/25 Usability
[pdf]
Tue 10/30 No lecture
Thu 11/01 No lecture
Tue 11/06 Hibernate
[pdf]
HibAddrBook.war
Thu 11/08 Web Services
[pdf]
The correct behavior of the StockTicker application depends on an external web service over which we have no control, so it is possible this application will stop working in the future if that web service changes. StockTicker.war
Tue 11/13 Python and Django
[pdf]
Thu 11/15 Web Entrepreneurship
[pdf]
Tue 11/20 No lecture
Thu 11/22 Thanksgiving
Tue 11/27 No lecture -- Project demos
Thu 11/29 No lecture -- Project demos
Tue 12/04 No lecture -- Project demos
Thu 12/06 Best project presentations

Last updated: Thu Nov 15 16:46:36 -0500 2012 [validate xhtml]