GSoC SELF Ideas

From Free Knowledge Institute

Jump to: navigation, search

This is a list of ideas that can be turned into project proposals for the Google Summer of Code 2009 programme. If you want to apply as a student to work in SELF, please contact us at self-gsoc@freeknowledge.eu. We have applied as a mentoring organization with GSoC 2009. Our ability to mentor with scholarship depends on GSoC decision. However, if you are a free software hacker and would like to contribute to a cool project, join our mailing list and begin talking to us. You can of course get the code from the CVS.

Read more about the SELF Platform from the project home page. You can have a look at the beta version of the Platform already launched with several courses that are being authored by the community at the beta site. The technology used for the Platform is based on Python, Zope, Plone Archetypes and the knowledge base is based on GNU GNOWSYS. The development is managed from savannah.gnu.org.

You can read more about SELF in the Results page of the project. You might find specially interesting the Platform Definition and the report on a recent version.


Contents

[edit] Content Editor

Support for structured Content Editor (wikimedia or orgmode) with editing of mathematical equations. SELF Platform already has an organizer to do the complex structuring of the documents. Therefore, we need a simpler content editor that can help the authors write in any language, and add complex symbols and mathematical equations. Currently the existing editor supports HTML only. But, we think it is good to store the data in the knowledge base not in any View specific encoding, but a view-independent encoding like orgmode (of emacs, see http://orgmode.org) or like LaTeX, or wikimedia.

The students who intend to take up this task are required to have very good knowledge of CSS, Javascript and Ajax, apart from a sound understanding of web engineering. SELF Platform uses ZPT (Zope Page Templates) as used in Plone, therefore additional knowledge of ZPT will be an added advantage.

[edit] Quality assessment

Quality, Reputation and Popularity assessment mechanisms based on statistical information on the activity of Learning Objects and users. SELF Platform is designed to calculate passive reputation as opposed to active mechanisms based on poll. Full documentation of Quality assessment mechanisms are documented, and can be studied from the SELF Project page. Please speak to the mentors if you have any questions by subscribing to the developers mailing list.

Good knowledge of statistics is essential apart from understanding of the Python programming language.

[edit] Document exchange

Exchange (import/export) of documents in open standard formats: mediawiki, LaTeX, texinfo and DocBook. SELF Platform already supports SCORM 2004 import and export. Though these programs also need some improvement, we also want to extend import and export facility for all structured documents. The structured document encodings (mediawiki, LaTeX, texinfo and DocBook) are either open standards or de-facto standards that most users are using. A lot of free knowledge exists in these formats. Therefore, harvesting these documents automatically into a course structure as per the SCORM standard is what is expected.

A very good understanding of XML, and parsing XML using Python libraries is a prior requirement.

[edit] Question banks

Question banks according to QTI Specification. SELF Platform already has a mechanism to add assessment objects while weaving the course ware. However, we intend to develop this part of the module to support the QTI specification. Description of this task is not well documented. But in case any of the students intend to know what this is about, please ping us in the mailing list.

Skill set required for this is very similar to the item below on LMS. In addition, the person should understand the QTI specification and be able to translate it into the SELF Platform's architecture.

[edit] P2P

P2P network to support Metadata Harvesting Protocol (OAI­MHP) is a means to automatically upgrade the knowledge bases based on server to server (s2s) agent oriented communication. The platform currently has basic XMLRPC based webservices enabled. This project requirement is to develop the web service methods within the Platform required to enable subscription, key validation, and transmission of data across the p2p network. We intend to develop it more or less the same way as DNS communicates and exchanges data between primary and secondary servers.

Basic understanding of HTTP protocols, XMLRPC apart from good working experience of Python programming language is essential.

[edit] SELF LMS

Learner's Centric SELF Platform for delivering courses (LMS). SELF Platform was initially designed to collaboratively collect, write, edit course ware. There are several LMS in free software, Moodle being the most popular. If any student intends to supplement the SELF Platform and create a module that takes care of student registrations, delivery of courses, teachers interface etc, on the similar lines as Moodle, you may consider working on this.

This project requires good understanding of Plone, ZPT (Zope Page Templates), and GnowQL (GNOWSYS Query library). By looking at the skins folder of the existing selfAPP, any one with knowledge on the above mentioned technologies can easily handle this project.

[edit] Be yourSELF!

Do you have any other cool idea and would like to implement it in SELF? Talk to us in the mailing list.

Personal tools