Friday, March 23, 2012

Google Summer of Code -- Students get your applications in!

Attention students! We have a project to build a web application that imports slide presentations into Connexions accepted as part of the Connexions Google Summer of Code. The tool will help unlock original material in professors' slides and will make it really easy to provide ancillaries that faculty need in order to adopt and use open textbooks.

Relevant Dates

  • March 26th - Student application period opens.
  • April 6th (12pm) - All applications must be submitted by April 6th. (Not sure which time zone 12pm is in.)
  • April 23rd - Accepted student proposals announced.
  • May 22nd - August 20th: Students coding!

Links

More about the Slide Importer Project

The author's original slides can be in Powerpoint, OpenOffice, or Google Docs-Presentations. The web tool will create a module template with introductory paragraphs, publish the slides to a slide sharing site like slideshare, embed a web playable version of the slides in the module, and create featured links to download the original slides in an editable format. The resulting module might look something like this example published on Connexions. In addition to saving the original slides in the module so that teachers and students can adapt them, deposit the slides in a service like Slideshare or Google Docs Presentation so they can be embedded into the module. The tool could have an optional slot for audio/video to go with the slides. If there is time, test slides within mobile versions, and design ways for authors to specify alternate images for printing. These could be a single slide that represents the whole or a slide-by-slide print out. Finally, use the OERPub publishing API to upload the new module and resources to Connexions and publish the module. Future extensions to the tool could allow authors to use slides as the outline for an entire course or textbook.

Project Mission and Objectives:

  1. Some really valuable, original material is locked in professors' slides. If they were easy to share they would.
  2. Open textbooks need ancillaries. Ancillaries are not well supported with cnx authoring, so this would make it easy to build a module per chapter with the accompanying slides. This in turn will help faculty adopt open resources.

Why you should apply to work on this project!

  • The work is open, so it is very easy to show off to future employers and future partners in an entrepreneurial venture.
  • The team has great mentors -- eager to help, smart, open, global.
  • The work is creative -- your contributions are in your control and your ideas are valued and supported.
  • The work is important -- what we are doing is going to make it much, much easier for people to create, adapt, share, and improve education around the world.
  • The work is interesting -- you will be working on user interface design, web design, using web APIs, and common web tools like Google Docs, Slideshare, etc.
  • The work is flexible -- you work around your schedule and location.
  • The work is impressive -- It shows off a lot of skills and attributes that are not typical in an undergraduate education -- entrepreneurial, creative, experimental, etc.

Implementation Ideas and Resources

An existing general purpose module importer that converts documents to CNXML (the semantic format of Connexions modules) is available as a model for the new slide importer. The code is written in the Pyramid Web Framework in python. It uses a python SWORD library to publish the modules to a service in Connexions. SWORD is based on AtomPub.

Skills

  • Programming skills : Javascript, Python (knowledge of pyramid/ZPT/Chameleon is a plus)
  • Basic knowledge of XML and HTML
  • Usability and visual design skills a plus

Mentors

  • Marvin Reimer, one of the main programmers that built the Connexions Importer and a former Google Summer of Code student is available to mentor for this project.
  • Kathi Fletcher, who is fostering an ecosystem of tools and services around open repositories like Connexions, is also available to mentor and provide user interface design support.