I spent last week in Portland OR for SIGCSE. As usual it was a great conference and I was able to visit with a lot of old friends and meet some new ones. I was also able to attend some of the sessions though not as many as I would have liked. Too many good sessions at the same time and too much work to do at the booth. But I got some interesting new ideas from sessions and talks with others. One of them came from Eric Roberts (Computer Science professor at Stanford).
Marissa Mayer of Google gave one of the keynotes at SIGCSE and one of the things she talked about was 20% time for Google employees. The idea behind 20% time is that employees are encouraged (some say required) to spend 20% of their work time working on projects that are interesting to them and apart from their official job requirements. Employees are, we are told, passionate and particularly productive while working on these projects of their own choosing. These comments sparked an interesting idea for Eric Roberts.
During a session called "Rediscovering the Passion, Beauty, Joy, and Awe: Making Computing Fun Again" Professor Roberts suggested that perhaps we need to find a way for students to have some version of "20% time" to work on their own projects. He didn't really elaborate on what form that 20% time might take but did suggest that perhaps as instructors we are not always the best ones to select projects that interest students.
Others in the panel suggested that students be given more options for projects in courses. That's a good idea as well but I have to say that I like the idea of projects that are completely independent of course assignments.
The first computer science course I took was in a fall semester. I had set up my course schedule for the spring long before I knew I was going to like this computer programming stuff. So I had to go a while without taking my next course. I still had access to the computer in the computer center (remember the days when a university would have one computer center with one computer?) and so I started a number of projects on my own. I had a blast. I may have made a bit of a pest with the lab assistants as I worked overtime to learn things on my own and outside of class. But learn I did. And best of all I had a lot of fun. More than anything else that semester working on projects of my own devising convinced me that I wanted to go into the field of computing.
One can't really force students to do work outside of class of course. I think one can encourage them to do so though. I believe that students who find projects that interest them; that related to things that mean things to them; that help support them in learning new things and traveling in new directions can really help maintain and even build enthusiasm. Getting students to work on a 20% time project might just help with computer science retention.
I don't know if that 20% of time that would be based on a specific course or some percentage of their average school day/week/month/semester or something else altogether. Maybe it is not 20%. But I think that a lot of students would benefit from some independent projects of their own choosing. What do you think?