Context matters. I am a woodworker. Much of the furniture in my house was built by me, including the three beds that my children sleep in. I have also built tables – lots of tables. I was originally attracted to woodworking because of the desire to create something beautiful and useful, and because I have no other art form that I practice or am good at.
Because of that desire, I have accumulated many tools to help me. One of the “centerpiece tools” is my saw. It is a very good saw, and it is pretty much impossible to build anything without using the saw. Sometimes I use it a little and sometimes a lot.
In order for me to practice my art form of woodworking, I need a saw that works and works well. For the most part, I do not care how it works, I just need to be confident that it works. When the saw is not working correctly, then I cannot practice my art. And, I need to dig a little deeper into how the saw works, and I need to fix it.
I am a woodworker because of the really interesting furniture that I build, like beds and tables. I am not a woodworker because I think my saw is cool.
Similarly, I think that most people enjoy Computer Science because of the interesting things that they can create, not necessarily because they think that programming languages are interesting in and of themselves. In other words, the projects, games, and apps are the “furniture.” The programming languages are the “tools.” A student needs to understand the programming languages, sometimes at a deep level, sometimes not. But, it is the application of the languages that adds context to my courses.
I have the absolute pleasure and privilege of teaching Computer Science students at both the beginning of their undergraduate academic experience and at the end. Currently, I teach mostly ENG100 Gaming for the Greater Good and EECS481 Software Engineering (although I have taught many other courses during my time at U-M).
Context is important in both of these classes. In fact, context is central! In both of these courses, a specific childhood cognitive or physical disability is chosen as the target for the entire semester. Medical professionals, typically from C.S. Mott Children’s Hospital are invited into the course to discuss the disability. Sometimes, if we’re really lucky, a family with personal experience with the disability becomes involved and integral to the class. This happened recently with a wonderful young lady named Grace.
Each student proposes some app or game to help these kids who are differently-abled. Groups are formed around the strongest ideas, and students work to design, build, and test the apps during the semester. If the idea “has wings or wheels” at the end of the semester, then I work with the student groups and the amazing resources at U-M to turn the software idea into an actual commercializable product.
Leading companies like Microsoft, Intel, Apple, and Google often become involved in the class and give us really cool tools to play with – like Kinect sensors, Interactive 3D cameras and Galileo boards, iPad minis, and Google glass. This only adds to the fun (and increases the employability of the students).
And so, I hope to see you in my courses. You will learn how to be a better Computer Scientist. You have the potential to help some really amazing kids with your creative ideas. Let’s build some furniture together.
Because, context matters.