Open Source Assignments for Non-Programming Classes


I’ve been flirting with the idea of asking students in my Educational Game Design module to make their projects “open source”.

I am  wary of the way non-computer scientists use the term “open source”. I often hear people mistakenly refer to free software as “open source”, when its code is not at all open source. I have also heard people in open education talk about how we can learn from open source, but I always felt cautious about this because the contexts are usually different.

The idea of open source hardware was something I discovered by coincidence while peer reviewing a conference proposal. How can you have open source hardware? So I Googled it, and apparently, you can. It means that the process of creating the hardware is made available to others; more formally:

Open source hardware is hardware whose design is made publicly available so that anyone can study, modify, distribute, make, and sell the design or hardware based on that design. The hardware’s source, the design from which it is made, is available in the preferred format for making modifications to it. Ideally, open source hardware uses readily-available components and materials, standard processes, open infrastructure, unrestricted content, and open-source design tools to maximize the ability of individuals to make and use hardware

Soon after this, I was in conversation with the folks working on Game Changers at Coventry University, UK, and they mentioned that they plan to ask students they are working with to make their games open source. As in, anyone reading about the game could easily reproduce it. This got me really excited – it would make it easier for my own students to be inspired by what others had done, to feel comfortable hacking it (something we already try to do as a step before designing something from scratch), and would give them insight into how others are creating theirs. Then I thought that it might also be a good idea for my own students to present their games in an open source manner.

Now, my students don’t produce hardware, really, they produce (non-computer-based) educational games. They already use readily-available material to produce them because part of the assignment is to use repurposed/reused/recycled materials. They already make a lot of their thinking process behind the games public on their blogs. They already submit to me (and on their blog) a “making of” artefact. They are already quite some way into making their game open source – except that they do not explicitly make the details of making their game (in a way reproducible by others) explicit.


Aside from making it easier for me to assess and reuse student games as examples for future semesters, I think this process could be pedagogically beneficial as students learn to make explicit their design process and highlight the most important aspects, the essence, of their game. It may help them focus and reflect. It may help them improve the clarity of their game instructions. I hope it helps them self-reflect in general. I really don’t know if it will.

It should also make it easier for others to give them feedback on their games. I usually ask other educators or game designers to give them feedback on the early ideas they have for their games.


I am concerned about ethics and what this means in terms of student labor; I would want my students to retain attribution rights, and I feel I should give them choices over whether they would like to allow for commercial reuse or not. Even though it is unlikely my students’ games will someday make them rich, I still think it is worth discussing how they would feel if someone took their idea and commercialized it without their consent or without attribution. It is also an interesting point to discuss what is truly an original idea that deserves protecting or whether knowledge is more fluid than patents and copyright would have us believe. I actually don’t have answers and would be curious how undergraduate students would think and feel. I wonder if this would be a rich, fruitful discussion, or if it might dampen their creativity?

On the other hand, I think there is a lot of value beyond the class for making games open source. It could allow for other educators to modify the game idea slightly and apply it to a new context. To be honest, much of my teaching ideas are exactly that: a modification of other people’s ideas. If others never shared (online or in person), I would be stuck in my own head, which is a huge limitation. And aren’t students’ own designs inspired by others? My colleagues Magda Mostafa (who teaches Architectural Engineering) teaches students to differentiate between plagiarism and being inspired by another. That’s another discussion worth having.

The process of writing this has made me realize that introducing the idea of open source projects opens the floor for discussing openness (and whether it is necessarily always good), and nuances of copyright vs plagiarism (usually confusing for Egyptian students).  And no, these things are not in the course learning outcomes because it is a course on creativity. But it occurs to me that doing creative work would benefit from such discussions. As a computer science undergrad, I was never assigned open source coding to do or work with. I wonder now why not? Why did we never even discuss it? Especially since such code always existed…and…I am pretty sure our professors knew we showed each other our code as we helped each other through assignments. Why not?

Would you consider creating open source projects/assignments? Tell us in the comments

Flickr Photo by ma_bali (author) shared under CC-BY license

Return to Top