CSCI 381.3 / 780 -- Spring 2010
HETEROGENEOUS DISTRIBUTED APPLICATIONS

Design and implementation of good proprietary decision-support software often has to integrate advantages normally found in distinct software cultures, such as:

  • powerful and flexible front-end at individual user desktops (on the one hand),
  • multiple back-end servers connected to tailored databases (on the other hand).
    These services may be subject to rigorous response-time constraints and correctness guarantees.

    A successful solution to a problem of this type may assume a custom-built distributed application, which employs heterogeneous operating systems (such as Linux and Windows) and multiple programming languages (Java, C++, .NET, Excel/VBA.)

    Nowadays, very powerful such applications can be built at low cost, single-handedly, on top of standard and widely available computer systems and well-reputed public-license middleware.

    In this course, students are expected to build such applications, starting from scratch, and attaining fully functional implementations. In the process, students are expected to acquire or improve fluency in the selected platform, which includes operating systems, programming languages, database engines, and the distributed environment.

    RECOMMENDED BACKGROUND
    is best described by the content of the following courses.

    Mandatory:
    CSCI 211, 313 (with a grade better than barely passing);

    Desirable but admissible if taken concurrently with this course: 331;

    Informal but essential:
    Desire to become an accomplished programmer, and readiness to work toward this goal.

    instructor: Bojana Obrenic
    Mon Wed 1:40 -- 2:55 pm, SB A223, section 1M3WA;
    CSCI 780: reg. num.: 3086
    CSCI 3813: reg. num.: 3085