All technology courses should be taught hands on. Only when you work on a real problem and make your hands dirty you will really learn. But this everyone knows and most trainers will tell you this upfront. What I am going to suggest is one more level of commitment to both teaching and learning, and that is the ability to work on a real world project.
You might be asking yourself whether it is possible to find that many real world projects for all the trainings that is happening around. You guessed it right and the answer is that you won't find as many as required. So what can we do? The answer is simple. You just create one real world open source project and work on it.
Next question would be whether we need to create an open source project for every batch of the training. If I say yes, you will say that it is not practical. I agree with you. Instead we can create a project pool. Once the training is done, students can work on these open source projects for some more time on their own under the guidance of the instructor.
Finally, I would like to add one more thing. Even though these projects are real it may not be always using the best technology available in the market. Technologies may be selected based on our course and learning needs. Even we might do some extra work than normal projects for the purpose of learning. So I would like to call these projects as Open Source Project for Education (OSPE) and the pool as OSPE pool.
Another advantage of working on an open source project is that students' work is publicly available and can be showcases to intervievers or other freelance job providers.
If you have any suggestions over this idea or have an OSPE project you want to share with the world, please comment on this page with relevant info.