Thursday, May 21, 2015

Computer Science and ?

Several conversations lately have me thinking about combining computer science with other subjects in school. My thinking regularly comes back to that for a number of reasons. One is that it reflects the real world today. Computer science does not live in isolation but has become an important part of almost every area of work and study. Teaching it in isolation does students something of a disservice. A second major reason is that fitting computer science into an already packed curriculum is a challenge that many schools do not seem interested in taking on. And yet I believe that today’s students need to know something about computer science.

I think the most common reaction to this suggestion is similar to what my good friend Garth Flint said in a recent comment “in order to integrate programming into say a math course something in that math course has to go” This is a valid concern but the answer is that we need to use computer science to allow more learning in the other discipline in less time. Let me give an example. We teach graphs to young students by having them draw graphs by hand. That takes a lot of time. It’s also inaccurate.  If we were to use a spreadsheet program to graph the data we could have them graph more data in more ways in less time. This way we could easily make up the time teaching them the spreadsheet based on reducing the time they spend drawing graphs by hand. We need to find more examples like that of course. Curriculum development and teacher training, an other issue wisely Garth pointed out, are other big issues.

My key thought here is not just teaching some CS with other subjects but changing the way we teach those other subjects in ways that make them more interactive, more interesting and (I hope) more educationally valuable. We can’t just add material but we have to improve the way we teach. This is not something computer science teachers can do alone. We need people with multi-domain expertise, probably in small teams, working together to design new ways of teaching. Computers and CS give us the chance to make learning more project based than they have been before. I believe that would make learning more interesting and effective. The key though is teaching in new ways and not old ways with new material cobbled on to the old.

This also requires a change in attitude. Far too many teachers are happy teaching the same thing the same way year after year. They learned that why so it must be the right way for everyone now and in the future. Things have to change in schools of education both for pre service teachers and professional development for in service teachers. Another hurtle to overcome. I think this is the only way we’ll really get CS into all schools though. I see it as win/win though. A win for CS education of course but perhaps even more importantly a win in using technology to improve the way we teach and to help students learn. At least that is my theory. What do you think?


Garth said...

"A change in attitude" and, I think, a change in generations. The average age of the teacher ed departments is up there with T-Rex. I see student teachers coming in to our school with the exact same computer education I started with 30 years ago. Teacher education simply has not moved to the 21st century and has not recognized that the computer is a driving force in all aspects of life now. Knowing how to graph deer population projections from data might be more important than factoring polynomials by hand. (I start waving my hands about here.)

Brian Sea said...

Sadly, most CS teachers are aiming at the wrong subjects for CS integration. They should be aiming more at the sciences and history, instead of math. I understand *why* math tends to be the target, but I find getting math teachers to "adapt" much harder than science teachers -- hell, many math teachers still want to get rid of calculators.

CS teachers could also move their courses. I routinely reach basic physics, biology, economics, psychology and history in my CS courses. But that's because I've moved away from treating computer science courses as programming courses. Sure we program, but it's always in the name of something else. Programming is a pedagogical side-effect in my classes. The majority of CS teachers don't see computer science this way.... so we need to make some curricular movement ourselves.

Alfred C Thompson II said...

Brian I would love to know more about your curriculum. I also agree that math is not the only or even the best other subject to mix with CS.

Unknown said...

Not much to add, but I agree with you and it's always refreshing to find a like-minded teacher. I wonder if we'll make the most movement once coding becomes a part of how students do business and how they express themselves creatively. When you have a critical mass of students at your school who code to solve problems or create things, they start bringing it into their other classes. They do their science projects in Scratch and do their math homework in Python, and they show their classmates how to do it - and this pushes the teachers to change. Pressure has to come from their peers as well, so we can't stop beating the drum. And it also helps if your administration is a cheerleader for 21st century education, so take every opportunity to talk tech with your leadership team. The gradual cultural shift will be the biggest driver.