| Instructor: |
Dr. Lixin Tao, ltao@pace.edu, http://csis.pace.edu/~lixin |
| |
GC Office: GC416A, (914)422-4463
PLV Office: G320, (914)773-3449 |
| Lectures: |
PLV Goldstein 315, Tuesdays and Thursdays, 6:00PM-7:50PM |
| Office Hours: |
Tuesdays and Thursdays, 7:50PM–10:30PM at PLV G320 |
| Prerequisite: |
Ability to specify classes in Java, including constructor overloading, private fields, public instance methods, and class variables and methods; ability to manage one-dimensional
arrays of types int, double, and String |
| Syllabus: |
Coverage of linked lists; recursion; derivation including constructor chaining, abstract classes, and
polymorphism; interfaces; exception handling; data structure implementation for stack, queue and
priority queues; event-driven and GUI programming; multithreading and thread synchronization;
socket-level networking; and basics of database programming. |
Textbooks
- Introduction to Java Programming: Comprehensive Version, 5th Edition, by Daniel Liang.
Prentice Hall 2005. ISBN: 0-13-148952-6. (book resources at
http://www.cs.armstrong.edu/liang/intro5e/intro5estudentsolution.html)
- Sun Java Tutorial (http://java.sun.com/docs/books/tutorial/)
- Class notes
Quizzes
There will be two one-hour open-book quizzes on both fundamental concepts and writing
complete programs. The quizzes will be on February 23 and April 18 respectively. No makeup
quizzes except for students with instructor approval beforehand.
Programming Assignments
There will be three programming assignments due on February 21, March 14, and April 11.
The source code of answers to the assignments must be submitted through Blackboard by the
due date. Each day of late submission will incur a 10% penalty on the grade for the assignment,
and under no circumstances, except for cases with instructor approval beforehand, an
assignment submission will be accepted after five days past the deadline.
Course Project
From week 2, students will set up teams of 4-5 people each. Each team will elect a team leader
responsible for team activity coordination. Over the semester, both teams will design and
implement a client-server application named Pace Instance Messenger (PIM).
Team 1 will be responsible for the server-side design and implementation, which includes
exposing the PIM service on the Internet for accepting client participation requests, spawning
new threads to serve different clients, processing client events and supporting the business logic
of PIM, logging messages in a database, and answering client database queries about the logged
messages.
Team 2 will be responsible for the client-side design and implementation, which includes a
quality graphic user interface for PIM, communicating with other clients through the PIM
server, handling any networking exceptions, maintaining dynamically the list of current
participants, and querying and displaying messages logged on the server that contain special
key words.
On March 14, each team will take 30 minutes to present its application design. On April 27,
each team will take 30 minutes to present its application implementation, and the two teams
will provide a live demo of the complete PIM project together. The two teams will work
together to complete a joint project report that should include sections for problem description, design documents, implementation highlights, experimental study, known problems,
installation guide, and user guide. The project report should be due on April 27 too.
Class Attendance
If a student is absent from a class without a justifiable and provable reason, he/she will suffer a 5% deduction in the final weighted total of his/her grades. A student missing four classes without justifications will fail the course.
Grading Scheme
| Programming Assignments |
30% (10% each) |
| Quizzes |
20% (10% each) |
| Final Exam |
10% |
| Project oral presentations |
20% (10% for design, 10% for demo) |
| Project report |
20% (10 for technical quality, 10% for writing) |
Important Dates
- February 21: assignment 1 due
- February 23: quiz 1
- March 14: assignment 2 due; project design presentation
- April 11: assignment 3 due
- April 18: quiz 2
- April 27: project final demo and presentation
Selected Public Course Material
Current teaching schedule and course material are avaialble in Pace Blackboard