I Use This!
Activity Not Available

Project Summary

The EOE is an acronym for the "Educational Operating Environment". The EOE is both a design-in-progress and is to be an implementation of host-independent, distributed operating environment of software-objects consisting of several categories (or functional super-categories) of software "objects". The actual host-independent code is to be constructed initially in JAVA, Java Script, and later in similar host and OS independent programming technologies. Of course, there is to be no barrier to contributors constructing like-functioned OS-dependent "object" modules from the ever-evolving EOE design.

The primary purpose of the EOE is to bring the best human-assisted and AI-assisted instruction to students world-wide. A second purpose is to "work around" the innovation-delaying (or 'retarding' or 'slowing') marketing games played by the commercial software industry so that better distance learning applications come to work with each other sooner than their manufacturers' would otherwise allow. Disadvantaged students in the developed-world and in the developing-world should thereby come to have access to higher quality educational content, tutors, instructors, static and dynamic tutorials and instruction, and have much better educational experiences than the commercial software industry is likely to provide in the so-called "free market" system espoused and practiced in the USA since 1980.

This investigator calls the "innovation delaying" process "feature-creep". This investigator believes it exists so that top management of producers of commercial software can maximize their companies'"return on investment" (ROI), i.e. maximize income and profits gained from the "lowest common denominator" (or least-smart-versions) of their software being sold to the most people and organizations, world-wide! Consequently they gain a great deal more income for the money they spent investing in their particular software's production and distribution. This model is supposedly a "good thing", but some would argue otherwise. Suffice to say, the Open Source Model of software design, building, testing, and deployment is changing the 5-decades old proprietary, commercial software model.

In general, the EOE is to integrate the disparate functions of otherwise heterogeneous distance learning applications (DL or DL apps) as well as of heterogeneous Intelligent Tutoring Systems (ITS or ITS apps). ITS is an increasingly robust area of Computer Science and more advanced "Educational Technologies"... which used to be called "computer assisted instruction" 25 years ago. Technically, certain EOE middle-ware software object components will perform the integration. Other EOE middle-ware objects will assess students' activities and performance across ALL integrated DL applications. Other EOE middle-ware objects will find and "attach" to a student's live interaction with a DL application the most appropriate ITS application for the student's subject, lesson-in-subject, and the student's learning styles and preferences. These are a few of the "added-educational-values" the EOE system is to make available to students.

In general the EOE is intended to (1) "homogenize upwards" the collective best features -- and as many as possible of the collective features -- of categories of like and "slightly" dissimilar distance learning applications integrated by the EOE. Another way to understand "homogenize upwards" is to find the "highest common denominator" of features within certain functional categories of DL and ITS applications. Some EOE objects and applications and/or applets and servlets to be designed and coded are to perform that kind of feature assessment. (2) As an "operating environment", and not an operating system, the EOE is to be able to "talk to" (i.e. interact with and offer educationally-appropriate supervisorial control over) a wide variety of client and server operating systems, adding "educational values" to those OSes and to any EOE-integrated distance learning applications running on them. Of course, the same control will apply when ITS applications are added to the EOE. (3) As an "operating environment" and "abstraction" of the functions of the EOE-integrated DL and ITS applications, parts of the EOE will also abstract the functionality and APIs to a variety of RDBMS (and OODBMS) databases that the integrated DL and ITS applications use! (4) The latter integration and abstraction make possible the gathering throughout the EOE-system, in a systematic and easily changeable way, database-performance information, learning-events information, learning content use information, as well as a variety of OS-vs.-DL application and OS-vs-ITS application performance data. (5) As in (4), the integration and abstraction of the EOE should make dissemination of process-control and learning-optimization information to appropriate "helper" applications integrated within the EOE!

(6) The EOE middle-ware objects are intended to integrate and coordinate learning-actities and lesson/course-performance assessment of students' activities with one or more of the distance learning applications of their choice. (7) As an EOE, the EOE is to appropriately "filter" and reform as-needed (or generate suggestions for the reform of) learning content and for some "less effective" aspects of live and replayed learning-experiences streamed to student users. The EOE is to do so, eventually, according to each students' current means of client-computer interaction with one or more distance learning applications and the respective course content, live and replayed instruction vended by those DL applications.

This means the EOE is to eventually be able to compensate for otherwise static web-based course and lesson content, and/or for what this investigator calls "poorly-made, psuedo-dynamic" web content that is the current (2007-2008) trend in "better" web pages and web sites. The EOE is to archive and play-back text, audio, and video streams and "chats" for otherwise unrecorded instructional streams vended by an EOE-integrated DL application operating independently of the EOE. In doing so, the EOE is to make up for any such deficiencies existing in the student's target distance learning applications and web content. This meta-feature of the EOE makes possible the future dynamic generation of web-learning content (in a future ITS) based on any existing (and archaic) static, one-size-fits-all-students-in-a-class course content, or the just-in-time (JIT) presentation to individual students of learning-materials best suited to their individual learning-style, preferences, as well as past to most-recent learning experience and problems with the given subject-material. (8) With the integration of AI-based learning process and control programs and of AI-based ITS into the EOE, an evolving, improving degree of just-in-time (JIT), or just-in-a-reasonable-time (JIRT), live-human-generated tutorial experiences and/or ITS-generated, individualized, tutorial learning content will become possible.

Some History of The EOE Project: I, Jennifer Woodward, MA and 63.5 y.o. at this writing in May 2008, began specific development of the EOE concept and the necessary and "sufficient" attributes of the EOE in 1998 upon my completion of the official work period allowed me by a U.S. Dept. of Education grant for 1997-98. I have worked to refine and elaborate upon the concept and the scope of the EOE ever since that time with some financial support from ana-systems, Inc. (www.ana.com, SF, California, and NYC, USA). I have also been working since 2005 to document an evolutionary path or paths for the EOE set of objects.

Aspiring design contributors please note: Most or all EOE design and prototype code is to be agreed upon by consensus, super-majority, simple-majority, or plurality vote in the future as circumstances best allow.

Alpha and Beta Code Testing Ideas: The original EOE deployment is to be on one, two, then three+ servers which serve very many client computers (and students) learning content and learning experiences delivered to them by way of multiple heterogeneous distance learning applications. The distance learning applications, existing and emerging commercial and open-source, are to be running on both the students client computers and the server computer(s) as-needed for their better or best education at a specific time on a specific subject for the specific student! The server computers are to be locatable anywhere in the world with an Internet connection. The server course content, and some live human-generated instruction delivery, is to be multilingual and -- by the time anything useful gets deployed regarding the EOE -- could also allow for dynamic translation of course materials where such materials are not yet available in the desired language for the student.

See MIT's Project Athena client and server model and open code for some details of the inspiration and basis core feature-sets for the EOE model of system-wide EOE c/s maintenance, deployment, upgrading, and course content delivery.

Some EOE Design Criteria: The well-formed, well-tested, distributed EOE is intended to evolve to allow scaling of various kinds.

For example: (1) the evolved EOE finds the best/closest path to proxy servers that use the EOE. EOE proxy servers are to be, in part, intermediate servers which are closest (least number of network 'hops' and fastest connectivity) to clusters of users of a given distance learning application in recent live DL application usage history). EOE proxy servers are to archive text, audio, and/or video streams for replay by students who (a) lost a connection, (b) had a slow or intermittent connection during a live discussion with instructors, or with class-mates, or with a tutor. The EOE proxy server also (c) is to serve students the best possible bandwidth and learning-content quality for those students who want to review the material recently presented to them.
(2) The evolved EOE finds various kinds of distance learning applications according to a student's individual needs and desires. It also finds "most appropriate" and "better" courses and lessons, given the student's archived "competency" and "preferred learning styles" for the learning material to be presented (live or authored or both).
It also finds (3) the best/closest alternative DL application and course content and required course-management servers to, in part, maximize connection speeds to DL applications, to DL course-content, to learning-enhancement servers (i.e. servers that connect to human and AI-assisted tutoring for specific courses and lessons within course that are most appropriate for students with certain cognitive demographics), and to distributed learning-assessment, learning-styles identifying, and learning-history servers.

SOME KEY TECHNICAL DESIGN GOALS of the EOE are: 1. Create the core distributed client and server EOE meta objects that coordinate all other objects in the EOE system.

2. Create the core "other objects" that allow the development of the following highest level features of the EOE:

2.1. Create distributed client/server EOE objects that integrate distance learning applications WITHIN in each of several (5+) categories of distance learning applications.
2.2. Create EOE objects that integrate distance learning applications BETWEEN each of several (5+) categories of distance learning applications. This would be a slightly lower level of "meta-objects" in the EOE design.
2.3. Integrate the EOE functionality to individual distance learning applications (commercial or open source) by way of "EOE DLapp Adaptor" code objects. The EOE Adaptor concept is to be an abstraction of the functionality within a given functional category of DL application as well as a generalization of the functionality for specific kinds of DL application, as any differences with other DL applications within their DL category requires.
3. Identify, architect, and build prototype Object-Oriented code that enables the creation of "hooks" (learning-events, messaging and data kinds & types between other OO code objects) in turn also enable the integration into the EOE of (artificially, AI) Intelligent Tutoring Systems (ITS).

ITS is now a more robust area of research in graduate and post-doctorate level computer science. However to-date most ITS applications are subject-domain specific and do not "generalize" well to cover disparate, unanticipated, or similar subject areas that might have, say, similar content or pedagogy. AI and ITS now can be used to offer a small range of both generalized and learning-domain specific AI-assisted human and computer-generated tutorial assistance, where one-set-of-ITS-generated/selected-static-course-content serves all students of the given course or lesson.
ITS can do so now (I assume) with some declining but still large time-delay in the request-response cycle, where that delay is dependent on the complexity of the AI-analysis of the learning situation (or it is dependent upon the time required to search through a database of pre-analyses) and it is dependent upon the serving computer's power, usually a single server. ITS will evolve to provide it's services Just-In-Time (JIT) where the request for individualized content (or for live) instruction deliver and it's appearance at the student's client computer lag time approaches 10 to 5 seconds, a time-frame which most users perceive to be a "real-time" response. It will do so with an expanding range of individualized course and lesson materials (and also with the evolving better parameters and attributes determined within the EOE with which to generate such materials) to better serve the learning desires of students of all ages of an expanding range of courses and lessons delivered world-wide by the EOE-integrated system of distance learning and ITS applications.
To enable the development and delivery of categorical and individualized instruction, a kind of META-CONTENT or "cognitive content" markup language needs to be defined for both domain-specific courses and lessons within course as well as for generalizations of various the learning-process and goals involved in a range of learning styles and preferences for students of a wide-range of ages and learning experiences!

Anticipated Evolution of the EOE Project: The AI + ITS + DL environment created by the EOE is intended to evolve as code as open source JAVA, SOAP, JINI, and JavaScript code, primarily. The evolving EOE design and code-base is to continue to be a publicly published, open design that accepts world-wide contributions. Likewise, the EOE requirements and specifications documentation and the graphic UML designs are all to be stored here. This investigator hopes the EOE design documentation-base and the EOE code-base (to come soon) will (1) inspire educational end-users to contribute their ideas and suggestions to the goals and EOE design, as they are able, and will (2) inspire a growing number of object-oriented system designers and programmers to undertake further refinement of design-parts of the EOE such that they may be coded and tested both as code-units (single code modules) and as increasingly larger functional sub-sets of the EOE-system.

Some Design Details: The EOE design is, in part, to eventually include the computer-assisted educational ideals of: (1) enabling EOE-system-wide ways and means for dynamic assessment of small-group (averaged) learning preferences as well as of individual student's learning styles and preferences, all data to be kept in a database TBD. (2) Enabling EOE-system-wide ways and means for the automated selection and eventual dynamic generation of individualized-personalized instructional materials as determined. This investigator imagines that at first such alternative materials will be recommended to course and lesson-content authors of alternative content for chosen "small-groups" in a given class. Selection would be based on evolving student cognitive demographic groups to be determined. Later selection of alternative materials as well as the dynamic generation of alternative materials (JIT) are to happen via the EOE as "the EOE=ITS(es) system" selects the best suited, best tailored materials for individual students, according to their individual learning styles and preferences. Again, this selection and/or generation will be based on students' past to most-recent learning experiences.

Thus from initial R1 (release 1) roll-out of the EOE (or some part of it), the EOE will provide (3) the added-educational-value features of allowing a student to make dynamic just-in-time (JIT, such as 5-10 seconds for response-sent, requested-content-received) connections, or just in a reasonable time (JIRT, such as 1-2 minutes). The EOE and it's integrated DL and ITS apps will do then provide appropriate lesson-in-progress tutoring by connecting the student with (a) appropriate, vetted, well-supervised on-line human tutor, and/or with (b)the appropriate ITS applications for the subject-matter, student's learning style, and preferences vis-a-vie the subject matter -- and the student's history with such material. Human tutors will be previously well-vetted "by a part of the EOE system" to be developed in a Second Phase to be defined "soon". Tutor vetting, a kind of expanded, more security-rich "social networking", will insure tutors' subject-matter expertise and pedagogical qualifications and experience, their character, and of course track their availability dynamically. Vetted tutors will also be monitored in their tutorial efforts by participating within the EOE-system. They will be monitored to determine their consistent or varying on-going quality of their class and tutorial instructions, to insure they are maintaining their qualifications and character appropriate for interaction with students of various ages, as well as to insure that subject material they presented (in a particular language) to students (of a given culture or sub-culture) is appropriate for their individual cognitive backgrounds, abilities, and learning experiences.

TOO BIG AN IDEA? OH YES!!! But so what? And why not? This kind of global, or globalizable, learning system WILL EVOLVE sooner or later within the commercial computer software industry, within the larger (F500, F1000) companies, and between systems developers and the larger educational institutions that can fund “consortium” software design and construction projects that would lead into the EOE! These learning systems of the historically “big players” will evolve with or without the help of commercial software manufacturers and vendors of distance learning applications!

But open source design and development of such a large system as the EOE could become has the potential to eclipse such “big player” big-projects. In this investigator's opinion, there is no time like the present to start thinking about an EOE, the goals and objectives outlined above – and your suggested revisions of them -- and start thinking about the documentation (to be) on-file here. So PLEASE share your thoughts, ideas, and any design-contributions to the achievement of these ambitious goals and objectives here that could benefit students of all-ages world-wide! :-)

Jennifer Woodward www.weblearningtools.org and www.earthlink.net/~weblearningtools/ San Francisco, CA USA MA Instructional Technology BS/CS, BS/Applied Math, BA/Psych Programmer/Analyst since 1964 EOE Architect since 1998


ai-assisted-human-tutoring distance distance-learning educational educational-operating-environment environment eoe intelligent-tutoring-systems learning on-line-learning online-learning operating operating-environment remote remote-learning

In a Nutshell, ed-oe...

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

GNU General Public License v3.0 or later

Commercial Use



Place Warranty

Use Patent Claims



Hold Liable


Distribute Original

Disclose Source

Include Copyright

State Changes

Include License

Include Install Instructions

These details are provided for information only. No information here is legal advice and should not be used as such.

This Project has No vulnerabilities Reported Against it

Did You Know...

  • ...
    in 2016, 47% of companies did not have formal process in place to track OS code
  • ...
    you can embed statistics from Open Hub on your site
  • ...
    nearly 1 in 3 companies have no process for identifying, tracking, or remediating known open source vulnerabilities
  • ...
    learn about Open Hub updates and features on the Open Hub blog

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

Community Rating

Be the first to rate this project
Click to add your rating
Review this Project!
Sample ohloh analysis