This Article 
 Bibliographic References 
 Add to: 
Stimulating Creativity through Opportunistic Software Development
November/December 2008 (vol. 25 no. 6)
pp. 64-70
Željko Obrenovic, Technical University, Eindhoven
Dragan Gaševic, Athabasca University
Anton Eliëns, Vrije Universiteit, Amsterdam
Using opportunistic software development principles in computer engineering education encourages students to be creative and to develop solutions that cross the boundaries of diverse technologies. A framework for opportunistic software development education helps to create a space in which students can combine systems that were never meant to work together or even to be reused, and thus produce innovative ideas and solutions. A case study involving students in a course on intelligent human-computer interaction design demonstrates the approach, and the authors discuss some lessons learned.

1. C. Ncube, P. Oberndorf, and A.W. Kark, "Opportunistic Software System Development: Making Systems from What's Available," IEEE Software, vol. 25, no. 6, 2008, pp. 38–41.
2. F. Martin, "Toy Projects Considered Harmful," Comm. ACM, vol. 49, no. 7, 2006, pp. 113–116.
3. F.P. Brooks Jr.,The Mythical Man-Month: Essays on Software Engineering, 20th anniversary ed., Addison-Wesley, 1995.
4. Z. Obrenović and D. Gašević, "Open Source Software: All You Do Is Put It Together," IEEE Software, vol. 24, no. 5, 2007, pp. 86–95.
5. M. Resnick et al., "Design Principles for Tools to Support Creative Thinking," Proc. Workshop Creativity Support Tools, 2005; .
6. B. Shneiderman, "Creativity Support Tools: Accelerating Discovery and Innovation," Comm. ACM, vol. 50, no. 12, 2007, pp. 20–32.
7. B. Shneiderman, "Creating Creativity: User Interfaces for Supporting Innovation," ACM Trans. Computer-Human Interaction, vol. 7, no. 1, 2000, pp. 114–138.
8. G. Conti, "Hacking and Innovation: Introduction," Comm. ACM, vol. 49, no. 6, 2006, pp. 32–36.
1. F. Martin, "Toy Projects Considered Harmful," Comm. ACM, vol. 49, no. 7, 2006, pp. 113–116.
2. C.-H. Tan and H.-H. Teo, "Training Future Software Developers to Acquire Agile Development Skills," Comm. ACM, vol. 50, no. 12, 2007, pp. 97–98.
3. K. Claypool and M. Claypool, "Teaching Software Engineering through Game Design," Proc. 10th Ann. SIGCSEConf. Innovation and Technology in Computer Science Education (ITiCSE 05), ACM Press, 2005, pp. 123–127.
4. I. Parberry, M.B. Kazemzadeh, and T. Roden, "The Art and Science of Game Programming," Proc. 37th SIGCSE Technical Symp. Computer Science Education (SIGCSE 06), ACM Press, 2006, pp. 510–514.
5. M.-H. Tsai, C. Huang, and J. Zeng, "Game Programming Courses for Nonprogrammers," Proc. 2006 Int'l Conf. Game Research and Development, ACM Press, 2006, pp. 219–223.

Index Terms:
opportunistic software development, software engineering education, creativity support
Željko Obrenovic, Dragan Gaševic, Anton Eliëns, "Stimulating Creativity through Opportunistic Software Development," IEEE Software, vol. 25, no. 6, pp. 64-70, Nov.-Dec. 2008, doi:10.1109/MS.2008.162
Usage of this product signifies your acceptance of the Terms of Use.