Enterprise Java

CSCI 375, Section 01
Fall Semester 2015



John I. Moore, Jr. Phone:  843-953-7883
Office:  Thompson Hall 311       E-mail:  john.moore@citadel.edu


Course Description

A project-oriented course that introduces advanced Java technologies for building distributed enterprise and web applications. Topics include threads, networking, security, JDBC, servlets, and JavaServer Pages (JSP).

Prerequisite: CSCI 223


Learning Outcomes

Upon successful completion of this course, a student will be able to


Class Schedule

Monday-Wednesday-Friday, 10:00-10:50 a.m., Thompson Hall 316.



Joel Murach and Michael Urban, Murach’s Java Servlets and JSP (Third Edition), Mike Murach & Associates, 2014. (ISBN: 978-1890774783)

Also: Course Notes and Handouts


Additional Course References

  1. [Bloch 2008] Joshua Bloch, Effective Java Programming Language Guide (Second Edition), Sun Microsystems Press/Prentice-Hall, 2008, ISBN 978-0321356680.
  2. [Brittain 2007] Jason Brittain and Ian F. Darwin, Tomcat: The Definitive Guide (Second Edition), O’Reilly Media, 2007, ISBN: 978-0596101060.
  3. [Hall 2003] Marty Hall and Larry Brown, Core Servlets and JavaServer Pages, Volume 1 (Second Edition), Sun Microsystems Press/Prentice Hall, 2003, ISBN 978-0130092298. (Free online version at http://pdf.coreservlets.com/)
  4. [Hall 2008] Marty Hall, Core Servlets and JavaServer Pages, Volume 2 (Second Edition), Sun Microsystems Press/Prentice Hall, 2007, ISBN 978-0131482609.
  5. [Jendrock 2006] Eric Jendrock, Jennifer Ball, et al., The Java EE 5 Tutorial (Third Edition), Sun Microsystems Press/Prentice Hall, 2006, ISBN 978-0321490292. (available online at http://download.oracle.com/javaee/5/tutorial/doc/)



The final grade for the course is based on 7 grades as follows:


Miscellaneous Grading Policies

  1. This course will contain a number of graded programming assignments. Each programming assignment is due one week after it is assigned unless noted otherwise by the instructor. A late program, for whatever reason, will have its grade lowered by one letter, and programs more than one week late will not be accepted. Program grades will be based on the following factors: correctness of programming logic, overall design and structure, style, and enhancements.

    Please note: Correctness of programming logic is the most important factor. It is usually better to turn a program in late than to turn it in on time with logic errors. Also, turning in a program that does not compile will result in a grade of zero for that project.
  2. A course project will be completed by teams of two students, and both team members will receive the same grade for the project. The completed project will be scheduled for demonstration during the final exam period.
  3. With the exception of the course project, students are required to work individually on all work done outside of class that will be turned in for a grade. Unless explicitly authorized, joint work is forbidden. Assistance from anyone other than the instructor, a librarian, a member of the academic support center, or a team member (on the team project only) is also forbidden.
  4. Reading assignments will be given daily, and unless otherwise noted, daily quizzes will come directly from the material covered in the previous day’s class or reading assignment.
  5. Class attendance and participation can influence borderline grades.
  6. A total of nine absences will result in a course grade of F. With respect to this policy, three lates count as an absence. In addition, if you are late by 15 minutes or more, you will be considered absent.
  7. Incomplete grades are given only in unusual circumstances. Consult the college catalog for policy on incomplete work.


Office Hours

Monday 11:00-12:00 a.m., 1:00-3:30 p.m.
Wednesday  11:00-12:00 a.m., 1:00-3:30 p.m.

Other times by appointment


Important Dates

Sep. 18 Test #1
Oct. 21 Leadership Day (no class)
Oct. 19 Test #2
Nov. 3 Last day to withdraw with a grade of “W”
Nov. 16 Test #3
Nov. 23-27 Fall Break (Work on course project during break!)
Dec. 11 (Friday) Final Exam Period/Project Demonstrations 1:00-4:00 p.m.



  1. Do not miss an assigned test without a valid excuse! Missing an assigned test without a valid excuse will result in a grade of zero for that test. The instructor gets to determine whether or not an excuse is valid. In particular, guard duty is not an acceptable excuse for missing an assigned test. When possible, students should notify the instructor in advance if they will be unable to take an assigned test. All make-up tests will be given outside of normal class time. Once a test has been given in class, any subsequent make-up tests may differ significantly.
  2. Show up for class on time and prepared. That means that you have read the appropriate sections from the book plus any handouts, and you have worked all assigned homework. If a test has been assigned, you should be prepared to take the test. If you were late to class or absent from the previous class meeting, you are responsible for getting class notes and assignments from another student in the class or from the instructor.
  3. If you are late to class, it is possible that you have already been marked absent by the time you arrive. It is your responsibility to notify the instructor after class that you were late rather than absent.
  4. Take care of any personal needs outside of class time. Except for emergencies, you should not need to go to the bathroom, get a drink of water, etc. If you need to leave the room at any time while class is in session, you should ask for permission.
  5. There should be no personal conversations or moving around during class without explicit permission. These actions are disturbing to other students and to the instructor. Be courteous and respect the rights of others.
  6. Cell phones must be kept in book bags and programmed in a silent or vibrate setting during class.
  7. You should respect the property of your college. No eating, drinking (other than water), smoking, dipping, chewing tobacco, etc. in the classrooms. Also, no writing or carving on the desks, chairs, podium, etc. Any willful vandalism or destruction of Citadel property will be handled appropriately.


Daily Schedule

Dates Topics Covered
Aug. 26 Basic Java (Classes, Inheritance, Reflection, Special Methods in Class Object)
Aug. 28 Basic Java (Classes, Inheritance, Reflection, Special Methods in Class Object)
Aug. 31 Exceptions
Sep. 2 Exceptions
Sep. 4 I/O
Sep. 7 Serialization
Sep. 9 Generics
Sep. 11 Collection Classes and Properties
Sep. 14 Lambda Expressions and Streams
Sep. 16 Overview of HTML
Sep. 18 Test #1
Sep. 21 Threads
Sep. 23 Threads
Sep. 25 Threads
Sep. 28 HTTP
Sep. 30 Networking
Oct. 2 Networking
Oct. 5 Networking
Oct. 7 Overview of SQL
Oct. 9 JDBC
Oct. 12 JDBC
Oct. 14 JDBC
Oct. 16 Servlets
Oct. 19 Test #2
Oct. 21 Leadership Day (no class)
Oct. 23 Servlets
Oct. 26 Servlets
Oct. 28 JavaServer Pages (JSP)
Oct. 30 JavaServer Pages (JSP)
Nov. 2 JavaServer Pages (JSP)
Nov. 4 Filters and Listeners
Nov. 6 Web Application Security
Nov. 9 Internationalization (I18N)
Nov. 11  JavaMail
Nov. 13 The Java Persistence API (JPA)
Nov. 16 Test #3
Nov. 18 XML
Nov. 20 XML and JSON
Nov. 23-27 Fall Break (Work on course project during break!)
Nov. 30 JSON
Dec. 2 RESTful Web Services
Dec. 4 Bit-level Manipulation
Dec. 7  Regular Expressions
Dec. 9  Project Discussions
Dec. 11 (Friday) Final Exam Period/Project Demonstrations 1:00-4:00 p.m.