Tuesday, February 9, 2010

OOP344 - Object Oriented Programing Using C++ and an introduction to Open Source

First semester of trying open source on OOP344 is passed with some interesting results;

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.
Future results:
  • 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...


  1. Another great thing about this revised OOP344 is the inclusion of SVN. Getting students acquainted with a version control system earlier in the curriculum is a wonderful thing, and another way that Seneca can set its graduates apart from other institutions.

    1. Great Article Cyber Security Projects projects for cse Networking Security Projects JavaScript Training in Chennai JavaScript Training in Chennai The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training

  2. Ah, hello Fardad

    This is a great improvement to OOP344, and I wish it was like this for me. Although you taught me some really cool tricks for C++ ;)

    I've been taking the OSD600 class and it's some amazing stuff, I'm catching up fast from what I would of missed with you in OOP, and I think I've found a possible career with it. It suits me quite well. I think it's the standards of the code that we're working with that I like. It's no longer our code, we're sharing it, and must be on our best manners ;) This would help a lot of students.

    I've actually been saying to quite a few professors at Seneca, that OSD600, or something like it should be mandatory. I'm glad there is OOP344 for that. I think it's up to the students to request stuff like this too.

    I know a few friends of mine at school that didn't take OSD600, and already regret it, and a few others that won't because of some stigma towards blogging. Do you make 344 students blog too?

    Anyway, keep up the good work and, live long and prosper.

  3. Thanks for sharing your info. I really appreciate your efforts and I will be waiting for your further write ups thanks once again.
    HTML5 Developer| Flash Video Player

  4. very good post, i undoubtedly love this site, go on it python programming blog

  5. my baby enjoys playing on the baby swing, baby swings can really make your baby happy.. python installation

  6. The blog is like an ocean, I wish to drown in.
    Mason Soiza