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
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
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.