Have students create their own free & open-source software as a project to increase motivation and meet learning objectives.

Like 
  • Reasons:
    • Meeting a real need with their software can be a powerful motivator for students.
    • Students learn to collaborate with potential users or clients in the process of completing the project.
    • Needing to distribute software to real clients teaches students current software development tools and techniques.
  • Actions:
    • Assign a project to write and distribute software that can be used by others to perform a task or meet a need.
    • Design the project to be completed in one semester.
    • Publish the deliverables of the project so that users outside of your institution or class can download, use, and modify them.
External Source: 

Allen B. Tucker
From: Panel: Using Open Source Software to Engage Students in Computer Science Education
http://www.researchgate.net/publication/221538187_Using_open_source_soft...

Other Tips By: