The computer industry is changing very radically. Ne'er a week goes by without some serious new technological development or idea announcement. Reasons for this vary, but the major one is that the Internet provides a virtual production area for mass communcation, archives, research, work, information processing and data transfer, so on so forth which is not dependent on time, location, or platform (in this case platform refers to type of computer such as PC, Macintosh, Unix station, and so on).topic intending to pursueSome of the advantages of the Internet (and many of these apply to other Wide-Area Networks as well):
- time, location, and platform independence
- the largest storage repository in the history of the world
- interconnectedness between groups and individuals anywhere
- rapid transport of data where data could be images or email or programs or anything...
For me to explain what I plan to embark upon, I must relate a couple of stories.the method i intend to followDuring my junior year of college (I am going into my senior year), I worked with a team on a research project called DCOMP (stands for Distributed Computing). The project focused on building from the ground up a groupware system for distributed applications which were platform independent. This would enable a group of people to work on the same document simultaneously, conversing with each other, making changes and seeing those changes, and so on. The groupware system wasn't limited to document editing as it was modularly built and would work with a variety of applications.
For the last five or six years, I've worked for a company as a systems engineer and an instructor. I teach classes on Web-design, development, and the server-side administration and integration. One of the interesting things about this job is that my classroom is on-line. I have never physically met any of my students and I've only heard the voice of a few of them. The last class I taught had two students from New Jersey, three from Germany, one from California, and one from Canada. These students would dial-in from their homes or places of work to join the class on-line.
This is pretty cool--and makes learning much less costly.
However, there are a couple of problems. The class is based upon student self-study. The students would read through the materials during non-classtime hours and then join the class for in an on-line chat. Because the chat is text-based, diagrams and hand-waving was out of the question. Also, vocal intonation, labs, exams, and examples were out of the question.
So I got to thinking during my work on the project. We built a modular system--which means that to add functionality one would just have to build a module as opposed to rebuilding the entire system. This makes it infinitely easier to add new components and functionality to the existing structure similar to adding on to one's house.
The system that we designed and built during our research project would provide an excellent base for an education environment that wasn't limited to text-based chats.
Extending the ideas of the system we built this year, I will use a modular design that will include a Central Admin Server which coordinates communications between the modular parts--the Application Server Components and the Application Client Components. (I'm inventing the names of these things as I write this, but the idea of the break down has been in my head for some time now).
Back in the old days (grin), my grandfather would pick up the phone and say "Operator, patch me in to my wife at..." and the operator would connect the call between my grandfather and my grandmother. In this scenario, the operator is the Central Admin Server coordinating communications between either side of a "call" as well as keeping track of which "call"s are still occurring. My grandfather would be the Application Client Component because he was calling my grandmother to see if they were eating dinner at home, thus he is the client in the client/server relationship here. My grandmother would be the Application Server Component because she was either going to serve dinner or tell him to go eat somewhere else.
This would allow a classroom more than just an on-line chat. The chat would become just another application with an Applicatino Client Component and an Application Server Component. There would be other applications: a whiteboard which would act like a chalkboard; coding modules that would take code the user types, compile it, and return the errors; a lab room for labs; -- whatever the specific class needs to be a class.
That's the ideal situation. I plan to be doing a lot of research into current groupware solutions because this environment is based upon groupware ideas. I expect to be doing a lot of design and a lot of coding to implement my designs.the principal resourcesIdeally, i would like to finish the coding/design phase during the first semester and actually teach a course the second semester to work out bugs in the system, and allow for a testing phase to augment the development of the system.
Ultimately, I would like to build my project in such a way that it conforms to standards of the environment that it sits upon. This will take a little more work, but will make the project a professional solution for education.
With a project like this one, where the technology is so new that there aren't books that you can buy on the subject, I will have to resort to resources that are extremely dynamic in nature:the form of the final work
- newsgroups
- mailing lists
- web-sites (Netscape and Microsoft have developer sites)
- books on classic client/server theory and yesterday's technology
- papers and conference notes from ACM conferences
- whatever else comes my way....
The final piece will take on a two-part form: a technical paper which describes the goals, solutions, and results of the project; a technical paper which describes the various applications involved (applications that I will be building on top of the core system); and a working implementation of the system itself.
will guaraldi
CS dept / Honors Program thesis for 1997-1998 year.
guaraldi@cs.bc.edu
http://www.cs.bc.edu/~guaraldi/thesis