Project management tools

22 views
Skip to first unread message

Dustin Webb

unread,
May 25, 2012, 1:33:39 PM5/25/12
to ros-sig-...@googlegroups.com
It seems to me that a set of tools for automating the distribution, submission, and grading of projects would be very useful. Done correctly these tools would form a framework permitting instructors to easily manage the project process.

Dr. Smart mentioned at one point that he requires his students to submit assignments via SVN. This idea has numerous benefits. It gives the students practical experience using a source control system, it gives students a place to store their code while they're working on it, and it simplifies the submission process. This practice could be simplified with scripts that could initially make repositories for each student in the class, scripts that could add new assignments to each students repository, and scripts that could check out each students code and perform sanity checks (e.g. compile it, check for all required files such as reports, run it through mossnet).

An alternative to this process would be to use a distributed version control system such as git or mercurial. In this case the distribution of assignments is simpler but submission process is arguably more complicated (I don't have a lot of experience with distributed version control systems so I may be wrong on this point). Regardless, I believe the idea holds.

What do you think?

Mac Mason

unread,
May 25, 2012, 2:10:34 PM5/25/12
to ros-sig-...@googlegroups.com
Hello group!

On Fri, May 25, 2012 at 10:33 AM, Dustin Webb <daemo...@gmail.com>
wrote:
> It seems to me that a set of tools for automating the distribution,
> submission, and grading of projects would be very useful. Done
> correctly these tools would form a framework permitting instructors to
> easily manage the project process.

I'd say this a useful idea; I've certainly seen a variety of homegrown
VCS-based submission systems. However, it feels like it's out of scope:
"submission system for software projects" is a pretty big thing. On the
other hand, some documentation describing how an instructor might lean
on (D)VCS to make their (and their students') lives easier certainly
seems like a good idea.

And fairly straightforward, given that ROS packages give us a clean seam
along which to define a project.

--Mac

--
Julian "Mac" Mason      m...@cs.duke.edu      www.cs.duke.edu/~mac

Paul van der Vorst

unread,
May 25, 2012, 2:13:07 PM5/25/12
to ROS Education Special Interest Group
I really like this idea! I agree that these tools will make the ROS
education much more attractive and easier to adopt. However, I'm a bit
concerned about having to create such tools. During our discussion at
ROSCon it became clear that one of the limiting factors is resources;
who will create the tools? If we are going to use third party tools
are there any open source tools that someone is willing to integrate?
If we are going to use a paid service we will need to make a business
plan on how we will get the monetary resources needed. Where will the
tools be hosted?

I think that it is wise to first focus on materials such as bootable
USB of a stable version of ROS, easy to follow sample code, a
curriculum, list of assignments and a (wiki derived) text book before
we start getting into tools that will take a lot of time to create or
implement. That being said, I do not have much experience with these
tools, and maybe my presumption of resources needed to create/
implement these tools is entirely wrong.

I think we should definitely keep this idea handy so that we can
implement it when the primary resources (such as a curriculum) are up
and running.

All rebuttals and comments are welcome.

Joe Tojek

unread,
May 25, 2012, 10:08:52 PM5/25/12
to ros-sig-...@googlegroups.com
I just found this bootable USB key for ROS Electric and Ubuntu 10.4
http://store.iheartengineering.com/TurtleBot-Kit-USB-Install-Disk/dp/B0056QK98Q

I will be building a bootable USB image with Ubuntu 11.10 and doing a manual ROS Fuerte install this weekend to get a handle on what this entails. I need to update my *NIX chops and get past my first ROS install. Cheers!

Joe Tojek

unread,
May 26, 2012, 12:28:06 PM5/26/12
to ros-sig-...@googlegroups.com
I think it is smart to leverage real world development tools in educational settings and learning scenarios, especially in a setting that has technical or code components. To this end, I have explored tools for OSS software development with an eye towards learning uses and have discovered a few favorites.

One that makes alot of sense for me here is located at http://assembla.com

They have developed a hosted community platform for agile OSS development with many powerful components including source code management.

Please take a look when you can and let's discuss. Thanks!

Jonathan Bohren

unread,
May 28, 2012, 3:49:14 PM5/28/12
to ros-sig-...@googlegroups.com
Joe, is there any particular reason you're using 11.10? Also, I've made bootable USB sticks with "usb-creator-gtk" before, and all you need to do is point the gui at an ISO and a drive to make bootable.

Jonathan Bohren

unread,
May 28, 2012, 4:00:01 PM5/28/12
to ros-sig-...@googlegroups.com
On Friday, May 25, 2012 2:10:34 PM UTC-4, Mac Mason wrote:
Hello group!

On Fri, May 25, 2012 at 10:33 AM, Dustin Webb
wrote:
> It seems to me that a set of tools for automating the distribution,
> submission, and grading of projects would be very useful. Done
> correctly these tools would form a framework permitting instructors to
> easily manage the project process.

I'd say this a useful idea; I've certainly seen a variety of homegrown
VCS-based submission systems. However, it feels like it's out of scope:
"submission system for software projects" is a pretty big thing. On the
other hand, some documentation describing how an instructor might lean
on (D)VCS to make their (and their students') lives easier certainly
seems like a good idea.

And fairly straightforward, given that ROS packages give us a clean seam
along which to define a project.

I've gotten to really like distributed version control, and I think students who might be weary of committing incomplete code might take more advantage of something that they can use locally. For submission I don't think we need anything more than that, but I would be interested in talking about tools for grading, or even just good philosophies for grading. That being said, can we talk about grading before talking about the types of projects the students would be doing?

Dustin Webb

unread,
May 30, 2012, 2:12:17 PM5/30/12
to ros-sig-...@googlegroups.com

it feels like it's out of scope:
"submission system for software projects" is a pretty big thing.

I understand your concern but we could start fairly simple. For example if we started by standardizing on SVN then we would need three tools. One tool that would take a list of students and create repositories. A second that takes a list of students and a project and commits that project to each students existing repository. And finally a tool that takes a list of students and a project name then checks out the project for each student and builds it.
 
On the
other hand, some documentation describing how an instructor might lean
on (D)VCS to make their (and their students') lives easier certainly
seems like a good idea.

This is also a good start.

--Dustin Webb

Mac Mason

unread,
May 31, 2012, 1:16:10 PM5/31/12
to ros-sig-...@googlegroups.com
On Wed, May 30, 2012 at 11:12 AM, Dustin Webb <daemo...@gmail.com> wrote:
> I understand your concern but we could start fairly simple. For
> example if we started by standardizing on SVN then we would need three
> tools. One tool that would take a list of students and create
> repositories. A second that takes a list of students and a project and
> commits that project to each students existing repository. And finally
> a tool that takes a list of students and a project name then checks
> out the project for each student and builds it.

I like this construction, but I don't think we actually need to rise to
the level of "tools"; I think some detailed instructions (phrased
something like a case study, maybe) would do the trick. Plus, that's
easier to maintain than software, because it goes on the wiki, and (cf.
Wiki Magic) it maintains itself.

--M

Joe Tojek

unread,
Jun 16, 2012, 10:02:11 AM6/16/12
to ros-sig-...@googlegroups.com
What do you guys think of a cloud tool like GitHub for code management for ROS education users? I think because it can be used on PC's and mobile devices it could be leveraged for programming courses or technology programs. What are your thoughts?

Bill Smart

unread,
Jun 17, 2012, 2:53:50 AM6/17/12
to ros-sig-...@googlegroups.com
This is a great idea, but I want to call it out of scope for the first cut.  I'd feel a lot more comfortable with something very lightweight, like a set of suggestions ("use svn for submissions, and here are the gotchas").  Given our limited time, I think we should be focusing on the more robotic-y stuff rather than the more general class infrastructure stuff, although I'm open to persuasive argument.

-- Bill

Bill Smart

unread,
Jun 17, 2012, 2:56:01 AM6/17/12
to ros-sig-...@googlegroups.com
+1
Reply all
Reply to author
Forward
0 new messages