CS122 Computer Programming II

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.


  • Introduction to Java Programming: Comprehensive Version, 5th Edition, by Daniel Liang.
    Prentice Hall 2005. ISBN: 0-13-148952-6. (book resources at
  • Sun Java Tutorial (http://java.sun.com/docs/books/tutorial/)
  • Class notes 


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


Home Education Professional Experience Research Teaching Dissertation Supervision Selected Links

Copyright ©2006 Lixin Tao