Engineering Center 110
8 a.m. - 8:50 a.m., MWF
Course webpage is http://www.cs.ttu.edu/~cs5331/p2p
There is no a formal prerequisite for this course, familiarity with
Java required. My course on Advanced Network Programming is a plus.
hours: 1:00 p.m. to 4:00 p.m. Friday, or by appointment
 Java P2P Unleashed: With
JXTA, Web Services, XML, Jini, JavaSpaces, and J2EE, R. Flenner, M.
Abbott, T. Boubez, F. Cohen, N. Krishnan, A. Moffet, R. Ramamurti,
B. Siddiqui, F. Sommer, ISBN: 0-672-32399-0, Sams Publishing 2003.
 Mastering JXTA: Building Java Peer-to-Peer Applications, Joseph D. Gradecki, ISBN: 0471250848, John Wiley & Sons, 2002.
 JXTA in a Nutshell, Scott Oaks, Bernard Traversat, Li Gong,
ISBN: 059600236X, O'Reilly & Associates, 2002.
Java Web Services Unleashed, Ron Schmelzer, Travis Vandersypen,
Jason Bloomberg, Madhu Siddalingaiah, Sam Hunting, Michael Qualls,
Chad Darby, David Houlding, Diane Kennedy, ISBN: 0672323419, Sams. 2002.
 Developing Jini Applications Using J2ME
Technlgy, Hinkmond Wong, ISBN: 0201702444, Addison-Wesley, 2003.
 JavaSpace in Practice, Phillip Bishop, Nigel Warren, ISBN:
0321112318, Addison Wesley Professional, 2002.
Tentative Course Outline:
P2P Systems and Architecture
Building Distributed Systems Using Java
Sample P2P Applications
consists of lectures, homework assignments, two exams and a
Homework assignments will consist of
problems assigned from the textbook and references. The format and types of
questions on homework will be similar to those on the midterm and
final exams. Doing and understanding the homework assignments will
help prepare for tests.
Final Project will be submitted by
email: email@example.com. Students should make two person teams or
work individually if it is preferred. Each team must complete a P2P
application in the SORCER environment. Programs must compile and run using the Java SDK 2.0 version 1.4.
The project will receive points for #1- proper operation (50% of grade), #2- structure, commenting, and style (25% of grade),
and #3- presentation/demo
(25% of grade).
Please note the following programming style and coding guidelines:
Each source file must begin with a comment block
identifying the programmer, project, last modification date.
The class file containing "public static void main()" must include a comment block (following the identification header comment), that briefly describes the purpose of the program and the primary data structures employed.
- Each class method or property must be accompanied by a header comment that describes what the
method or property does, the logical purpose of each passed parameter (including whether it is
input, output, or input/output), the pre-conditions that are assumed, the post-conditions that are guaranteed, and the return value (if any).
- Declarations of class level variables and finals (constants) must be accompanied by a brief description of purpose.
- Major control structures, such as loops or selections, should be preceded by a
block comment describing what the following code does.
- Use a sensible, consistent pattern of indentation and other formatting style (such as bracket placement) to improve the readability of your code.
- Identifier names (constants, variables, methods, properties, classes, etc.) should be
- When a final (constant) is appropriate, use a final (constant) instead of a "magic
number". More explicitly, any constant value other than 0 or the empty string,
"", should be a named constant.
- Store character data (aside from single characters) in string objects, rather
than char arrays.
Exams will be open-book/notes. Material
from handouts, textbooks and assignments will be included in the
scope of the exams.
A makeup exam will not be given. A valid excuse from the dean or
health office will result in the points being applied to the final
The final exam is comprehensive.
Grades may be curved as necessary.
|90 guarantees at least an A-|
|80 guarantees at least a B-|
|70 guarantees at least a C-|
|60 guarantees at least a D-|
|59 or less is F|
Late work will not be accepted. Each homework and programming assignment will have a posted deadline. Deadlines are absolute. Failure to submit an assignment by the deadline will result in a grade of 0.
There are no exceptions. A written excuse from the dean or health office is the only
acceptable form of excuse. This will result a minimum extension to the deadline to complete the assignment.
Questions about grades:
After each graded assignment is returned students will have one week following the return of the assignment to question the grade assigned with either the course instructor
or TA. After one week has passed the grade becomes final and will not change. This applies to all programming assignments, homework and tests.
The purpose of these
different instruments is to have a positive learning experience,
critical thinking about Java programming, and some sound
grasp of fundamentals. If you feel any of these instruments is not
working for any reason, please send me email and I will consider a
change in the format of delivery.
relationships are based on trust. Acts, which violate this trust,
undermine the educational process. Your classmates and the
instructor will not tolerate violations of academic