Computer Science in High School
A student is working on a project about teaching computer science classes in high school and is trying to gather insights from folks about how it might be done. His questions and my answers follow.
Could you give a quick overview of what your process is for implementing these classes?
There’s a term sometimes comes up when people discuss curriculum: teacher-proof. This is one of those two-faced terms like “rightsize” and “right to work.” It complements the curriculum while denigrating the teachers: “These lessons are so good, not even the teacher can mess them up.” I believe that quality education requires the following of teachers:
- A teacher must design and own her lessons.
- A teacher must interact with her students.
A teacher-proof curriculum tries to route around both of these. Any educational reform that doesn’t put trust and responsibility in teachers’ hands is bound to have a short lifespan.
I believe teachers must be the ones to get computer science courses in schools. This means that they must know the content. There are many companies and non-profits out there developing learn-to-code platforms that students can use on their own. This is great, but the best of these also provide professional development for teachers so they too can learn the tools and how to incorporate them into classrooms. I’ve been trying to secure resources to host some of this professional development, and our proposed model looks like the following:
- Teachers attend a “teacher camp” during the summer where they spend a few days working with their peers to learn some technologies. A key part of this camp would be watching students use these technologies and discussing with their fellow teachers what’s going on in the students’ minds and how they might respond. Teachers leave the camp with the task of designing some lesson plans.
- Teachers return later in the summer for a technology youth camp. The camp is structured around the lesson plans they have designed. At the end of each day, they discuss amongst themselves how each lesson went.
- During the following academic year, teachers integrate their lessons and others’ into their regular classrooms, sharing student artifacts and new ideas through social media.
Why do you believe high schools should offer computer science courses?
I offer a few reasons:
- Computer science seems as relevant as any core subject currently taught in high schools. Computers pervade our workplaces and homes, and we will spend considerable time using them. It’s reasonable to think that we should learn to use them well and learn how to wrangle them to fit our needs. (Computer science == computer wrangling.)
- If one thinks education should be vocational, computer science fits that criteria. If one thinks education should focus on liberal arts and mind expansion, computer science science fits that criteria. This is a field that should make everyone happy.
- Much of our education system is delivered via instruction, where a teacher drops an information bomb on a classroom. Little of this information is retained. We can make make ideas stick better if we learn through construction, where students actively produce a simulation, an interactive narrative, a shape made from an algorithm, and so on. Such construction can certainly be done without the foundations of computer science, but virtual construction on a computer has a lot of advantages over physical construction: virtual resources don’t take up a lot space (an issue for many schools); deep learning requires exploring, experimenting, and the freedom to make mistakes (learning is necessarily a “wasteful” activity, which is hard to fit into a small budget); and coding in particular invokes higher-order thinking where one is constantly questioning and reevaluating design decisions made earlier in the construction process.
Do you believe these courses should be required for high school students?
Mandated classes have locked computer science out of schools for a long time. As much as I think taking computer science classes is a good idea, forcing them upon students would amount only to a regime change.
Also, student motivation for these computer science courses tends to be high, and I think requiring them will undermine the intrinsic motivation that we’ve enjoyed up to this point.
On the other hand, we struggle to achieve diversity in our field, and universal exposure to computer might help us find a better balance.
Does your process complete a teaching certificate for computer science?
My understanding of Wisconsin rules is that for a course to have a certain amount of technical content, the teacher of a computer science course must have a computer science teaching license. I believe only two schools in Wisconsin provide this licensure. I would love to see UWEC offer it too, and we have some great math education professors with strong foundations in computer science. We just don’t have enough of them.
Are the licensure rules appropriate? I think requiring specialty licenses is appropriate for standardized and common curriculum. Computer science doesn’t have that, and the licensure requirements effectively prohibit it from even gaining a foothold in Wisconsin schools.
That said, we would do whatever we can to make sure any professional development we offer counts toward the requirements of this licensure. We must work in the system we have in place until it can be changed.
What do you believe is the most difficult hurdle in regards to implementing these courses?
A former colleague told the story of a faculty member who held computer science courses for teachers in the summer. The intent was to equip teachers to offer computer science classes in their schools. However, most of the teachers who went through these courses gained enough skill that they quit teaching and got jobs in the technology industry. The contrast of working conditions and pay between these two careers is hard to deny. Unless we can plug this brain drain by giving teachers respect and a more competitive salary, we will have few teachers to carry computer science into the classroom.