Archive for October, 2017

Lamport and how Education works: The Coming Software Apocalypse

Several people sent this article to me. It’s so one-sided and contrary to empirical evidence that I found it hard to finish. The belief that we can fix all of software through the use of software proofs and verification is contrary to software social processes, as shown by DeMillo, Lipton, and Perlis in 1979. Belief that Toyota sudden acceleration was due to a software bug ignores the empirical evidence about other causes for the phenomenon (as Gladwell described in his podcast last year).

It’s the paragraph quoted below that led to people sending me the article. Leslie Lamport suggests that if we just taught people TLA+, that would lead to better software.

Education of novices never works as a mechanism to change professional practice.  (Or at least, I’ve been trying to find an example of successfully changing a community through education of the young, and I haven’t found one yet.) Students who want to become software developers want to do what software developers do — that’s Lave and Wenger’s model of situated learning, 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 learning THIS? We want to real thing, not some academic toy!”

If you want to change a community of practice, you have to get the leaders in the community of practice to change. Students follow them. It doesn’t work the other way around.

But TLA+ occupies just a small, far corner of the mainstream, if it can be said to take up any space there at all. Even to a seasoned engineer like Newcombe, the language read at first as bizarre and esoteric—a zoo of symbols. For Lamport, this is a failure of education. Though programming was born in mathematics, it has since largely been divorced from it. Most programmers aren’t very fluent in the kind of math—logic and set theory, mostly—that you need to work with TLA+. “Very few programmers—and including very few teachers of programming—understand the very basic concepts and how they’re applied in practice. And they seem to think that all they need is code,” Lamport says. “The idea that there’s some higher level than the code in which you need to be able to think precisely, and that mathematics actually allows you to think precisely about it, is just completely foreign. Because they never learned it.”

Source: The Coming Software Apocalypse – The Atlantic

October 30, 2017 at 7:00 am 20 comments

Is (Scaled) Online Learning an Engine for Diversity? Not according to the data

There are lots of women and minority students in online CS. Numbers are high. Proportions are low.  Reach (what percentage of women and minority get access to online CS) is low.  Diversity in terms of economic success is low (as discussed in this blog post and in this one too), so scaled online learning is unlikely to be an engine to bridge economic divides.  There are a large number of (rich) female and minority students in the OMS CS populations (higher numbers but lower proportion than in our face-to-face MS CS program), but if they remain a small proportion of the whole and the reach is low, then not much is changing. The graduate pool and the Tech industry over all does not become more diverse.

If Georgia Tech is indeed able leverage scaled online learning to graduate underrepresented minorities at much higher rates than comparable residential programs, then it seems that all of us in higher ed should be taking notice. I remain skeptical that an online degree program that is not built around intensive interaction, mentoring, and coaching between faculty and students can be successful.  Going to scale in order to drive down the costs seems to require a transactional, rather than relational, approach to teaching and learning.

Source: Is (Scaled) Online Learning an Engine for Diversity? | Technology and Learning

October 27, 2017 at 7:00 am Leave a comment

Why Tech Leadership May Have a Bigger Race Than Gender Problem

The Wired article linked below suggests that race is an even bigger issue than gender in Tech industry leadership.  While Asians are over-represented in the Tech labor force, they are under-represented in Tech leadership, even more than women.  I was somewhat surprised that this article considers “Asians” so generally.  The most-often visited blog post I’ve written is the one that shows the differential success rates of different Asian populations in US educational attainment (see post here).

Gee says this study came about because an earlier report in 2015 that used EEOC data from companies like Google and LinkedIn ended up on the desk of Jenny Yang, the outgoing commissioner of the EEOC. Yang asked if the lower proportion of Asian executives was the result of discrimination and might be applicable for lawsuits, Gee says. He told her no. “We have never seen any overt discrimination or policies that create these disparities,” Gee explains. Rather, after conversations with 60 or 70 Asian executives, the authors say they noticed a pattern of cultural traits among some Asians that did not align with leadership expectations in Western corporate culture, such as risk-taking and being confrontational.

Gee gave the example of an executive who started the first Asian affinity group at Intel decades ago. He noticed that Chinese engineers were unhappy and not succeeding in Intel’s culture of “constructive conflict,” which involved heated debates during meetings.

“Some people call it unconscious bias. For Asians, it’s actually a very conscious bias,” says Gee. Studies show that assumptions that Asians are good at math, science, and technology make it easier for them to get in the door, but the same bias is reversed when it comes to leadership roles, he says.

Source: Why Tech Leadership May Have a Bigger Race Than Gender Problem | WIRED

October 23, 2017 at 7:00 am 1 comment

What we should be teaching kids about CS and changing our tools to get there: Ben Shapiro

Ben Shapiro gave the opening keynote at VL/HCC a couple weeks ago. (See Amy Ko’s great summary of VL/HCC this year.) He shared the slides with me, and he just made a video of himself re-giving the talk.

Ben has been exploring what we need to teach kids to prepare them to create authentic applications for the world that they live in — multiple, heterogenous platforms with rich networking.  He wants kids to think about networks, failures, and communication between programs running on devices with different capabilities. Today, we talk about teaching kids variables and loops. Tomorrow (like, literally tomorrow), we should be teaching them about the realities of the digital world in which they live.

But we’re not going to do this with Scratch, Python, or Java. He’s suggesting new kinds of tools, including having young kids work with machine learning.

I recommend letting Ben change your thinking about the next things to teach in CS.

October 21, 2017 at 7:00 am 5 comments

Georgia Tech Receives CMD-IT University Award for Retention of Minorities and Students With Disabilities in Computer Science

I have not been directly involved in the computer science undergraduate major at Georgia Tech since “Georgia Computes!” started (and ECEP continued). Today, I teach graduate courses in the Human-Centered Computing PhD program and the undergraduate non-CS majors course Introduction to Media Computation, and only rarely teach CS undergraduates.

So, I am pleased that this award to the undergraduate program in the College of Computing mentioned things that Barb and I were part of.  The College of Computing won the award in part for Threads (I co-chaired the implementation committee), “Georgia Computes!” (which was mostly Barb and me), Project Rise Up 4 CS (which is Barb’s invention which she developed for ECEP), and our three mandatory CS classes, one of which is the Media Computation class I created. I feel like Barbara and I had a role in this.

The CMD-IT University Award decision was based on both Georgia Tech’s impressive quantitative reported results, which reflected high retention and graduation rates and qualitative reporting on their various retention program.  In particular, Georgia Tech highlighted the following four programs highlighted as directly impacting retention and graduation:

  • Threads Undergraduate Curriculum:  Students are given the opportunity to take control over their curriculum by choosing two of eight Threads to create their degree plan which gives them more than 28 different degree plans to follow. This resulted in students feeling they have more control and a better understanding of their degree plan.

  • Georgia Computes and Project Rise Up:  The two programs are spearheaded by Georgia Tech to help increase engagement in computing by broadening participation in computer science at all educational levels by underrepresented groups.  These programs increase interest in Computer Science.

  • Mandatory Introductions to Computer Science classes:  All students enrolled in Bachelor’s degree programs at Georgia Tech must take one of three computer science classes. The three programs enable students to take courses that fit their level of experience in Computer Science.

  • Travel Scholarships to Conference:  Georgia Tech provides between 40 and 120 travel scholarships to leading tech conferences with a diversity focus.  Students build networks of support and return with a feeling of renewed commitment to their degree program.

Source: Georgia Tech Receives CMD-IT University Award for Retention of Minorities and Students With Disabilities in Computer Science | Markets Insider

October 20, 2017 at 7:00 am Leave a comment

Why should we teach programming (Hint: It’s not to learn problem-solving)

This is a revision of the original post. Several readers pointed out on Twitter that my original post was insensitive. It read like an attack on Brenda, a woman of color, from a senior white guy (me). That was not my intent, and I apologize for that. I am grateful to Joseph P. Wilson who helped me understand how to avoid that impression. I can’t change the post that went out yesterday, but I will be more careful in future blog posts.


At the CS for All Consortium Celebration Tuesday, Brenda Wilkerson gave the closing keynote. The full livestream of the CS for All Summit is available here, and it includes Brenda’s talk. I’m a huge fan of Brenda, and she’s done fabulous work in Chicago. She is a leader in bringing CS to All.

I have not seen Brenda’s talk or any of the livestream. My experience of the Consortium Celebration was through reading the Twitter stream as I found time during the day. Brenda had one slide (which you can see in the tweet linked here) that I disagreed with, and because it’s an important point, I’m going to respond to it here.

It says, “Computer science builds the mental discipline for breaking down problems, and solving them.” There are few studies that test this claim as “computer science,” but there have been lots of studies looking for transfer from teaching programming to general problem-solving skills. Probably the first study investigating this claim is Roy Pea and Midian Kurland’s paper On the cognitive effects of learning computer programming. You can find this claim in a paper by Henry Walker to which I responded in this blog. You can see it in posts all over the Internet, from this blog post to this article from a teacher in England. There is a strong belief out there that learning computer science, and programming called out specifically, leads to new problem-solving and “a new way to think.”

There is simply not evidence in support of these claims. I talk about these in my book, I reference the Palumbo meta-review in this blog post, and NYTimes wrote about it this last spring. Like “learning styles” and “Latin teaches thinking,” this is a persistent myth that learning computing leads to problem-solving skills, and we have no support the claim.

I tweeted in response to Brenda’s slide, and several CS teachers asked me, “So why teach programming or computing at all?”  That’s a great question!  Here are some of my top reasons:

  1. To understand our world. The argument that Simon Peyton Jones made in England for their computer science curriculum is that Computer Science is a science like all the others. We teach Chemistry to students because they live in a world with chemical interactions. We teach Biology because they live in a world full of living things. We teach Physics because they live in a physical world. We should teach Computer Science because they live in a digital world.
  2. To study and understand processes. Alan Perlis (first ACM Turing Award laureate) argued in 1961 that everyone on every campus should learn to program. He said that computer science is the study of process, and many disciplines need people to know about process, from managers who work on logistics, to scientists who try to understand molecular or biological processes. Programming automates process, which creates opportunities to simulate, model, and test theories about processes at scale. Perlis was prescient in predicting computational science and engineering.
  3. To be able to ask questions about the influences on their lives. C.P. Snow also argued for everyone to learn computing in 1961, but with more foreboding. He correctly predicted that computers and computing algorithms were going to control important aspects of our lives. If we don’t know anything about computing, we don’t even know how to ask about those algorithms. It shouldn’t be magic.  Even if you’re not building these algorithms, simply knowing about them gives you power. C.P. Snow argues that you need that power.
  4. To use an important new form of literacy. Alan Kay made the argument in the 1970’s that computing is a whole new medium. In fact, it’s human’s first meta-medium — it can be all other media, and it includes interactivity so that the medium can respond to the reader/user/viewer. Computing gives us a new way to express ideas, to communicate to others, and to explore ideas.  Everyone should have access to this new medium.
  5. To have a new way to learn science and mathematics. Mathematics places a critical role in understanding our world, mostly in science. Our notation for mathematics has mostly been static equations. But code is different and gives us new insights. This is what Andy diSessa has been saying for many years. Bruce Sherin, Idit Harel, Yasmin Kafai, Uri Wilensky, and others have shown us how code gives us a powerful new way to learn science and mathematics. Bootstrap explicitly teaches mathematics with computing.  Everyone who learns mathematics should also learn computing, explicitly with programming.
  6. As a job skill. The most common argument for teaching computer science in the United States is as a job skill.  The original Code.org video argued that everyone should learn programming because we have a shortage of programmers. That’s just a terrible reason to make every school child learn to program. That’s what Larry Cuban was arguing this last summer. Tax payers should not be funding a Silicon Valley jobs program. Not everyone is going to become a software developer, and it doesn’t make any sense to train everyone for a job that only some will do. But, there’s some great evidence from Chris Scaffidi (that I learned about from Amy Ko’s terrific VL/HCC summary) showing that workers (not software developers) who program make higher wages than those comparable workers who do not. Learning to program gives students new skills that have value in the economy. It’s a social justice issue if we do not make this economic opportunity available to everyone.
  7. To use computers better. This one is a possibility, but we need research to support it. Everyone uses computers all the time these days. Does knowing how the computer works lead to more effective use of the computer?  Are you less likely to make mistakes? Are you more resilient in bouncing back from errors? Can you solve computing problems (those that happen in applications or with hardware, even without programming) more easily?  I bet the answer is yes, but I don’t know the research results that support that argument.
  8. As a medium in which to learn problem-solving. Finally, computer programming is an effective medium in which we can teach problem-solving. Just learning to program doesn’t teach problem-solving skills, but you can use programming if you want to teach problem-solving. Sharon Carver showed this many years ago. She wanted students to learn debugging skills, like being able to take a map and a set of instructions, then figure out where the instructions are wrong. She taught those debugging skills by having students debug Logo programs. Students successfully transferred those debugging skills to the map task. That’s super cool from a cognitive and learning sciences perspective. But her students didn’t learn much programming — she didn’t need much programming to teach that problem solving skill.But here’s the big caveat: They did not learn enough programming for any of the other reasons on this list!  The evidence we have says that you can teach problem-solving with programming, but students won’t gain more than that particular skill. That is a disservice to students.

Certainly there are more reasons than these, and I’ve seen several in the response to this blog post, and some in the comments below.

This was just one slide in Brenda’s talk. Her overall point was much more broader and more significant. I strongly agree with Brenda’s key point: CS for All is a social justice issue. Learning computing is so important that it is unjust to keep it from some students. Currently, CS is disproportionately unavailable to poorer students, to females, and to minority ethnic groups. We need CS for All.

October 18, 2017 at 12:30 pm 29 comments

More Teachers, Fewer 3D Printers: How to Improve K–12 Computer Science Education 

A nice summary of where we’re at with CS Ed in the United States, where additional funding and effort should go, and where it shouldn’t.

Addressing the teacher shortage should be the number one use for the new funds allocated by the Trump administration, says Mark Stehlik, a computer science professor at Carnegie Mellon University. A lack of qualified teachers is the biggest barrier to CS education in the U.S., he says, and he thinks the problem is going to get worse. An earlier generation of CS educators has started to retire, and he says younger CS graduates “aren’t going into education because they can make twice or more working in the software industry.”

One solution could be to expand the reach of each CS educator through online classes. But “online curricula aren’t going to save the day, especially for elementary and high school,” Stehlik says. “A motivated teacher who can inspire students and provide tailored feedback to them is the coin of the realm here.”

Where the money should not be spent? On hardware and equipment. Laptops, robots, and 3D printers are important, says Code.org’s Yongpradit, “but they don’t make a CS class. A trained teacher makes a CS class. So money should be focused on training teachers and offering robust curriculum.”

Source: More Teachers, Fewer 3D Printers: How to Improve K–12 Computer Science Education – IEEE Spectrum

October 18, 2017 at 7:00 am 8 comments

Start from where they are: Rochester Institute of Tech Opens Center Focused on ‘Computing Science for All’ 

Paul’s last line below says it all.  If you want to teach CS to all majors, you start by looking at the computing needs in those disciplines. You don’t start by asking computing experts what they do. Bravo!

“The Golisano College embraces a vision in which the computing domain is accessible to everyone, regardless of discipline, disability or diverse background,” said Anne Haake, dean of the college, who is spearheading the launch of the center from within her college. CS professor Paul Tymann will serve as director.

“Computers have become part of the fabric of virtually every discipline, and I don’t think you can be successful in today’s society without having a basic understanding of how computing works,” said Tymann, in a press release. “That’s why we are looking to understand the computing needs of every discipline at RIT.”

Source: Rochester Institute of Tech Opens Center Focused on ‘Computing Science for All’ — Campus Technology

October 16, 2017 at 7:00 am Leave a comment

Study says multiple factors work together to drive women away from STEM

I wrote recently in a blog post that we don’t know enough why women aren’t going into computing, and I wrote in another blog post that CRA is finding that we lose women over the years of an undergraduate degree in CS.  Here’s an interesting study offering explanations for why we are not getting and keeping women:

The study analyzed a large, private university on the East Coast, using data from 2009-16, broken down semester-by-semester to track students’ changes in grades and majors in as close to real time as possible. While other studies have suggested that women came out of high school less prepared, or that increasing female STEM faculty could help provide women mentors, the Georgetown study didn’t support those findings.

“Women faculty don’t seem to attract more women into a field, and that was sort of sad news for us,” Kugler said. “We were hoping we could make more of a difference.”

One of the reasons women might feel undue pressure in STEM fields might actually be because of how recruiting and mentoring is framed. Many times, those efforts actually end up reinforcing the idea that STEM is for men.“Society keeps telling us that STEM fields are masculine fields, that we need to increase the participation of women in STEM fields, but that kind of sends a signal that it’s not a field for women, and it kind of works against keeping women in these fields,” Kugler said.

And while many STEM majors are male-dominated, the framing of recruitment and mentorship efforts can sometimes paint inaccurate pictures for STEM fields that aren’t male-dominated, and contribute to an inaccurate picture for STEM as a whole, the paper says:

While men may not have a natural ability advantage in STEM fields, the numerous government and other policy initiatives designed to get women interested in STEM fields may have the unintended effect of signaling to women an inherent lack of fit.

While computer science, biophysics and physics tend to be male-dominated, Kugler said, neurobiology, environmental biology and biology of global health tend to be female-dominated.

Source: Study says multiple factors work together to drive women away from STEM

October 13, 2017 at 7:00 am 1 comment

The state of women in computer science: An investigative report, featuring Barbara Ericson

The new TechRepublic report on women in computing is short but touches on a lot of important themes. Barb Ericson figures prominently in the report.

At Georgia Tech, every student is required to take one of three computer science intro courses: One for engineering majors, one for computer science majors, and one for all other students.

In the past, computer science was not taught in a very interesting way, Ericson said. And getting professors to change their habits after so much time proved difficult, she added.

Further, “a lot of instructors believe in the ‘geek gene’—that you’re born to do it or you’re not, and they often think women are not,” Ericson said. “Women can face an uphill climb from some of their professors or friends or family who are like, ‘Wait, what? Why are you doing this?'”

Intro courses should be interesting, creative, and social, and offer plenty of help, especially for women who tend to come in with less experience and less confidence, Ericson said.

Source: The state of women in computer science: An investigative report – TechRepublic

October 11, 2017 at 7:00 am Leave a comment

6 Stories of Failure in Changing Higher Education: Misunderstanding Organizational Context

Last month, I had a birthday. It was not one of those big end-with-a-zero birthdays, but it was still notable. I can now get “senior” discounts from my local grocer. That’s something. Coincidentally, this month also begins my 25th year at Georgia Tech.

I’ve been reading about failure CV’s, a list of the usually-invisible things that go wrong in an academic’s career. The goal is to show that failure is quite common and that success is often a matter of luck. I’m not sure I can remember all my failed papers and proposals. I can remember a list of failures that relate to both my “senior” age and my years at Georgia Tech.

Below is a list of stories where I failed in an organizational context. In each of these, I proposed something that didn’t fly because I didn’t understand the organizational structure of higher education in general and Georgia Tech specifically. This isn’t a comprehensive list. I failed a lot more than this! I’m picking stories that offer lessons I’ve learned about the challenges of making educational initiatives in higher education, especially ones that I expect are useful in other organizations. I’m listing these in roughly chronological order.

Short form: Other computing educators may want to try these things. Didn’t work for me, and here’s why. Avoid my mistakes.

Entrepreneurial activity in education research often requires organization action or change, like new courses, new degree programs, adopting new teaching practices, or starting to teach a new population. I’ve been successful at some of this, like starting the Media Computation class and offering a variety of learning opportunities through “Georgia Computes!” Think of the stories in this list as startup ideas or business plans that don’t convince venture capitalists. These didn’t take off because I didn’t understand the market or the investors.

Side note: I’m also writing this for catharsis. Failures in organizational contexts are more painful than proposal or paper rejections. First, organizational failures are not anonymous — you are associated with the proposal, and you usually get the “no” to your face. Second, they gnaw at me. Could it have gone differently if I’d pitched it differently? To a different person? Maybe I could pitch it today and it would be different? Or is too late because the organization remembers that I already had my shot?

Story #1: A Computer Science Education Research Center

About 15 years ago, I wrote a memo proposing a Computer Science Education Research Center. (Yes, I still have it.) We had (and have) great computing education researchers, a large cohort of instructional faculty, and tons of students. The idea was to identify problems in the classrooms, develop solutions collaboratively between tenure-track faculty researchers and instructional faculty, try them out in the classrooms, and then publish and iterate. It was all about using our classrooms and students as a giant design-based research laboratory.

I’ve seen this work at places like UCSD, Duke, Stanford, and U. Toronto. It didn’t fly here, for reasons that are obvious in hindsight. The instructional faculty did not want tenure-track faculty telling them how to teach. The tenure-track faculty do not understand everything that it takes to keep huge classrooms running week-after-week, semester-after-semester. What happens when there are disagreements? There would likely be an awkward tension because of power relationships between tenure-track and instructional faculty.

The instructional faculty at Georgia Tech’s College of Computing have been overwhelmingly helpful with our Computing Education Research. Between encouraging their students to participate in our experiments, to letting us into their classrooms for observations, our lecturers and instructors support computing education research. I deeply appreciate their support. But it’s too big of an ask to have instructors change their teaching practice, or harder still, to implement an intervention in one semester and deny the intervention to another section of the same class (as a control/comparison).

I think it works at UCSD, Duke, Stanford, and U. Toronto because the instructional faculty are the computing education researchers. Changing your own courses for reasons you appreciate and value is different than doing it because researchers in a Center ask it of you. Doing it collaboratively (maybe even using some classes as control/comparisons) can lead to great research. It doesn’t work as well when the change comes from someone(s) other than the teacher.

In the end, what I proposed flew in the face of academic freedom. That faculty can teach using the methods that they think is best is a core principal in academic freedom. That’s a big part of what makes this job attractive. With rising numbers of students to teach and too few CS PhD’s becoming academics these days, we need to make the job more attractive, not add more restrictions.

Story #2: The Weight of Teacher Development Regulations

During the early years of Georgia Computes!, we realized that preparing more computing teachers was going to be critical to success. Barbara and I were part of a statewide committee to create a computer science teacher endorsement. I wanted Georgia Tech to offer computer science education classes towards certification for teachers with a goal of being a provider for the endorsement. I was particularly eager for us to use on-line learning technologies, so that teachers in other states (maybe even in other countries?) might use this program. I was sure that the name of “Georgia Tech” would help to sell the program to teachers.

My Chair (head of my School) told me that it was a bad idea, and he would not support my proposal. His reasoning was simple — we didn’t have a School of Education. Any kind of program that leads to a teaching certification involves a lot of regulation and paperwork. Georgia Tech didn’t have any programs like that. The regulatory and bureaucratic costs would have been totally new and likely large.

He was right. Three Universities eventually offered the endorsement in Georgia. All three did it through a collaboration between the Computer Science departments and existing Schools of Education. If your university is already doing teacher certification, adding computer science is a marginal cost. If your university wasn’t, you likely don’t know what you’re getting into. Now that I know more about how different states handle teacher certification, I realize how much of the process is defined by state regulation and legislation. I should have figured out the cost of my proposal before I made it.

Story #3: Apprenticeship and Conscience over Diversity Efforts

Several years ago, I became aware of teaching practices in one of our classes that I believed were likely impacting retention of female students (as mentioned in this blog post). I didn’t have any evidence that the practices were impacting retention. I critiqued the practices as an opinion of a researcher who studies diversity in computing education. I wanted to change our teaching practices in introductory CS courses in order to improve retention of women following recommendations of groups like NCWIT. I was unsuccessful.

When I first realized that there was a problem, I approached senior tenure-track faculty in my school. I described the practices I was concerned with — and they were unconcerned. The practices I described were pretty common in industry. But what about changing practices, maybe changing industry, trying to make industry more welcoming for women? I was running into a conflict that I’d seen in my faculty workshops. There are five common perspectives on what a teacher should be. I tend to take a “social reform” perspective (let’s use school to change society) or a “developmental” perspective (let’s start from where students are). But the most common teaching perspective among the CS faculty I’ve queried is “apprenticeship” — the job of the CS teacher is to model good software development behavior and to coach students in following those practices. In that perspective, it’s more important to teach current industry practice than to try to change what’s in industry. One perspective is not better than the other. “Apprenticeship” is a valid perspective for teaching CS, and I get the argument.

I had lunch with one of our most senior instructors, and I raised my concerns. He told me that he was worried about women going into the Tech industry. He went on to talk about the working conditions and how there were much better jobs for women. I was angry, thinking that he was saying that women couldn’t do these jobs or didn’t belong in Computing. I later reflected on what he said, and realized that my first reaction was wrong.

He was having a crisis of conscience, I now believe. Our instructors pay attention to what’s going on at Uber and at Google much more than the average tenure-track faculty. The instructors see their jobs as producing students who will go work in the Tech industry. My colleague was saying that he didn’t want to send women there, given how they’d be treated and what the Tech industry is like.

I don’t know what to tell him. When I tell women this story, they often ask, “Who is he to say what women should or shouldn’t do?” Fair response, but being concerned about what students should or shouldn’t do, or even having to decide who belongs and who should be encouraged to leave CS — that’s an occupational hazard of being a CS teacher. They make those decisions every day.

The lesson learned from this story is that I didn’t think hard enough about the forces that keep things the way they are, the motivations of the decision-makers. I didn’t think about my market before I pitched my product.

Story #4: The Tensions between State Governments and State Universities

In 2014, the Georgia Governor announced that he was making an initiative to push coding in Georgia’s schools (see my blog post here on that announcement). The next year, we had a terrific CS Education faculty candidate. My chair and I came up with an idea. We wanted to ask the Governor to fund an effort to innovate and promote coding in Georgia schools, building on our successful work in “Georgia Computes!” We wanted funding to hire this CS Ed candidate as part of this effort. We drew up a one-page pitch to the Provost, and a draft letter to the Governor (in our Provost’s name) to make the request. Our Dean took these to a face-to-face meeting with the Provost.

The next day, my chair and I received a reprimand from the upper administration for contacting the Governor without permission! Somewhere there was a misunderstanding, because we had not contacted anyone in state government. My chair cleared things up with the Provost, and we learned why there was such a strong reaction.

I had not realized how sensitive relationships are these days between state universities and state governments. States are providing less funding to their universities. Universities are understandably careful about what they ask for. Georgia Tech desperately needed a new building at the time. The Provost did not want to send mixed signals to the state government. For example, he didn’t want to give them the idea that the coding in Georgia initiative would be preferable to the building they needed.

I get it. Relations between state governments and universities are strained. You don’t want a rogue faculty member messing up the priorities, and you certainly have to be careful what you put on the wishlist. I didn’t realize that I was touching on such a sensitive negotiation.

Story #5: Teaching High School Students does not pay for MOOCs

Last year, I decided the best chance to get computer science into Georgia’s rural high schools was not Advanced Placement but dual enrollment. I told this story on Blog@CACM. I started the process of building a MOOC that would be equivalent to our CS1315 Media Computation class to offer to Georgia high school students as dual enrollment. We already have distance Calculus offered to rural high schools from Georgia Tech, but that’s delivered via special video links. I wanted to do a MOOC so that it could be more widely available.

The head of distance learning said no. MOOCs are expensive to build. We only build them if we can see a way to cover those costs. We couldn’t recoup the costs if we offered the MOOC to high school students.

Turns out that the Georgia legislature has capped the amount that universities can charge for dual enrollment tuition, and that amount does not cover Georgia Tech’s costs for MOOC development and hosting. Our head of online learning is trying to get that changed, to get the cap raised. Offering a CS MOOC for dual enrollment under those conditions would be a bad move in that negotiation.

I understand the issue. While the OMS CS is famous for being inexpensive, it’s not free. The financial model that we have for online education doesn’t work for high school students, which does have to be essentially free. We are now offering an online MOOC-based CS1 for CS majors, but that was paid for by an external funder. Maybe if I found an external funder, Georgia Tech would be willing to let me develop the MOOC. However, even the new CS1 MOOC is not available to Georgia high school students for dual enrollment. The political issue has not been resolved.

The lesson here is (again) that I should have figured out the costs of my proposal before I pitched it. I should have also figured out the politics before we started. A 10 minute conversation with the head of online education would have saved weeks of planning.

Story #6: Education Research can be Dangerous for Well-Ranked Technical Institutions

Last Spring, I got the chance to visit three engineering education programs, all of which have engineering education PhD students. I wondered whether we could build something similar here. There are several efforts on our campus to study STEM education, to be innovative in STEM education, and to evaluate novel interventions. These efforts have graduate students, and it would be great to be able to offer them a graduate certificate or even a degree. I asked the Provost for a meeting to discuss creating a STEM education research graduate certificate or degree.

The Provost started the meeting saying that there would never be a degree or academic unit at Georgia Tech with the word “education” in the title. He explained that education research is outside the unique mission of Georgia Tech. There are other education programs in the University System of Georgia. They can do STEM education research. The Georgia Institute of Technology should focus on technological advances.

I told my Dean this story, and he gave me new insight into the Provost’s motivations. The Dean thought that “never” was too strong, but he did have a specific criteria about whether to back this kind of an effort. “Which of our peer institutions has a STEM education research graduate certificate?” Georgia Tech (and the College of Computing) is well ranked. You have to be careful with that kind of ranking. You want to innovate, but you don’t want to do things that might make your peers think you’re weakening your research focus. Education research might be perceived as taking resources from technological research. It would be okay to do, if we didn’t go first.

I had not really thought through how Deans and Provosts evaluated new programs. They have a sense of mission, and new program proposals are evaluated against that mission. I should have tried to figure out the criteria first, before I made my proposal.

Conclusions

After the last story, one of the other Deans kindly reached out me. He told me, “Never is a long time.” Institutions change. Missions evolve. I am a post-Full Professor (as I described here). He suggested that I wait. There will be more opportunities for change later.

So what does work for higher education change? There’s another whole blog post to write about how Media Computation, Threads, and Georgia Computes actually worked, but I can generalize as the inverse of the above failures. Before you make a pitch like one of these, think about the motivations of the decision-makers. “It will improve learning” is rarely motivating for a higher-education administrator. “It will improve retention” is also unlikely to win, unless the low retention rate is a cost (e.g., students failing a required class may mean more students re-take the class, which costs in future enrollments). Fixing a known problem, reducing costs, improving stature, bringing in additional resources, and increasing fame — those are motivators for administrators and other higher-education decision-makers.

Mitchel Resnick has a new book out on Lifelong Kindergarten (see Amazon link). The interview with him on NPR about the new book is terrific. I particularly like Mitchel’s final quote, and it’s an apt conclusion to these stories:

I sometimes describe myself as a short-term pessimist and a long-term optimist.

I know how difficult it is to shift systems and mindsets. But I see the needs of societies changing so much, that the kinds of approaches in the book make so much sense, that ultimately we’ll win out. It’s what keeps me going. I’ve dedicated my life to this.

October 9, 2017 at 7:00 am 4 comments

Disrupt This!: MOOCs and the Promises of Technology by Karen Head

Over the summer, I read the latest book from my Georgia Tech colleague, Karen Head. Karen taught a MOOC in 2013 to teach freshman composition, as part of a project funded by the Gates Foundation. They wanted to see if MOOCs could be used to meet general education requirements. Karen wrote a terrific series or articles in The Chronicle of Higher Education about the experience (you can see my blog post on her last article in the series here). Her experience is the basis for her new book Disrupt This! (link to Amazon page here). There is an interview with her at Inside Higher Education that I also recommend (see link here).

In Disrupt This!, Karen critiques the movement to “disrupt education” with a unique lens. I’m an education researcher, so I tend to argue with MOOC advocates with data (e.g., my blog post in May about how MOOCs don’t serve to decrease income inequality). Karen is an expert in rhetoric. She analyzes two of the books at the heart of the education disruption literature: Clayton Christensen and Henry Eyring’s The Innovative University: Changing the DNA of Higher Education from the Inside Out and Richard DeMillo’s Abelard to Apple: The Fate of American Colleges and Universities. She critiques these two books from the perspective of how they argue — what they say, what they don’t say, and how the choice of each of those is designed to influence the audience. For example, she considers why we like the notion of “disruption.”

Disruption appeals to the audience’s desire to be in the vanguard. It is the antidote to complacency, and no one whose career revolves around the objectives of critical thinking and originality—the pillars of scholarship—wants to be accused of that…Discussions of disruptive innovation frequently conflate “is” (or “will be”) and “ought.” In spite of these distinctions, however, writers often shift from making dire warnings to an apparently gleeful endorsement of disruption. This is not unrelated to the frequent use of millenarian or religiously toned language, which often warns against a coming apocalypse and embraces disruption as a cleansing force.

Karen is not a luddite. She volunteered to create the Composition MOOC because she wanted to understand the technology. She has high standards and is critical of the technology when it doesn’t meet those standards. She does not suffer gladly the fools who declare the technology or the disruption as “inevitable.”

The need for radical change in today’s universities—even if it is accepted that such change is desirable—does not imply that change will inevitably occur. To imply that because the church should have embraced the widespread publication of scripture, modern universities should also embrace the use of MOOCs is simply a weak analogy.

Her strongest critique focuses on who these authors are. She argues that the people who are promoting change in education should (at least) have expertise in education. Her book mostly equates expertise with experience. My colleagues and I work to teach faculty about education, to develop their expertise before they enter the classroom (as in this post). I suspect Karen would agree with me about different paths to develop expertise, but she particularly values getting to know students face-to-face. She’s angry that the authors promoting education disruption do not know students.

It is a travesty that the conversation about the reform or disruption of higher education is being driven by a small group of individuals who are buffered from exposure to a wide range of students, but who still claim to speak on their behalf and in their interests.

Disrupt This! gave me a new way to think about MOOCs and the hype around disruptive technologies in education. I often think in terms of data. Karen shows how to critique the rhetoric — the data are less important if the argument they are supporting is already broken.

October 6, 2017 at 7:00 am 2 comments

Unpacking models of what the $USD1.3B might achieve in Computing Education: We need long-term vision and will

I wrote my Blog@CACM post for September on the massive investments in CS Education announced last week (see post here): $200M/year from the US Department of Education announced by the White House on Monday, then $300M over five years from the Tech industry announced on Tuesday. I have read analyses saying that the money isn’t really promised or isn’t new (see concerns in this post), and others are shunning the initiative because of White House policies (see link here). I took the promises at face value. My post starts congratulating Hadi Partovi and Cameron Wilson of Code.org and Ivanka Trump who were behind these initiatives, then I offered two back-of-the-envelope models of what $1.3B in five years could do:

  • I extrapolated the New York City model (of a significant computing education experience to every child in every school within grade bands) to the whole of the US, which would likely take more than a magnitude more funding.
  • The funding is enough to pay for a CS teacher in every school, but I argued that it wouldn’t really work. We face a shortage of STEM teachers, and those few are the teachers that we can most likely recruit to CS. CS teacher attrition is so high that we couldn’t keep up with the losses, since we have so few mechanisms of pre-service CS teacher preparation.

I received many responses, queries, and criticisms of that blog post (from email, Facebook, and Twitter).  I am explaining and unpacking the CACM blog post here. I am not going to delete or change the CACM blog post. My mentor, Janet Kolodner, told me once not to dwell on any paper, trying to make it a masterpiece before publishing it. Rather, she suggested that we should just keep publishing. Explore lots of ideas in lots of papers, and publish as a way of thinking with a community. It’s okay to publish something you thought was right, and later find that it’s wrong — it documents the explored trails.

What I learned about the effort in NYC

I said that NYC was aiming to provide a quality computing learning experience for every student in every grade in every school, as I learned last October (and blogged about it here). I learned that the goal is now mandating a computing learning experience in every grade band, so not every year. It’s still a markedly different model than one teacher per school, and doesn’t change the costs considerably.

I learned that (as one might expect) that the effort in NYC is in both the NYC Department of Education and in CSNYC. It’s great that there are many people in the NY DoEd working on CS education! I was told on Twitter that some of what I attributed to CSNYC is actually in NY Department of Education. I don’t know what I mis-attributed, but I’m sure that it’s because I get confounded over “CSNYC” representing “the effort to provide CS education across NYC” and “the organization that exists to provide CS education across NYC.” I don’t understand the split between NYC DoEd and the CSNYC organization, and I’m not going to guess here. I am sure that it’s important for the people involved, but it’s not so important for the model and national analysis.

Explaining my Estimates in Contrast to Code.org’s

Code.org has made their model of the one-time cost of expanding access to K-12 computer science (CS) available at this Google doc. According to their model, it’s clear that the $1.3B is enough to make CS education available in every elementary and secondary school. They have more empirical data than anyone else on putting CS in whole districts, and their data suggest that costs are decreasing as they gain more efficiencies of scale.

Hadi challenged several points in my blog post on Facebook. I won’t replicate all of our exchange, and only include three points here:

  • I argue that we will probably have to pay future CS teachers more in the future, at least as teacher stipends. That prediction is based on trends I see in the states I work with and economics. States are facing teacher shortages, especially in STEM. Aman Yadav shared an article (see link here) that students studying to be teachers fell by 40% from the 2010-2011 academic year to the 2014-2015 academic year. If the supply of teachers is growing more slowly than the rate at which we’re trying to grow CS, we will have to provide incentives to make CS more attractive. Lijun Ni’s dissertation explored the barriers for teachers to become CS teachers (e.g., it’s a lot easier and more pleasant to stay a math teacher). Costs are likely to grow as the labor shortage increases.
  • Some of my costs are too high, e.g., I estimated the cost to develop a high school CS teacher as $10K, where NSF’s studies found it was closer to $8.6K. I used a ballpark 50% of high school CS teacher development for the costs of elementary school CS teacher development.  Since it’s clear that there is enough to prepare one CS teacher per school, I think my numbers are close enough.
  • I believe that extrapolating the NYC model across the country would be even more expensive than it is in NYC. Travel costs in NYC are much less than in rural America. While NYC is very diverse, the rest of the United States is just as diverse. I got to see Ann Leftwich at Indiana University on Saturday. She told me that some of the schools she works with resist teaching science at all! It’s really hard to convince them to teach CS. I expect that there is a similar lack of will to teach CS across the US.

Not all of my estimates are research-based. We don’t have research on everything. Changing all US schools happens so rarely that we do not have good models of how it works. I don’t think that the empirical data of what we have done before in CS Ed is necessarily predictive of what comes next, since most of our experience with CS Ed at-scale is in urban and suburban settings. Getting everywhere is harder. I have observed about “Georgia Computes!” — 1/3 of the high schools in GA got someone that Barbara trained in CS, and that’s likely the easiest 1/3. The next 2/3 will be harder and more expensive.

What I Missed Entirely

As Hadi correctly called me on, the biggest cost factor I missed is the development of curriculum. Back in July, I blogged about Larry Cuban’s analysis that suggested that we need to re-think how we are developing and disseminating CS curriculum in the United States (see link here). We have to develop a lot more curriculum in collaboration with schools, districts, and states nationwide. The US will never adopt a single curriculum nationwide for any subject — it’s not how our system was developed, and it’s why Common Core did not reach all 50 states. The US education system is always about tailoring, adapting, and working with local values and politics. Curriculum is always political.

Mike Zamansky just posted a blog post critiquing some of the curriculum he’s seeing in NYC (see post here). I don’t agree with Mike’s post, but I wholeheartedly agree with his posting. We should argue about curriculum, negotiate what’s best for our students, and create curriculum that works for local contexts.  There is going to be a lot of that nationwide as we take steps towards providing computing education to all students. The iteration and revision will be expensive, but it’s a necessary expense for sustainable, longterm computing education.

What should we do with the money

At a talk I gave at Indiana University on Friday, Katie Siek asked me my opinion. What do I want to see the funding be used for?

It would be great if some of that funding could start more pre-service CS teacher preparation programs. I have argued that we should fund chairs of CS Education in top Schools of Education (see post here). Germany uses this model — they create CS Education professors who will be there for a career, producing CS teachers, supporting local communities of CS teachers, and serving as national models. An endowed chair is $1-3M at most universities. That is not very expensive for a longterm impact.

I prefer an NYC-like model of reaching every student to the model of a teacher for every school. The data I’ve seen from our ECEP states suggests that most CS teachers teach only a single computing class, and that class is typically mostly white/Asian and male. One CS  teacher per school doesn’t reach all the female and under-represented minority students. Equity has to be a top priority in our choices for these funds, since CS education is so inequitable.

My greatest wish is for computational literacy to be woven into other disciplines, especially across all of STEM. I devoted my career to computing education because I believe in the vision of Seymour Papert, Cynthia Solomon, Alan Kay, and Andrea diSessa. Computational literacy can improve learning in science, mathematics, art, language, and other disciplines, too.

I don’t argue that computer science is more important than other STEM subjects. Rather, computing makes learning in all the other STEM subjects better.

I want us to teach real computational literacy across subjects, not just in the CS class hidden away, and not just in an annual experience. I recognize that that’s a long-term, expensive vision — probably two orders of magnitude beyond the current initiative. We need more long-term thinking in CS education, like building up the CS teacher development infrastructure and making the case to people nationwide for CS education. We are not going to solve CS for All quickly.

When the K-12 CS Framework effort launched back in 2015, I told the story here about a conversation I had with Mike Lach (see post here). He pointed out that the last time we changed all US schools, it was in response to the Civil Rights movement. That’s when we started celebrating MLK Jr Day and added African-American History month. He asked me to think about how much national will it took to make those changes happen. We don’t have that kind of national will in CS education in this country — yet. We have a lot more groundwork to do before we can reach CS education for all students or all schools, and funding alone is not going to get us there.

October 4, 2017 at 7:00 am 10 comments

Preparing Tomorrow’s Faculty to Address Challenges in Teaching Computer Science

I’ve blogged here when we have opened registration for the New Computing Faculty workshops (e.g., here), but I haven’t really explained why we’re doing them.  We took a lot of grief on Twitter for the workshops in the Spring, and 120 characters just isn’t enough to explain the whole story. We (Leo Porter, Cynthia Lee, Beth Simon, and me) wrote an article that appeared in the May CACM explaining the rationale.  If you don’t have ACM Digital Library access, you can grab the paper from my Guzdial Papers page here in the blog.

The new challenges compound existing teaching-related challenges for the field. We still need to broaden participation in our field, with the lowest percentage of women majors in all of STEM. The economic rewards of a computing career make it even more important to bridge the digital divide. If there are more students than faculty can teach effectively, they may be inclined to lean on a pessimistic belief that success is dependent on “brilliance” and innate ability where only a subset of students can succeed. If CS faculty feel there is little they can do to change students’ outcomes in their individual classrooms, it will be true. Research shows that more CS faculty hold this mistaken and unproductive view of students than faculty in other STEM disciplines.

Source: Preparing Tomorrow’s Faculty to Address Challenges in Teaching Computer Science | May 2017 | Communications of the ACM

October 2, 2017 at 7:00 am 1 comment


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

Join 10,184 other subscribers

Feeds

Recent Posts

Blog Stats

  • 2,053,933 hits
October 2017
M T W T F S S
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

CS Teaching Tips