About the course

This is a student-organized course where students at the University of Waterloo contribute to open-source software.


The main purpose of the course is for students to get involved with an open-source project and make a meaningful contribution during their term. We currently expect students to work on their project for 10-12 weeks, with at least a 10-hour commitment per week. Contributions are very flexible and open-ended — students can write code, work on bug fixes, improve documentation, and participate in mailing lists.


There will be weekly meetings where initial lectures are given by the participating professors. In later lectures, students will give presentations on the projects that they're working on. We'll also be inviting guest speakers from industry and open-source contributors.

See the list of possible lecture topics.

Why do this?

  1. Work on exciting, widely-used projects such as Firefox, Chromium, WebKit, Apache, CPython, WordPress, Khan Academy, LLVM, jQuery, Linux, and more that have real-world impact as part of a standard course in school.
  2. Earn a credit and have course time to work on coding projects of your choice!
  3. Land an internship or full-time offer based on your contributions.
  4. Learn software development practices, tools, and techniques, and have your code reviewed.
  5. Network with other students and develop contacts in industry and the open-source community.
  6. Have a substantial, public, open piece of code that you can show potential employers.
  7. New to OSS? Get started in a guided environment with experienced professor mentors and fellow contributors.
  8. Give back to the community that has made so much of what is modern-day programming possible.
  9. Get involved in the open-source community and learn to collaborate on large projects with remote contributors.
  10. Learn skills relevant to co-op and the software industry.
  11. Students new to OSS can use this as an introduction and a way to get started, and continue contributing after the course is over. This course could create life-long OSS contributors.
  12. Is very relevant to real software engineering.
  13. Students gain experience and put OSS on their resumes.
  14. Upon graduation, uWaterloo students gain another edge over other students in the job market.
  15. Some of the most famous programmers are known because of their OSS contributions.
  16. Gain exposure in the online community and build up a portfolio.
  17. Students who wish to contribute but don't have the time or commitment to do it by themselves can receive guidance, mentorship, a network of peers, and a semi-structured course to assist them.
  18. Soft Eng has a design project where students work collaboratively on a programming project by themselves. CS needs something practical and hands-on like this.
  19. Develop a "hacker" community among programmers at Waterloo, like how VeloCity is Waterloo's entrepreneurial hub. Students meet and interact with other coders.
  20. Waterloo would be better known in the software world.
  21. Waterloo promotes itself as being innovative and risk-taking. This would likely be a unique course for which Waterloo could be a world leader.
  22. A lot of fun!

A bit of history...

This course is proposed and organized by students at the University of Waterloo. Here's the tale of how it came to be:

It was a dark and stormy night (actually, not really... it was a typical sunny afternoon in Mountain View, California). I was eating dinner with friends, when, suddenly, I was overcome with a burning desire to contribute to open-source software. Being an engineering student, I don't usually have much time to work on side projects and find it difficult to stick to them as well. It then occurred to me that contributing to open-source software would be a perfect fit for a Software Engineering course. As soon as I finished dinner, I started writing up a proposal for such a course and posted it up on Facebook. This caught the attention of Waterloo's Soft Eng administrator, who — within 8 hours — gave his informal approval on the associated Facebook group.

The Facebook group, though not extensively promoted, quickly gained recognition and acquired 60 members. We found out about the existing UCOSP, but discovered that it was unable to accommodate all the students who expressed an interest in this course. Thus, throughout the Spring 2011 term, student organizers communicated with professors to make this course into a reality.

We are currently working on developing this website and gearing up for a large pilot in the Fall 2012 term that should accommodate all the interested Soft Eng 2014 students, and possibly smaller pilots before then.