On computer science education
| educationIn response to Neil Santos’ rant about computer science education:
What a pity it is that you’ve never had a good teacher. A good teacher can help you grow immensely. I’ve had great teachers, and they really changed my life. Let me share with you some things I’ve learned from them and why I’m crazy about computer science.
When you meet a lot of brilliant people, you’ll quickly realize that technical skills do not guarantee people skills and vice versa. One of the best ways to meet brilliant people is through open source. Look at Richard Stallman: undoubtedly a genius, but his personality rubs a lot of people the wrong way. (He’s really cool, though.) On the other hand, there are people who combine both technical know-how with passion and great communication skills; these are the teachers who can change your life.
I owe so much to the teachers I’ve learned from inside and outside the classroom. The best teachers I’ve had taught me that I’m not limited to the classroom. They helped me gain the confidence to try things on my own. They showed me things I didn’t know about and might not have discovered on my own. They questioned my assumptions and challenged me to do better. I remember when I was in first year college and I was slacking off in subjects like English; it was my computer science
teacher who told me that I should pay attention to details!
My teachers really helped me deal with my insecurities about our curriculum. I always kept my eye on schools abroad, and because I was already working on open source in college, I could see how people my age were doing really fantastic things like maintaining the Linux kernel or writing their own operating systems. My teachers helped me take advanced classes and get into extracurricular projects and
competitions. When I started working on things on my own, they gave me encouragement and great recommendations.
I’ve heard many, many stories about teachers who aren’t as good as the ones I had, though. Most teachers don’t seem to care about their students or their subjects. I want to help change that.
Computer science changes every day. The accelerating pace may make you think that it’s impossible to keep up. The truth is, as things get faster and faster, a strong foundation becomes more and more important.
That’s what I’d like to think I teach. I do not teach how to program in Java or C++ or Perl. I teach people how to _think_, how to break a problem down into solvable parts, how to learn more and more and more. My job is not to pour information into passive students, but rather I am here to show them the basics and then challenge them, make them hungry for more, guide them through questions and hints. I don’t know everything, but I love sharing whatever I know, and I love learning new things from students and the world.
I messed up a lot as a beginning teacher, too. There were days when the explanations I prepared the night before didn’t work and everyone was just confused. There were days when I’d just get so frustrated with my inability to express something or to convince people that copying isn’t going to teach them as much as actually sticking it out and solving the problem. But still, there were days when I’d see students get that Aha! moment, and that made things worthwhile.
I enjoy computer science so much that I cannot think of _not_ teaching it. I want to get other people hooked. I want people to fall in love with learning and problem-solving. I want people to discover that they too are capable of mental wizardry; that they too can make the computer dance to their tune. I want to be a fantastic teacher. In order to do that, I’m working on not only getting the theoretical and practical background to share with my students, but also learning how to teach and teach well.
Let me tell you that computer science education doesn’t have to be like what you’re suffering. I know it can be good, and I want to make it even better.
What does this mean for you, now, while you’re taking up your degree at Adamson University?
Well, if you can’t do anything about your teachers right now, you have many ways of coping. Open source gives you an opportunity to test your knowledge and make a difference world-wide. Even as a student, you can work on really cool things! Come hang out with us, too. We can challenge you. We can help you stay enthusiastic and passionate about computers. When are you usually free?