The Community of Practice for CS teachers? Suggestion: It’s not teachers

May 23, 2016 at 7:35 am 23 comments

My Blog@CACM post this month is on the AAAS symposium I attended on undergraduate STEM education (see post here).  The symposium set up for me a contrast between computing education and other STEM education.  In math and science education, faculty are more likely to get continuing professional development and to value education more than CS faculty.

Why is it different in CS?  In the blog post, I suggest that part of the issue is maturation of the field.  But I have another hypothesis — I suggest that most CS teachers, especially at the undergraduate level, don’t think of themselves as teachers.

In my book Learner-Centered Design of Computing Education, I use Lave & Wenger’s situated learning theory as a lens for understanding motivations to pursue computing education.  Lave & Wenger say every learner aims to join a community of practice.  Learners start out on the periphery of the community, and work their way towards the center, adopting the skills, values, and knowledge that those in the center hold. They might need to take classes because that’s what the community values, or maybe they do an apprenticeship. The community of practice provides the learner and the practitioners a sense of identity: “I belong with this group. I do this practice. This is who I am.”

Lijun Ni taught me the value of teacher identity. Someone who says “I’m a math teacher” (for example) will join math teacher organizations, will seek out professional development, and will more likely be retained longer as a teacher. That’s their identity.

I believe that many science and math teachers (even at the undergraduate level) feel a sense of identity as teachers. Even at research universities, those teaching the intro courses in mathematics and science are likely teachers-first. They know that they are mostly no preparing future mathematicians, biologists, chemists, and physicists.  They are preparing students for their chosen professions, perhaps in engineering, medicine, or computer science. The math and science teachers belong to a community of practice of teachers, e.g., they have a goal to be like the best teachers in their profession.  They have an identity as teachers, e.g., they strive to be better math and science teachers.

I suspect that CS teachers feel a sense of identity as software developers. They see themselves as programmers primarily. They see themselves as producing future programmers. They take pride in what they can do with code. They have a sense of guardianship — they want the best and brightest in their field.

There’s a difference between CS teachers as programmers vs CS teachers. Programmers train other programmers. They learn new programming languages, new techniques of programming, the latest tools. Teachers teach everyone, and they learn how to be better at teaching. We need CS teachers to be teachers. It’s less important that they know the latest industry gadgets. It’s more important that they learn how to teach “all” about CS, and how to teach that CS better.

When Grady Booch came to SIGCSE 2007, I was surprised at how excited everyone was — people still talk about that visit (e.g., see the explanation for the BJC approach to computing). I realized that, for most of the people in the room, Grady was a role model.  He was at the center of community that they most cared about.  Note that Grady is not a teacher. He’s an exceptional software engineer.

There are serious ramifications of a teacher with an identity as a software engineer.  I had a discussion a few months ago with one of our instructors, who told me, “I just don’t get why women would even want to be in computer science.  Working in a cubicle is not a great place for women to be! They should get a better job.”  I was shocked. I didn’t tackle the gender issues first. I started out trying to convince him that computer science doesn’t just lead to a cubicle. You could study computer science to become something other than a software developer, to work somewhere other than a cubicle. He wasn’t buying my argument. I realized that those cubicle jobs are the ones he wants to prepare students for. That’s where he imagines the best programmers working. He doesn’t want to teach computer science for whatever the students need it for. He prepares future programmers. That’s how he defines his job — a master software engineer with apprentice software engineers.

I am calling out undergraduate CS teachers in this post, but I suspect that many high school CS teachers see themselves as software developers (or as trainers of software developers), more than as teachers of computer science.  I hear about high school CS teachers who proudly post on the wall the t-shirts of the tech companies who employ their former students.  That’s a software developer focus, an apprenticeship focus. That’s not about teaching CS for all.

What would it take to shift the community of practice of CS teachers to value teaching over software development?  It’s an important change in perspective, especially if we care about CS for all. Not all of our students are aiming for jobs in software development.

How did other STEM disciplines do it?  How did they develop a culture and community of practice around teaching?

Entry filed under: Uncategorized. Tags: , , , , , , , , .

What’s going on with CS PhD Enrollments: Guest Blog Post from Betsy Bizot Crowd-sourcing high-quality CS Ed Assessments: CAS’s Project Quantum

23 Comments Add your own

  • 1. gregoryvwilson  |  May 23, 2016 at 8:40 am

    Did it happen because their content was integrated into other disciplines? I.e., since chemistry was part of the training of doctors and engineers, medical and engineering faculty had voices alongside chemists’ to make being a chemistry teacher (vs. being a chemist) a viable career? If so, then the way to make teaching CS a viable career is to make CS an integral part of other disciplines.

  • 2. Bonnie  |  May 23, 2016 at 9:02 am

    I think there is a fundamental difference between the role of computer science in a university and the role of math and science. Math departments especially function as service departments. The vast majority of students taking math courses are not math majors. That means that math faculty have to approach their task knowing that they are training students to use math in the context of other fields. I don’t think that is so much the case for computer science at many schools. The students taking my courses are mainly computer science or computer security majors, with a smattering of computer science minors – typically physics majors who want to be employable. When I ask my students what their career aspirations are (and I usually do this as an ice breaker early in the semester), most of them want to be software developers or security specialists. I think we are more like engineering or nursing in that our students will mainly work in the field that we are teaching. And I think this is true at many schools, and it is the reason that we approach teaching differently from math and science faculty.

    • 3. Justin Li  |  May 23, 2016 at 1:21 pm

      Hi Bonnie,

      I’m surprised that you only have CS majors/minors in your classes. This may be true at the upper level, but for intro classes I’ve found most of my students to be from other disciplines, even outside of STEM. This has been the case for me at both a large state school and at a small liberal arts college. Part of it is that more and more departments are requiring/recommending CS in their curricula, but I think students are also seeing that CS could help them in whatever they actually want to do. In that sense, sometimes I think we should also be thinking about how CS is used in other disciplines, like what you suggested math is doing.


      • 4. Bonnie  |  May 23, 2016 at 5:09 pm

        As I said in my post, we do get students from other fields who minor in CS – physics, actuarial science, sometimes accounting. But no other department requires or encourages students to take a CS course, and even if they did, we don’t have the capacity to deal with a lot of students from other majors. It was like that at my previous school too.

  • 5. katrinafalkner  |  May 23, 2016 at 9:11 am

    Hi Mark! (Genuinely) not trying to be argumentative, but what’s your basis for saying that CS academics value education less than Science/Maths academics?

    Interestingly, Nick and I had a related conversation recently, regarding how we see ourselves according to our professional identity. I see myself as a Computer Scientist, perhaps more so as a Computer Science Academic. Not as a teacher, but with teaching being an essential part of who I am as an academic. I also see my identity as a researcher underpinning all I do as an academic, which is why I feel that an academic must take a scholarly approach to their teaching. But, I’m not sure I see a great difference in the attitudes of my colleagues in Science/Maths….

    I was somewhat stunned by the comments by your colleague. What is a ‘good place for women to be’? I’d love to know who was in charge of deciding that for me. Complete nonsense. (but yes, I see your larger point there).

    • 6. Mark Guzdial  |  May 23, 2016 at 9:13 am

      See the CACM blog post on my experiences at the AAAS undergraduate STEM education symposium

      • 7. katrinafalkner  |  May 23, 2016 at 9:27 am

        I’ve read that (before and now), and I must be missing the link. I can see where there are statements relative to your own experience but I’m missing anything broader.

        • 8. Mark Guzdial  |  May 23, 2016 at 1:26 pm

          The basis for this blog post is mostly my experience at the symposium — I’m exploring the idea that the CoP for CS teachers is not teaching. I’ve thought about trying to gather data on the perceived CoP of CS teachers. It’d be a fascinating study.

  • 9. Bonnie  |  May 23, 2016 at 9:21 am

    I also just have to quibble with your characterization (and your instructor’s) of careers in software development. I worked, as a woman, in software development for years. I didn’t spend much time in a cubicle at all! For many of those years, I had my own office, as did all the other developers, and we spent a lot of time TALKING to each other. We also spent a lot of time writing – English, not code. Actually writing code was not the biggest task – designing systems, and communicating designs were very important. When I teach my future software developers, I focus a lot on design and communication because those skills are really important.

    • 10. Mark Guzdial  |  May 24, 2016 at 11:41 am

      Hi Bonnie,

      I agree with your characterization. It matches with what Andy Begel and Beth Simon found when they studied new employees at Microsoft Research. I did tell the instructor with whom I was speaking about this work — software engineers do not spend all their time in cubicles and programming isn’t all they do. He’s not interested in that non-cubicle part. He is interested in preparing students for the part of the job that they do in cubicles. That’s where he sees the programming going on, and he sees himself as preparing master programmers. This isn’t about the reality of the graduate’s jobs. It’s about the perception of the teachers about their jobs.

  • 11. Alfred Thompson (@alfredtwo)  |  May 23, 2016 at 9:26 am

    My impression of many CS professors is that they see themselves as researchers who are training researchers. At least at R1 schools.

    But I know more about the secondary school level. I think most teachers there do think of themselves as teachers. They just don’t always think of themselves as computer science teachers. They think of themselves as math/Physics/something teachers who also teach computer science. For every teacher who teaches CS and something else who wishes they could teach CS full time I suspect there are several who would rather teach the other subject full time.

  • 12. Mike Zamansky (@zamansky)  |  May 23, 2016 at 9:39 am

    You raise some good thought points but I believe you’re making some false assumptions, at least on the high school level.

    I’ve met plenty math and science teachers who view themselves as “subject first.” In fact, a few years ago, I was chatting with tow of the best chemistry teachers I know. Both beloved by future chemists and future non-chemists alike. I asked them about how they designed their classes knowing that the vast majority of their students weren’t going to pursue chemistry and in fact probably shouldn’t (as it takes all kinds to make the world go round). The response was, they didn’t – their approach was that every kid in their required regents chemistry class was there to ultimately get a doctorate in chemistry.

    I’ve also met plenty of the “teacher first” kind.

    I think the high school CS results will likely be skewed for a few reasons — again, in my experience, most high school CS teachers don’t have strong CS backgrounds and are learning on the job. The major influences, or at least voices on K12 CS policy and agenda are political and industry based and their focus is jobs and quick scale both of which push vocational coding careers.

    Other CS teachers, those with a CS background are a mixed bag – some are second career from industry – no surprise if they push the tech job first mantra.

    It seems very few have strong CS backgrounds but decided to go into teaching as a career to be a teacher. That will probably change as certification pathways are created and CS is made a first class subject.

    Finally, I’m one of those teachers that hang t-shirts in my classroom (maybe the one and technically former classroom) and I dare say you have no idea as to my intent or effectiveness as a teacher nor do you know how well or poorly I reach the “all.”

    • 13. kirkpams  |  May 23, 2016 at 1:19 pm

      Regarding the t-shirt comment, I urge you to read about ambient belonging ( and related work work on the impact of belonging ( This line of research suggests that the presence of those t-shirts or other stereotypical cues may be undermining your intent or effectiveness before you’ve ever had a chance to speak.

      • 14. Mike Zamansky (@zamansky)  |  May 23, 2016 at 1:23 pm

        And yet my/our gender numbers are better than most and long term feedback from the alumni community indicates that connecting the alums to the current students (which the decorations are one aspect of) is a big plus.

        • 15. kirkpams  |  May 26, 2016 at 1:19 pm

          And, statistically speaking, there is probably a teacher somewhere doing exactly the same things you are doing with the opposite results. (tongue planted firmly in cheek)

          What I was trying to address was that you seem to take Mark’s original comment as a personal accusation (“you have no idea as to my intent or effectiveness as a teacher”), when that’s not necessarily the case. For any of this stuff, we are talking about statistical behavior across large populations. All else held equal, the empirical data about ambient belonging suggests that, on average, stereotypical cues (such as the t-shirts) have a detrimental effect. But the “all else held equal” and “on average” phrases are critical. It’s dangerous and misleading to try to apply statistical averages of particular actions in isolation to individual cases. Given your results, it is clear there are other factors at work that more than compensate for this effect.

          End result: Hanging tech decorations, making obscure Star Trek references, praising hacker exploits… Doing any of these things by themselves is not going to kill gender parity, and they don’t make you a bad person or ineffective teacher. However, it still remains a best practice to avoid these things without having a more thorough understanding of one’s particular context due to statistical averages across the population.

    • 16. Mark Guzdial  |  May 23, 2016 at 1:43 pm

      To set the context appropriately, you are teaching at Stuyvesant ( — you have an elite set of students and teachers, with ~1% African-American and ~2% Hispanic students. The teachers there are probably more like undergrad teachers than average high school teachers. Your students are not representative of the overall population (as is pretty common for high school CS, i.e., the Inverse Lake Wobegon Effect).

      • 17. Mike Zamansky (@zamansky)  |  May 23, 2016 at 2:08 pm

        I *used* to teach at Stuy but yes, that’s where I spent most of my career (after leaving industry for teaching, I cut my teeth at Seward Park High School).

        And of course you’re disregarding my non-profit and other work where our antics seem to work just as well.

        Yes, Stuy is has high performing kids but it also has many kids from immigrant, poor, and working class families. People seem to ignore that.

        Let’s continue to dispel Stuy myths — the specialized schools in NYC get their teachers from the same pool in the same way as other public schools and by and large fit the same mold. I would say that Stuy does have more than it’s share of teachers (well intentioned or not) who never learned how to teach because of its’ population.

        If I recall, NYC charters and new NYC public schools (or at least CTE schools) have more flexibility with regards to hiring.

        You’re right that Stuy doesn’t have a large enough African-American or Hispanic population to make meaningful assertions but we can look at our results with respect to gender, and what we do with our kids vs what others with similar populations do.

  • 18. William Doane  |  May 23, 2016 at 1:14 pm

    At the post-secondary level, wouldn’t we need to first value teaching in hiring and promotion?

    My intuition is consistent with the others who suggest that at HS, you’re more likely to find self-identified TEACHERS, but not COMPUTER SCIENCE TEACHERS. Meanwhile, at university, you’re more likely to find COMPUTER SCIENTISTS, but not COMPUTER SCIENCE TEACHERS.

  • 19. gasstationwithoutpumps  |  May 23, 2016 at 1:48 pm

    I think that one reason physics, chemistry, and math have gotten into educating those outside their majors so strongly is two-fold:
    1) they’ve been forced to by others demanding service courses,
    2) the number of jobs for their majors is so small that most of those they teach will not be majors.

    CS is more in apprenticeship mode, because the pressure on CS departments is to create more software engineers for industry—there is very little pressure to create CS for all.

  • 20. Briana Morrison  |  May 26, 2016 at 9:29 am

    Mark, thanks for the blog post – just another bit that “CS is different” (my new personal mantra). I agree with others that the HS vs. undergrad reasoning is different. For HS, as Lijun helped to prove, it very much has to do with their UG education and certification. They tend to identify with the subject they are certified to teach – likely because they are still teaching that subject and that’s where their Community of Practice revolves around.

    For undergrad faculty, I think it’s a mix between the “wanna be” or “used to be” software developer and Katrina’s researcher model. Especially for the non-tenure track or lecturers – since they do no or very little research, they identify themselves as programmers and want to produce more programmers. For tenure-track faculty (most of whom don’t even teach CS1 or CS2) programming is just a requirement of the research piece. They see themselves as academics and researchers who are required to teach. As Wiliam Doane pointed out: teaching isn’t valued in the P&T process, so why should they identify themselves as a teacher?

    Finally, I would add that those of us in the CS Education Research end should be especially cautious about our teaching efforts. We don’t want to be associated with the “Ed School has the worst teachers” syndrome. We need to be careful to practice what we preach – which puts yet another burden upon us. Happily though, I believe those of us who do identify as CS Ed Researchers genuinely like to teach and do strive to continuously improve. Just anecdata, but perhaps there will be a study on this someday as well.

  • 21. Zachary Dodds  |  May 28, 2016 at 7:04 pm

    CS-for-Insight tops CS-for-Software. Welcome, 2020’s.

  • […] Lave & Wenger’s Situated Learning. I draw on situated learning in my work (e.g., see post here) and reference it frequently in my book on Learner-Centered Computing Education, but I agree with […]

  • […] where students join a Community of Practice through Legitimate Peripheral Participation (which I describe in this blog post). If you tell students to learn TLA+, you would most likely get a response like, “Why are we […]


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10,184 other subscribers


Recent Posts

Blog Stats

  • 2,053,610 hits
May 2016

CS Teaching Tips

%d bloggers like this: