We learn best by doing, so I give my students as many hands-on exercises as possible. Just as we want our students to learn to pick up new technologies and programming languages, I am always finding or new tools to help directly engage students with the material. The best part about being a computer science professor is having the ability to create my own teaching tools to maximize the utility of classroom time.