CPE 437

Dynamic Web Development

 

Instructor: Clint Staley

 

Texts:  (Order these online. Horstmann is available online at the library and is the one you may not need in paper form.)

Murach, Murach's Java Servlets and JSP, 2nd ed, Murach, 978-1-890774-44-8

Horstmann, Core Java, Vol 2, Advanced Features, Prentice-Hall, 978-0-13-235479-0

Bauer, Java Persistence with Hibernate, Manning, 1-932394-88-5

Geary, Core JavaServer Faces, 2nd 3d,  Prentice-Hall, 978-0-13-173886-7

 

Required Web Reading

            http://users.csc.calpoly.edu/~cstaley/General/TestingHowTo.htm

            http://users.csc.calpoly.edu/~cstaley/General/JavaStyle.htm

            (Many more web pages in the Reading List online)

 

Instructor's Hours (in 14-204):

            MTR  3-4p, 7-7:30p

            M 6-7p

 

Grading

Labs - 20

Projects done on time - 20

Midterm  - 30

Final  - 30

 

Labs

We will do roughly 7 lab exercises, around one per week during the first 7 weeks of the quarter.   Some of these will be done in 2-person partnerships.  Topics will include:

 

1. Server setup

2. Fundamentals: HTTP, annotations, JDBC, reflection, XML

3. JSP/JDBC basics, including internationalization

4. More JSP/JDBC, including tag libraries, and modification of "Music Store" app

5. Hibernate

6. JSF

7 Ajax

 

Programs

 

There will be two programming projects, at least one done individually.   One will involve modification and improvement of the "MusicStore" application from Murach, to give you JSP/JDBC experience, and the other will be a significant enhancement of the IHS application we'll discuss in class.

 

Although the programming projects only account for 20% of your grade, they're very important to your learning experience.  For this reason, you must complete the projects to pass the class.  "Completion" means functioning without bugs, and conforming to style and other specified requirements.  I will not give incompletes, except for medical or family emergencies.  The programming projects will be quite demanding.  Plan to start early.  Note that because you always receive 100% on accepted programs, minus any late penalties, the 30% is totally determined by how soon you get the programs completed.   Finally, being more than 14 days late for any project results in immediate failure of the course, unless I grant you special exemption.  This last requirement is designed to prevent you from putting it all off to the end of the quarter, which is historically a recipe for failing my classes.

 

Quizzes and Tests

 

Those familiar with my classes know that the main make-or-break for passing is completion of the projects, with tests usually determining the difference between A or C grades.  However, you must obtain at least 2/3 of class average on all tests combined in order to pass the class.

 

Email

 

A great amount of class communication is via Email.  I will use your Poly Emails; if you want Email sent elsewhere, arrange a .forward file in your campus account.  Emails forwarded to the class in response to technical questions or issues are required, testable, course reading.  Save these in a separate folder for reference.

 

Noncollaboration Policy

 

Collaboration on code and test generation is strictly forbidden in this course.  Each individual in the class is to do his/her own work on the programming projects, and to work only with their designated partner in team projects.  Violation of this standard results in an automatic F in the course, plus additional penalties.

 

Attached to this syllabus is an agreement to sign indicating that you understand and will adhere to this policy.  This agreement must be returned to me before you can be added to the class mailing list and before the robots will recognize your submissions.  The agreement is also how you get on the mailing list, and how you get the grading robots to recognize your submissions.  You must get me a signed copy of this agreement by the end of the first week of class or I will drop you from the course.

 

Reading List

I've posted a reading list for the course online, and may make some additions during the quarter.  Because of the high volume of material to be covered, some material must be obtained only through the reading.  You are responsible for all reading material on tests, even if the material was not reviewed in lecture.