Creativity and Computer Science

I was reading a blog by a Professor of Computer Science that said that many people don’t see computer science as creative. That took me a bit by surprise as I always thought of computer science and programming as being very creative. But I guess it’s probably true that many people don’t see computer science as creative.

Like Jane, the author of the blog, I suspect that some of that is a failure to teach computer science in a creative way. There are some books that use a sort of program by numbers approach. That is not in and of itself harmful as long as the class, and associated projects, allow for some creativity once the program by numbers exercise lets the student understand the basics. This requires a teacher that encourages creativity of course.

One of the things I think helps is when students are allowed to select their own projects. I know a number of teachers who use end of year projects as evaluation projects. Most of them allow students to select their own projects and even to make up their own. Another option is to allow students to modify and enhance projects for extra credit. There is also a lot of creativity in graphical user interfaces of programs. That’s often a tricky issue as one risks students spending too much time getting creative on the UI and not enough on the assigned parts of the project. But that is something that can be dealt with by properly managing expectations for grading.

For many people creativity and fun go hand in hand. I know that I love being creative when I write code, when I teach a class and when I do all sorts of things. I think it is a great part of computer science. We need to communicate that to students.