On Requiring Computer Science Education
If you head into just about any American school, you’ll find most of the same libraries and laboratories, and even across state boundaries course requirements remarkably similar. Most kids have to read novels and discuss battles each year, while natural and physical sciences are balanced by art electives. Look hard enough, and you’ll probably even find a computer lab and a tech savvy student body. There’s no denying that there’s a demand for a computer science education, and the resources are right in front of us. In fact, we’re entering a world where the art and beauty of computer science are not only encouraged, but necessary for a variety of fields. We can prepare our students for their futures by making computer science a required subject in schools; with the right instruction, the field will be beneficial to students of all ages.
However, this adjustment to the school system won’t be easy. Let’s go back to our school for a moment, this time to get a closer look inside some classes. You’ll find some classrooms that are different from the others on campus. These classrooms look the same as the others, and they’re certainly just as functional. You could find all the desks and whiteboards and textbooks you’d need to feel satisfied that there’s even some learning happening in these rooms, on occasion. To some extent, you may even find a couple attentive students in the rooms, and you’d have no trouble finding a dedicated teacher, but don’t be fooled. You’re in a place where most students leave without an understanding of the subject they study, where the students suffer nearly as much as the teacher who can’t ignore the boredom and despair in the room. This is called math class, where an art is turned into a discipline.
Mathematics is an art; mastery of the subject isn’t easy, but math is rewarding and fascinating. Unfortunately, the current class structure provides most students only anxiety and frustration. Past these emotions, the math courses in most schools are nothing but rote memorization. We gave up the adventure that is math when we decided to institutionalize the subject, and more importantly, when we doubted the abilities of our students to learn math in an informal manner. Paul Lockhart considers this phenomenon in his article “A Mathematician’s Lament”, for the MAA, found here.
Mathematics isn’t arithmetic, just like computer science isn’t programming. We can’t let the computer science learning experience become the modern mathematics curriculum. In fact, let’s not allow computer science to turn into a “curriculum” at all. Let’s do without the repetition and fill-in-the-blanks that students dread and instead introduce the creative process to receptive young minds by teaching students how to think abstractly and ask questions. These are the skills that form a computer scientist, and they’re similar to the skills any great artist or scientist needs. Maybe we won’t end up with a generation composed entirely of CS enthusiasts, but we can certainly share this engaging and exciting field in a way that inspires students to look forward to research of any kind with bravery and with enthusiasm.