This course discusses the design and implementation of distributed applications within the Java programming environment. Programming techniques and APIs for application design and implementation include basic networking with sockets, remote method invocation (RMI), th CORBA and its Java implementation. At the end of the course gives an overview of distributed technologies that are still in the research and development phase, such as Jini, Java Spaces and mobile agents.
MET CS565 or equivalent programming experience in Java
Homework assignments include relatively short programs with the goal to illustrate basic concepts and programming constructs and techniques. Late homework will not be accepted unless permission by the instructor was given prior to the due date.
Exam: one midterm exam will be given to test the fundamentals of distributed computing and how it is supported in Java
Project: It consists of a more extensive programming assignment, appropriate documentation and an in-class presentation. You can work on the project alone or with a fellow student. In the latter case both students have to take part in the presentation and the scope and complexity of the work must of course be higher than a one-person projects.
Cheating and plagiarism will not be tolerated. They will result in no credit for the homework or examination. This should not be understood as a discouragement for discussing the material or your particular approach to a problem with other students in the class. On the contrary - I urge you to share your thoughts, questions and solutions. Naturally, if you choose to work in a group, I will that this is properly acknowledged and that you will offer more than one and/or highly original solutions rather than the same mistakes.