It's been almost two months, but finally I am writing again to share with you our ROS/robotics education project.
For those of you who don't remember, my name is Mariana and I am working with Tully Foote and OSRF to help facilitate teaching robotics courses using the TurtleBot. We are using a Git web repository to create an online database for robotics courses. The idea is to have a website where educators can collaboratively design these courses. In turn, users can search for course material based on keywords relevant to the robotics material they are looking to teach or learn. (I have included a more detailed description of the site further on in the email.)
I am writing to you just as we are finishing up our first prototype of the site (https://tfoote.github.io/
Before we continue with this project, we feel it is important to first
gather feedback from you and others in the world of robotics education.
The main questions we want to ask are:
- Is this something you would be interested in?
- What features/services would you like to see in something like this?
- How do you think you or others would use this site? Would you want to use the site during a learning activity or just pull material from it?
- Is this something you'd be interested in as a resource for your students? If so, how would you want your students to interact with a site like this? (A tool to enable more interactive learning? Supplementary or extra material to give to students?)
- Do you have any experience with something similar to this that might be useful for us to know about?
- Any other comments/suggestions?
In addition we are also trying to figure out a good way to give users an incentive to collaborate on these courses. So far, we have thought of introducing an edge of competition, (perhaps using sponsors for prizes), publicity, making it a game, and giving contributors recognition. What would motivate you to contribute to something like this? If you have any input, please let us know!
If you aren't already a part of the ROS Education special interest group, here's the link: http://wiki.ros.org/groovy/
****MORE DETAILED DESCRIPTION DESCRIPTION OF SITE HERE****
So far in our project we've set up the Git online web repository and uploaded some example content (TurtleBot intro tutorials and other example material). The content of the repository is organized in a hierarchy that resembles a course syllabus. Namely, there are courses which consist of units which in turn can have topics (lessons, tutorials, or challenges).
Each of these elements contains a header which has the title, the type (course, unit, lesson, tutorial, or challenge), and abstract, tags (used for searching), skills, prerequisites, and for units and courses, sub-content. These headers are useful when searching for content as well as for referencing and organizing material. That way, all topics belong to a unit and all units belong to a course. In addition, in order to minimize redundancy, topics and units can be cross-referenced across units and courses respectively.
Here's a more detailed description of what we envisioned all these elements to be:
Course: This is basically a syllabus and contains the units that will be covered in the course. Metadata in the header for the course includes: title, abstract, tags , prerequisites (by course or by topic), skills, requirements, and version/compatibility tags. Courses can also contain material (for example, an introduction to the material covered in the course... etc).
Unit: These are the various topics covered in the course. We thought of the units as individual folders that contain all the material; any lesson, tutorial or challenge will belong to at least one unit. Units can also contain material (for example, an introduction to the material covered in the unit... etc).
Lesson: Lessons will be where the educators present all the information and building blocks they are giving to the students - in slides, videos, notes, diagrams… etc. A topic can have multiple lessons, maybe to give students stopping points to apply the information they are receiving. (*note* - as of now, any external documents such as powerpoints will need to be attached as a link).
Tutorial: This is where students can be walked-through an application of what they are learning. If it’s a new programming concept for instance, it can be a series of questions that gets the student to walk through an example of the material. (The idea here is really similar to what we think of online tutorials - these are step by step instructions and examples).
Challenge: This is the fun part. Here is where educators can post material that get the student to apply and expand on the concepts covered. Here is where you would find homework problems, problem sets, projects, open ended questions… etc. We were thinking of labelling challenges as either “recommended” or “extended.”
The idea is that with this hierarchy, it will be relatively easy to upload material and search through it. All elements (courses, units, lessons, tutorials, and challenges) will be indexed and will reference the material they belong with. In addition, units and the elements they contain can also be cross-referenced if material is applicable to more than one course and/or unit.
Here are some features that we currently have for the site:
Ability to embed youtube videos and code blocks
- In the future, we are thinking to embed a simulator using gazebo to make the site more interactive for students. (thoughts???)
- Anything else???
Right now, the way to contribute to the site is by following the standard protocol of using git. One would clone the repository, add or modify any material in its appropriate folder (following a template), and push it back. The language used is markdown.