#Timeline for GSoC 2014
14 feb: Mentoring organization application deadline
24 feb: List of accepted mentoring organizations published on the Google Summer of Code 2014 site
10-21 mar: Student application period
7 mar: Mentoring organizations should have requested slots via their profile in Melange by this point
9 mar: Slot allocations published to mentoring organizations
15 apr: First round of de-duplication checks happens; organizations work together to try to resolve as many duplicates as possible
21 apr: Accepted student proposals announced on the Google Summer of Code 2014 site. Community Bonding Period
19 may: Students begin coding for their Google Summer of Code projects
23-27 jun: Mid-term evaluations
11 aug: Suggested ‘pencils down’ date. Take a week to scrub code, write tests, improve documentation, etc
18 aug: Firm ‘pencils down’ date
18-22 aug: Final evaluation
25 aug: Final results of Google Summer of Code 2014 announced
#Project ideas
Here are some ideas for 2014 Google Summer of Code student projects. Note that these themes are just to get you started. We welcome submissions beyond these initial ideas. Get in touch with us! [email protected] or #wanmen on freenode.
##1.A collaborative video annotation system
Collaborative teaching can be very helpful for self-learners. Video annotating can be one efficient approach. When a user watches a video, it is very useful to see other people’s comments at a specific timing including lecture slides, external web links, etc.
Wanmen has built a basic video playlist project (sea.wanmen.org). We would like to further explore the collaborative components of self learning as well as social/collaborative learning. A lot more interesting collaborative learning ideas can be added to the system and make it shine.
Tasks: Design and implement a collaborative video annotation system that allows users to create and display multimedia annotations at specific seconds. It will be even better if users can rate other's comment, and administrators can pick up those really useful comment and give them a fixed place to show in the video.
Language: Ruby/Python, HTML5, JavaScript, Bootstrap, Backbone/Angular,etc.
Difficulty: Easy - Intermediate
##2. Knowledge Tree and Knowledge Curation System
Learning is trackable. There are paths for learning a certain subject. For instance, if you are planning to learn Quantum Physics, you’ve got to learn the basic physics principles and mathematic to get into the the field. There is no shortcut. However, the information on the web is unorganised. We need a knowledge curation system to keep track of the steps. In that sense, learners need a systematic way to help track their learning paths to master a certain subject. Wanmen’s content management system(beta.wanmen.org) makes a fair assumption that learners will need to learn certain books and watch certain videos before moving to the next step.
Tasks: Design and implement a knowledge tree system that allows users to get track of their learning paths.
Language: Ruby, HTML5, Javascript, Bootstrap, jQuery.
Difficulty: Intermediate
##3. Online Quiz System and User Rewarding System
One of the most efficient ways to check the learning process is to take a quiz or exam. It is desirable to create an online quiz system that helps teacher examine the students and students to get learning feedbacks. University online quizzes include various forms of contents. Multiple choices, text field answer and coding exercises are typical quiz types. In this project, students are required to implement an online quiz system that rewards users and motivate the users to learn more.
Tasks: Design and implement an online quiz system that rewards users and motivate the learning process. Feature abstractions and machine learning might also be involved.
Difficulty: Intermediate
##4. Online Mind Mapping Tool
Mind mapping plays an important role in teaching and discussing now, as a online teaching project, Wanmen needs mind mapping too. This idea aims at providing a easy-to-use online tool for teachers and students who need mind mapping to clarify their thought. In this project, students need to build a front-end application by using HTML5, CSS and JavaScript, and meet the following requirements:
(1) User can add central topic and add several subtopic associated with central topic, and add sub-subtopic for subtopic (2) There need to be a link between topics, is should be auto-arranged (3) Support callout(comment on a topic) (4) User can add lines to related topics, all lines should be arranged well to keep the graph clear (5) It's possible to serialize the mind mapping to a JSON data pack, and keep it exactly the same when loaded the next time
Difficulty: Difficult
Other project ideas: Consistent user authentication system for independent projects. Distributed system networks for media content hosting as well as server connection optimization.