Project ideas
Here are some ideas for Wanmen students projects. Note that these themes are just to get you started. We welcome submissions beyond these initial ideas. Get in touch with us! gsoc@wanmen.org 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.