Tuesday, February 11, 2020

Are Large Classes The Answer To a Computer Science Teacher Shortage?

Another teacher reported on Facebook that they were going teach AP CS Principles and that this was the first time they are teaching computer science and their students have no earlier CS class. I wanted to scream. Or cry. Or something. It’s happening a lot these days as we, those of us in the CS for All camp, continue to promote the need for more CS in schools. The shortage of qualified teachers in computer science is real. Catching up with demand is going to take a while.

But, hey, universities are running into the same problem. Can we learn from them? So far most universities seem to be coping by creating larger and larger classes. Listen (or read the transcripts) from interviews on the CS Ed Podcast (highly recommended) and learn about university CS classes with hundreds and even thousands of students. Whoa! And you thought 35 was bad.

Now my first hand experience with large classes is 48 years old when I took a one month intense world history course as an undergraduate. I credit reading the 1,200 page textbook twice with my A more than the lectures. While that seemed to work for me it was history and not computer science. I don’t think it would work for CS.

Now I believe that there are TAs and lab assistants who help university students outside of class but is this really a good way to teach computer science? I’m not so sure it is but even if it does work in university would it work in high school or middle school? I really doubt that. Our students are not quite that mature. And we’ll never get TAs and out of class lab time.

Amy Ko, University of Washington, expresses some concern about this scaling at the university level in a post called The false dichotomy of teaching and research. University administrators are interested in reducing costs and increasing tuition revenue so they probably like the large classes. And MOOCs.

I wonder what the difference is between a class of 2,000 students in a huge lecture hall is from a MOOC with 2,000 online students? I suspect not much beyond, perhaps, lab assistants and TAs in a campus computer lab. Seems like a lot of extra internal motivation is required in either case. I see a shortage of that in high school students especially in non-major courses.

So tl;dr I don’t think large classes or MOOCs are the answer. We really need to be preparing more teachers. And there are no shortcuts.


Andre said...

I'm a newly re-minted CS teacher. I taught other subjects for years and then got into teaching CS in addition to other subjects a few years back. I took a break from education altogether for a year but now I'm back just teaching CS (and loving it!)

For me the greatest barrier was getting my "big change" and having someone take a risk on me to teach CS. It happened a school that knew me, so they trusted me (although in retrospect I was a bit underprepared!). After that however, I found it really hard to get a job as the type of school I was looking for as job offers usually wanted people with CS degrees. I think for every other field this makes sense, but if someone gets a degree in CS nowadays, they'll get a nice job offer from a tech company after college and won't go into education. If they do go into education, it's because 1) they are really passionate about education, it's their dream and this is exactly the kinds of unicorns schools was (note the use of the word "unicorn"), or 2) the tech companies don't want them... which raises a lot of questions about why being as it's hard to find tech people these days, but most likely poor tech skills (do we want this person teaching?) or poor people skills (we DEFINITELY don't want this person teaching).

Alyce Brady said...

I like the master /apprentice model for teaching computer science, but that definitely requires smaller classes.

Garth said...

Master/apprentice model requires masters. Back to the chicken or the egg.

Does a CS degree help prepare you for a K-12 CS teaching position? It does not hurt but I really believe it does not help. 99% of what a teacher does K-12 has nothing to do with what a college CS degree would prepare someone for. Having a good grasp of upper level content is not the same as having a grasp of pedagogy. I have a masters in mathematics. I know 5th grade math. I am horrible at teaching a 5th grader how to understand math. The solution to a CS teacher shortage is not more CS degrees. It is more teachers that understand the fundamentals of CS and can figure out how to get that to students.

Andre said...

I strongly agree Garth, but here's an example of the first CS teacher job add I could find,

XXX school has an opening for an experienced STEM/Computer Science/Technology teacher. Qualified candidates must have a computer science/engineering/technology/design background and at least two years of successful teaching experience. ... Bachelors degree in a related field required. Experience with upper school students and a educator certification a plus.

I added the bold to make the point that the job ad says these things are a must but these things would technically disqualify any CS teacher (no matter what the experience) if they didn't have a degree AND worked in the industry. For those trying to break into the field, this kind of ad is disheartening being as their resume doesn't pass the first round in HR but they could be an amazing teacher of CS!

Garth said...

I am not sure to laugh or cry about that ad. Does this person exist? Probably but I cannot imagine there are many of them. It would be interesting to know how many unicorns actually do exist. Certification is a plus? Interesting that certification is not on the requirements list. Two years of successful teaching and no certification? How does that work? I have a feeling the person that placed the ad did not understand what CS teaching is all about.

I would love to have a resume like that. I have been teaching over 30 years and I still wonder about the "successful" part. And to be able to teach with a background like that? It would be so much fun to actually know that what you are teaching is the right stuff and how it applies to the "real" world.

Richard Perrine's love of learning...and STEAM! said...

Not many at all.And among them, with that kind of experience, even fewer who are willing to go into teaching.

Unknown said...

I've run into any number of people who meet the requirements in the ad Andre posted. Including me, both teachers are my school fit. For us and the others I have met it is really a life style decision. Not everyone with a high tech background wants to write code for a living. And for sure more of us didn't have the two years of teaching behind us when we started.

But I agree that is far to high a bar for most potential great CS teachers to meet. It is important to find the right middle ground. We wouldn't hire a French teacher who was not fluent in French. Would we?

Andre said...

I like the phrase "life style decision" as that's exactly what it is. But, very few people in the tech industry want to go into teaching. It's not that they wouldn't love teaching, it's the downgrade that's the deal break for most. The answer to a CS teacher shortage is the pull tech-savvy teachers into the ranks of CS teachers.

I like the question about a French teacher as it reminds me of job as a "native speaker" right after college. I taught English for many years in a foreign country and got paid a premium for doing it. It was great and I was one of the better ones as I actually knew about how languages worked (I studied linguistics in college after all!) But, sooo many teachers were just native English speakers who didn't know anything about teaching it to foreigners. It was absurd how little some people know about their own language, but parade around as an expert of it.

So, flipping Alfred's question around, although we would require a French teacher to speak French, does speaking French mean you can teach it?