This project is founded by SCOMST (School of Computer Science and Technology) which is part of a not-for-profit organization in a small town called Yavatmal in Maharashtra State, India. The project is currently in the Architecture/Design phase.
Jupiter is called "Brhaspati" (बृहस्पति) in the Sanskrit language and refers to the "Guru" (preceptor) of the Gods. The ultimate aim of Jupiter is to make self-study software for OLPC so intelligent and powerful that, just by knowing age and/or grade level and language of a student, it should be able to teach appropriate subjects and create learning database(s). Based on the learning records, it should be able to find the next level of course(s) for the student. With just the OLPC laptop, any remote student should be able to develop her literacy up to any level. Creating the courses for each level will be a part of this project. Information on this project will be updated on this page periodically.
We need more developers and contributors for this project. We are looking at Squeak Etoys team to help on this project. Hilaire Fernandes from the Squeak team is working on a very similar project isToa and agreed to work with us. 'Keithy' from Squeak agreed to work with us on Architecture and suggested Solution Based Modelling http://jbrugge.com/blog/2007/05/10/ode-to-solution-based-modeling/, http://www.artima.com/weblogs/viewpost.jsp?thread=158300
The current understanding is that we will use Squeak (based on Smalltalk) to develop this project. EToys team of Squeak agreed to help on this project and volunteer. Looking at the TamTam application on OLPC laptop, Python might also be good choice. Hence, Python (plus pyGTK) is being investigated. This is still open and more feedback is solicited from the OLPC technical team.
The first simple application is to provide pictures of the alphabets. The look and feel of the application will look similar to TamTam activity on OLPC laptop. As the user clicks on the picture, it will make sound of the respective alphabet. The same will be done for numbers (0-9). This is called learning phase. Now the application will select random alphabet or number and make a sound and user will need to reconize the related keystroke or click on the correct alphabet or number using mouse. The underlying module will collect these keystrokes or mouse clicks and decide whether the answer was correct or wrong. This result will be stored into database file. Whenever user starts this activity, it will refer to the database file and focus on the wrong results so that user corrects their mistakes and learn it.
The following is the first pass at a high-level Entity-Relationship representation.
- Application, Level, Domain, Topic, Activity, Assignment, Project, Exam, Assessment, Question, Serialization Policy, Application Policy, Level Policy, Domain Policy, Topic Policy etc.
- Application is the top most entity which allows developer to create various learning application e.g. Education curriculum, Musical learning, Cooking etc. This project focuses on Education curriculum although architecture supports to add any type of application.
- This is a grade or level of the education curriculam. It has multiple domains.
- This is a domain of the topic like Language learning, Mathematics, Sociology, Science, Astronomy etc. Domain has multiple topics.
- Topic is a subset of Domain. e.g. Under Language leraning domain, the topics will be English Alphabet learning, English Words learning, Marathi/Hindi alphabet learning, Number learning etc. Each topic has multiple activities.
- Each activity under Topic has multiple assignments, projects and exams.
- Each assignment/Project has an assessment.
- Each exam has an assesment and each exam has multiple questions.
- Each entity has policies (set of rules) defined. Serialization policy is defined between Activity, Assignment/Project, Exam, Questions, Assessment.