Course Information CS 5331/2
/B75:
P2P
Computing
Engineering Center 110
8 a.m. - 8:50 a.m., MWF Course webpage is http://www.cs.ttu.edu/~cs5331/p2p
Prerequisite
There is no a formal prerequisite for this course, familiarity with
Java required. My course on Advanced Network Programming is a plus.
Instructor Dr. Michael
Sobolewski Room: CP-310 Email: sobol@cs.ttu.edu Office
hours: 1:00 p.m. to 4:00 p.m. Friday, or by appointment
Textbook [1] 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.
References
[1] Mastering JXTA: Building Java Peer-to-Peer Applications, Joseph D. Gradecki, ISBN: 0471250848, John Wiley & Sons, 2002.
[2] JXTA in a Nutshell, Scott Oaks, Bernard Traversat, Li Gong,
ISBN: 059600236X, O'Reilly & Associates, 2002.
[3]
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.
[4] Developing Jini Applications Using J2ME
Technlgy, Hinkmond Wong, ISBN: 0201702444, Addison-Wesley, 2003.
[5] JavaSpace in Practice, Phillip Bishop, Nigel Warren, ISBN:
0321112318, Addison Wesley Professional, 2002. Tentative Course Outline:
Introducing P2P
P2P Systems and Architecture
Building Distributed Systems Using Java
Web Services
JMS
Jini
JavaSpaces
SORCER
JXTA
Sample P2P Applications
Course Delivery
Format/Policies This course
consists of lectures, homework assignments, two exams and a
final project.
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: cs5331@cs.ttu.edu. 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
descriptive.
- 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.
Midterm exam
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
exam.
Final exam
The final exam is comprehensive.
Grading
Point Distribution:
Homeworks (5) | 20%
|
Final Project | 40% |
Midterm Exam | 15% |
Final Exam | 25% |
Grading Scale:
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 Policy:
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.
Miscellaneous 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.
Student-teacher
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
integrity. |