CS 384 Take-Home Midterm Examination #2

Due: Monday April 14, 5pm, hard copy, under Dr. Jeffery's office door (JEB 230). Answers must be typed, not hand-written. You may turn in your midterm early.

You are to work independently on this examination, meaning, do not consult other humans in-person or electronically regarding your work. You are encouraged to refer as needed to the textbook, the web (cite sources) and our class CVS repository and webpages.

1. (50 points) Discuss the advantages and disadvantages of our project activities content management approach, which I would describe as "ad hoc". Would we have been better off to adopt a standard file format for activities content, instead of leaving each activity to do anything they wanted in this area?

2. (50 points) Discuss the advantages and disadvantages of the "big applet" design decision that we made, in which our Java application installs nothing locally on the end-user computer, but does download the entire client from a webpage.

3. (50 points) Discuss the strengths and the weaknesses of the "no(t much) server" design decision that we made, in which there is no back-end other than a SQL database and a disjoint custom chat server. How could we have improved or simplified our server design?

4. (50 points) Suppose you were going to take our same application domain and embed it into a non-web-based 3D virtual environment. How much of our project could be migrated into such an environment? What adapters or abstractions would maximize the re-use of our project in such an environment?