I took a subject that teaches Object Oriented programming using C++ and added open source concept to it.
By changing the subject to an open source format;
- Students Understood the material better and could get help much easier by having the concept of collaboration as one of the bases of their work.
- I covered the material much faster but also did it more effectively so I actually had a week of extra time to review and re-touch the complex aspects of C++ language and OOP.
- Students not only learnt what they were supposed to, with respect to object orientation and complex programming, but also learnt how to do this in groups using open source concepts and effectively boost each other's strengths and make up for each other's weaknesses.
- Students became aware of "Open Source" !!!
- Students lost the fear of getting involve in programs with huge source code.
- I am hoping that this will attract the students, to pick our (Seneca) Open Source subjects in future.
- Lots of time will be saved in open source subjects in future, by skipping lectures about IRC, wiki, code repositories, and other open source collaborative tools.
I only had one problem; I did not have enough time to make the students comfortable with the "unusualness" of open source and just as they became used to the idea, the semester was over.
By "unusualness" of open source, I mean to reward sharing instead of penalizing it, to learn to work in a community rather than behind closed doors and to gain by giving.
To overcome the lack of time, this semester, I started the open concept from the very first day; I started the use of wiki, blogging, IRC, and code repositories from day one.
I am hoping that by doing this, by the time we get to complex coding, (in mid semester) the students can think about how to code rather than how to commit the code to svn!
This, (introduction to open source) I hope, will pave the way for the student to participate more easily in real open source subjects and communities in Seneca like Openoffce.org, Mozilla, Fedora, etc...