To clarify - I'm not inherently anti-proprietary software - I just think specifically in Africa there is so much more scope when working with open technologies that will scale.
Experiment with the Salman Khan learning style - invert lectures and homework. Eg, have students watch lectures at home (from MIT OCW, Stanford, Berkeley, Khan Academy, etc), and devote class time to implementing, practicing, doing. Get rid of large boring lectures, replace them with more time in guided labs/sessions. Learning programming is all about doing, and the one advantage a University can offer over self-learning is mentoring by professors and a quicker instructional feedback loop. Leverage that.