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.
- Creativity support
- Opportunistic software development
- Programming profession
- Software engineering
- Software engineering education