Having gone through the unavoidable initial growth spurt with my blogging, i.e., my first five posts, I am finding myself “too busy” and so, in order to stave off the premature death of this enterprise, I have decided to post every weekend. Let’s see how this goes…

Today, I want to write about UCOSP (http://ucosp.ca/) the ”Undergraduate Capstone Open Source Projects” distributed software-engineering course. UCOSP was the brainchild of Greg Wilson, who is also leading the Software Carpentry project and has written and edited several books on programming. Greg has a deep appreciation, and an excellent taste, for  programming and having witnessed too much ugliness in the world of software, he felt like he had to do something, and he came up with the idea of actually teaching software engineering as it is usually encountered in the real world: with projects that have been going on for a  long time before most individual programmers joined them, with distributed teams, consisting of individuals with different skill sets and backgrounds. Writing about it now that the effort has been going on for some time, the whole things seems quite logical an straightforward. In fact, courses like these are starting to appear elsewhere, like the DOSE project led by Bertrand Meyer in Europe.

Quoting from the old UCOSP web site:

“Software development is no longer bound by time zones or national borders. Projects of all kinds,  `academic’, `commercial’, and `open source’,  may have their GUI designers in Boston, their database team in Bangalore, and their testers in Budapest and Buenos Aires. Working effectively in such teams is challenging: it requires strong communication skills, and makes proper use of coordination tools such as version control and ticketing systems more important than ever. But it is also an opportunity for students to build ties with peers across the country and around the world, and for instructors to breathe new life into old courses.

Since September 2008, undergraduates from several universities in Canada and the US have been taking part in joint capstone projects in order to learn first-hand what distributed development is like. Each team has students from two or three schools, and uses a mix of agile and open source processes under the supervision of a faculty or industry lead. “

I have been involved with UCOSP since January 2009, when two UoA undergraduates took part in one of the projects. Their experience was extremely positive:

  1. They were excited to work on a big project and have their work shared by the overall community around their open-source project; it seemed like they had an impact on something bigger than a school project!
  2. They had fun during the code-sprint, their weekend jaunt to Toronto where they met their team-mates and team mentor and ironed out the requirements and coded throughout their two days there, with breaks for chinese food as a team.
  3. They appreciated the opportunity to meet with academics and industrial people who could be contacts for their upcoming job search!
  4. The enjoyed working with students from other schools and comparing notes.

I knew UCOSP was a good idea but talking with these first students completely persuaded me that it was worth being involved and doing the extra work involved to make this happen. And trust me there is work involved. The majority of the work was of course on Greg’s shoulders. He did all the administrative work around the  course, i.e., (a) contacting universities to recruit students and instructors, (b) organizing the “code sprint”, the weekend-long intensive programming meeting at the UoT of all students and clients, (c) fielding general questions of students and instructors and (d) making sure that paperwork gets done on time (around the code-sprint trip and grade submission). I was responsible for recruiting students, help with the recruitment of instructors, and lead teams on my own projects. And the fun of meeting new students and working through the initial awkwardness of getting to know everyone and figuring out the requirements and making it to the end has been very rewarding!

Greg Wilson just moved away from UoT this past year, and the program has now been adopted by the Canadian CS chairs and is run by a steering committee (Karen Reid and Michelle Craig at UoT and myself) and a part-time person for the daily administration tasks. UCOSP is a great experience for our students who are learning a lot working in real projects with colleagues across North America (we have a US University participating also). This coming winter will be the first time that the sprint will take place in two places (Toronto or Waterloo and Edmonton) and I am very excited to hosting this group of smart young people in my own turf this coming January!

If you are interested in participating, do so! Recruit students from your schools and tell us about them! Make up your own projects to lead and be a mentor for a team!

And if you have any questions, we will all be happy to answer them!

Share
 

One Response to UCOSP

  1. [...] This post was mentioned on Twitter by Greg Wilson, eleni stroulia. eleni stroulia said: My blog on #UCOSP http://bit.ly/bNBM3c a distributed soft-end course; we R recruiting students+team leads! email http://ucosp.ca/contact-us/ [...]

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>