Hello all,
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/design/).
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!
I realize that for those in the USA, it's a
holiday today (happy 4th of July!). But if at some point in the next
week or so you find time to give us some feedback, that would be greatly
appreciated! We can only really move forward with this project if we
know what the community is looking for :)
If you aren't already a part of the ROS Education special interest group, here's the link: http://wiki.ros.org/groovy/Planning/education - if you scroll down, you'll find the link to the google group (https://groups.google.com/group/ros-sig-education).
Also, if you know someone not in this thread who would be interested in
this project, please feel free to forward this email to them!
Best,
Mariana Liebman-Pelaez
****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???
Contributing:
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.