Here is an innovative way of teaching Computer Science. From Mark Guzdial’s blog:
Our goal is to teach computer science — using robotics and cognitive science as inspiration, but also drawing on computational science and other domains. We’re using robots as a strategy for learning and teaching — a place to draw interesting examples and a way to make the computing concrete and tangible.
Links: Robot Education