Challenges, Opportunities, and Teaching Computer Science

A selection of programming language textbooks ...
Image via Wikipedia

I really like my job so far.  Even after the longest week ever.  This week was our first full week, really, and this week, we also had Academic Evening for all levels, where we met the parents of our kids.  I had to be present for two of the three evenings.  Mr. Geeky and I both attended the Middle School evening, he as a parent, I as both.  We were both there until almost 10.  And then, I went to the Upper School evening, and was able to duck out at 9 after my class met.  It was really nice meeting the parents.  Not only did I get to meet the parents of the kids I teach, but on the Middle School night, since the schedule they were following did not include my classes, I got to hang out with the refreshments and meet a random assortment of parents, all of whom were very interested in what I was doing.  They seem not just supportive of their students learning more about technology and computing, but many expressed a real urgency that their kids have more than a passing knowledge of Facebook.  They really believe that to succeed in this world, they are going to need technology skills.   And that is very cool.

Roughly half of my time is spent dealing with my current teaching responsibilities, either in class or planning for class.  I’m taking it one day at a time.  Even though I have laid out a plan for each class for the duration of the time that it meets, the daily plan I’m creating only one day ahead.  So far, I’m finding this works best for me.  The ideas are fresh in my mind, so I can move forward efficiently, and the kids can get the most out of their time in class.  In middle school, I only have 40 minutes for each class, and my plans are quite ambitious.  I have to be very certain of where I’m going.  It’s too easy for the kids to get sidetracked.

The other half of my time, I’m doing two things.  One, I’m working with teachers on using technology.  So far, I’ve helped a handful of teachers, and I’ve talked to many more about ideas and issues.  I am making a plan for increasing my involvement and presence for them.  The other half of my time, I’m doing mid- and long-term planning on two fronts.  One is in the faculty support area.  The other is in developing a Computer Science curriculum.  I have a partner in developing my faculty support plan, which is fabulous, and we hope that we will be able to create a committee of people who will participate in planning for the integration of technology into the curriculum.  As far as we’re concerned, the more voices we have participating, the better.  We need everyone’s ideas, not just one or two people’s.  We’re also hoping to involve the students, which will serve the dual purpose of giving the students the opportunity to learn more, and providing more support for faculty and other students.

The computer science curriculum development is a project all my own.  But it is, in some ways a continuum from the more applications-based technology curriculum I use with my middle schoolers.  In fact, there are certain things students need to grasp in the earlier classes that will help them should they choose to take a computer science course: parts of computer, the concepts of input and output, how the Internet works, the difference between local and remote storage, etc.  So I’ve been poring over the CSTA curriculum recommendations and our own curriculum and seeing if there are any gaps.  So far, we’re doing awesome.  Almost all the basics, including the things I just mentioned, get taught by 5th grade.  And I’m teaching programming concepts and problem solving using computers in 8th grade.  By 9th grade, they should be ready to explore these issues in depth.  Right now, I’m focused on creating an introduction to computing class, and figuring out what to do with our existing computer graphics/computer animation class.

Thinking about those two things raises the main tension that exists for me, and for a lot of people in my position.  Right now, the computer graphics class is focused on teaching kids to use a particular application to create graphics.  That is a common approach at the high school level.  At the college level, a course titled “Computer Graphics” is more likely to be about how computers create graphics through programming.  I’m going to include a little of that this semester and some next semester.  But herein lies the tension.  Should computer/technology courses teach applications or programming?  And, of course, there’s often an assumption that goes with that, that if you are a “computer science” teacher who teaches applications at a lower level that you can teach “any” application.  It is common in many small schools like mine to have the computer science teacher also be a more general technology teacher and/or a technology support person for the faculty.  There aren’t enough CS courses in most schools to have a full time CS teacher, and so the remainder of the time is filled with other duties.  I’m fine with that, as are most of the people I know who are in these same positions.  But it can lead to confusion.  And, though most of the parents I talked to the other day understand the continuum from creating web pages in 6th grade to programming in 8th grade and in Upper School, quite a few thought that I was doing system administration and desktop support for the school as a whole.  Even a few teachers haven’t understood or known that I actually teach courses.  As I move forward with the curriculum, I think this confusion will be resolved.

It’s interesting because I think if more people had a good foundation in computer science, they would understand that yes, most people in the CS industry (whether as an educator or not) are facile around computers and computer applications, but just because you’re a programmer or a CS teacher does not mean that you’re an expert in [insert application here].  And the reverse is almost always patently not true.  The person who does the day-long or week-long session on Excel, or Word, or even Windows 7 will likely not be able to program.  The person troubleshooting your desktop machine will likely not be able to program an application that runs on it or design a web site.  As in many fields, people have specialized skill sets.  I’m glad there are people who know the inner workings of a desktop computer, and I have benefited from their knowledge on more than one occasion, but I want people to be clear about the distinction.  I’m not going to come to your house and fix your computer, even though I probably could.  But it might take me longer and I might miss something important.  In my mind, I am first and foremost a teacher and teaching kids to use technology and the basics of computer science is full of complexity that even some programmers won’t get.  You can’t just put a programming book in front of kids and hope for the best.  You have to teach them all kinds of soft skills, like problem-solving, critical thinking, the ability to break a problem into smaller parts, and the fortitude to stick with a problem even when it gets hard.  Some “computer people” have those skills but have no idea how to get them across to others.  Teaching computer science, then, is more than just knowing a programming language or two, or knowing your way around a computer.  It’s a skill in an of itself and that’s very different from the skills someone who can troubleshoot a network problem might have.

Enhanced by Zemanta

3 Replies to “Challenges, Opportunities, and Teaching Computer Science”

  1. Laura, I understand that your frustration in people’s lack of discrimination between teaching programming and applications. I think you mentioned earlier that you are supposed to teach Illustrator. While that may seem constraining to you, I think one of the key things the students can learn is about the differences between raster and vector applications. This is quite important, for example, in GIS, as there’s data available only in raster and data only in vector; understanding why and the advantages of each is useful and interesting — to me, anyway, a geography nerd. You don’t need expensive GIS software to demonstrate this; you can do it with Illustrator and Photoshop. As a graphic artist, I’ve seen lots of artists submit bad photos of their work because they don’t understand anything about pixels…

  2. Shawn, you’re right. And I’ve talked a lot about the differences already. We also did a little history of the postage stamp. 🙂 My issue is not with particular classes, where I can do what I need to do and get across points that I think are important–which might be different from the points that a graphic designer or artist would get across. I worry more about broader conceptions of CS as “just computer geeks.” I’m sure you know people who, because their career involves computers, it’s assumed that they’ll be able to clear out the virus on their desktop. 🙂 In a personal context–like helping friends or parents–I don’t have an issue, but when your CS teacher/professor (Mr. Geeky has this problem too) gets sucked into doing the kind of work you can pay Geek Squad to do, it takes away from the time they can spend working on what they’re actually good at–teaching or thinking about problem or whatever. Mr. Geeky says it manifests itself for him in the kinds of opportunities he gets. For example, he’d like to participate in applying CS to other disciplines, but to people who can’t distinguish between skill sets, they think he could possibly appreciate the humanities or art or other sciences. He’s just the tech guy.

    I have no fear that anything like this is going to happen at my current place of employment. There are lots of opportunities for conversations and people seem very open to thinking about technology and computer science in lots of different ways. The issue is just something that seems to come up a lot for me. 🙂

Comments are closed.