Posts tagged ‘#CSforAll’

Are you talking to me? Interaction between teachers and researchers around evidence, truth, theory, and decision-making

In this blog, I’m talking about computing education research, but I’m not always sure and certainly not always clear about who I’m talking to. That’s a problem, but it’s not just my problem. It’s a general problem of research, and a particular problem of education research. What should we say when we’re talking to researchers, and what should we say when we’re talking to teachers, and where do we need to insert caveats or explain assumptions that may not be obvious to each audience?

From what I know of philosophy of science, I’m a post-positivist. I believe that there is an objective reality, and the best tools that we humans have to understand it are empirical evidence and the scientific method. Observations and experiments have errors and flaws, and our perspectives are biased. All theory should be questioned and may be revised. But that’s not how everyone sees the world, and what I might say in my blog may be perceived as a statement of truth, when the strongest statement I might make is a statement of evidence-supported theory.

It’s hard to bridge the gap between researchers and education. Lauren Margulieux shared on Twitter a recent Educational Researcher article that addresses the issue. It’s not about getting teachers access to journal articles, because those articles aren’t written to speak to nor address teachers’ concerns. There have to be efforts from both directions, to help teachers to grok researchers and researchers to speak to teachers.

I have three examples to concretize the problem.

Recursion and Iteration

I wrote a blog post earlier this month where I stated that iteration should be taught before recursion if one is trying to teach both. For me, this is a well-supported statement of theory. I have written about the work by Anderson and Wiedenbeck supporting this argument. I have also written about the terrific work by Pirolli exploring different ways to teach recursion, which fed into the work by Anderson.

In the discussion on the earlier post, Shriram correctly pointed out that there are more modern ways to teach recursion, which might make it better to teach before iteration. Other respondents to that post point out the newer forms of iteration which are much simpler. Anderson and Wiedenbeck’s work was in the 1980’s. That sounds great — I would hope that we can do better than what we did 30 years ago. I do not know of studies that show that the new ways work better or differently than the ways of the 1980’s, and I would love to see them.

By default, I do not assume that more modern ways are necessarily better. Lots of scientists do explore new directions that turn out to be cul-de-sacs in light of later evidence (e.g., there was a lot of research in learning styles before the weight of evidence suggested that they didn’t exist). I certainly hope and believe that we are coming up with better ways to teach and better theories to explain what’s going on. I have every reason to expect that the modern ways of teaching recursion are better, and that the FOR EACH loop in Python and Java works differently than the iteration forms that Anderson and Wiedenbeck studied.

The problem for me is how to talk about it.  I wrote that earlier blog post thinking about teachers.  If I’m talking to teachers, should I put in all these caveats and talk about the possibilities that haven’t yet been tested with evidence? Teachers aren’t researchers. In order to do their jobs, they don’t need to know the research methods and the probabilistic state of the evidence base. They want to know the best practices as supported by the evidence and theory. The best evidence-based recommendation I know is to teach iteration before recursion.

But had I thought about the fact that other researchers would be reading the blog, I would have inserted some caveats.  I mean to always be implicitly saying to the researchers, “I’m open to being proven wrong about this,” but maybe I need to be more explicit about making statements about falsifiability. Certainly, my statement would have been a bit less forceful about iteration before recursion if I’d thought about a broader audience.

Making Predictions before Live Coding

I’m not consistent about how much evidence I require before I make a recommendation. For a while now, I have been using predictions before live coding demonstrations in my classes. It’s based on some strong evidence from Eric Mazur that I wrote about in 2011 (see blog post here). I recommend the practice often in my keynotes (see the video of me talking about predictions at EPFL from March 2018).

I really don’t have strong evidence that this practice works in CS classes. It should be a pretty simple experiment to test the theory that predictions before seeing program execution demonstrations helps with learning.

  • Have a set of programs that you want students to learn from.
  • The control group sees the program, then sees the execution.
  • The experimental group sees the program, writes down a prediction about what the execution will be, then sees the execution.
  • Afterwards, ask both groups about the programs and their execution.

I don’t know that anybody has done this experiment. We know that predictions work well in physics education, but we know that lots of things from physics education do not work in CS education. (See Briana Morrison’s dissertation.)

Teachers have to do lots of things for which we have no evidence. We don’t have enough research in CS Ed to guide all of our teaching practice. Robert Glaser once defined education as “Psychology Engineering,” and like all engineers, teachers have to do things for which we don’t have enough science. We make our best guess and take action.

So, I’m recommending a practice for which I don’t have evidence in CS education. Sometimes when I give the talk on prediction, I point out that we don’t have evidence from CS. But not always. I probably should. Maybe it’s enough that we have good evidence from physics, and I don’t have to get into the subtle differences between PER and CER for teachers. Researchers should know that this is yet another example of a great question to be addressed. But there are too few Computing Education Researchers, and none that I know are bored and looking for new experiments to run.

Code.org and UTeach CSP

Another example of the complexity of talking to teachers about research is reflected in a series of blog posts (and other social media) that came out at the end of last year about the AP CS Principles results.

  • UTeach wrote a blog post in September about the excellent results that their students had on the AP CSP exam (see post here). They pointed out that their pass rate (83%) was much higher than the national average of 74%, and that advantage in pass rates was still there when the data were disaggregated by gender or ethnicity.
  • There followed a lot of discussion (in blog posts, on Facebook, and via email) about what those results said about the UTeach curriculum. Should schools adopt the UTeach CSP curriculum based on these results?
  • Hadi Partovi of Code.org responded with a blog post in October (see post here). He argued that exam scores were not a good basis for making curriculum decisions. Code.org’s pass rates were lower than UTeach’s (see their blog post on their scores), and that could likely be explained by Code.org’s focus on under-represented and low-SES student groups who might not perform as well on the AP CSP for a variety of reasons.
  • Michael Marder of UTeach responded with two blog posts. One conducted an analysis suggesting that UTeach’s teacher professional development, support, and curriculum explained their difference from the national average (see post here), i.e., it wasn’t due to what students were served by UTeach. A second post tried to respond to Hadi directly to show that UTeach did particularly well with underrepresented groups (see post here).

I don’t see that anybody’s wrong here. We should be concerned that teachers and other education decision-makers may misinterpret the research results to say more than they do.

  • The first result from UTeach says “UTeach’s CSP is very good.” More colloquially, UTeach doesn’t suck. There is snake oil out there. There are teaching methods that don’t actually work well for anyone (e.g., we could talk some more about learning styles) or only work for the most privileged students (e.g., lectures without active learning supports). How do you show that your curriculum (and PD and support) is providing value, across students in different demographic groups? Comparing to the national average (and disaggregated averages) is a reasonable way to do it.
  • There are no results saying that UTeach is better than Code.org for anyone, or vice-versa. I know of no studies comparing any of the CSP curricula. I know of no data that would allow us to make these comparisons. They’re hard to do in a way that’s convincing. You’d want to have a bunch of CSP students and randomly assign them to either UTeach and Code.org, trying to make sure that all relevant variables (like percent of women and underrepresented groups) is the same in each. There are likely not enough students taking CSP yet to be able to do these studies.
  • Code.org likely did well for their underrepresented students, and so did UTeach. It’s impossible to tell which did better. Marder is arguing that UTeach did well with underrepresented groups, and UTeach’s success was due to their interventions, not due to the students who took the test.  I believe that UTeach did well with underrepresented groups. Marder is using statistics on the existing data collected about their participants to make the argument about the intervention. He didn’t run any experiments. I don’t doubt his stats, but I’m not compelled either. In general, though, I’m not worried about that level of detail in the argument.

All of that said, teachers, principals, and school administrators have to make decisions. They’re engineers in the field. They don’t have enough science. They may use data like pass rates to make choices about which curricula to use. From my perspective, without a horse in the race or a dog in the fight, it’s not something I’m worried about. I’m much more concerned about the decision whether to offer CSP at all. I want schools to offer CS, and I want them to offer high-quality CS. Both UTeach and Code.org offer high-quality CS, so that choice isn’t really a problem. I worry about schools that choose to offer no CSP or no CS at all.

Researchers and teachers are solving different problems. There should be better communication. Researchers have to make explicit the things that teachers might be confused about, but they might not realize what the teachers are confused about. In computing education research and other interdisciplinary fields, researchers may have to explain to each other what assumptions they’re making, because their assumptions are different in different fields. Teachers may use research to make decisions because they have to make decisions. It’s better for them to use evidence than not to use evidence, but there’s a danger in using evidence to make invalid arguments — to say that the evidence implies more than it does.

I don’t have a solution to offer here. I can point out the problem and use my blog to explore the boundary.

June 15, 2018 at 1:00 am 5 comments

The pushback begins: Who benefits from the push to teach every kid to code?

The pushback was inevitable.  Slate published a piece in December, “Who Benefits From the Push to Teach Every Kid to Code?” The article provides an answer in the subtitle, “Tech companies, for one.”

The article is more history lesson than explicit argument that the driver behind the current effort to promote computing is simply for Tech companies to bolster their bottom line.  It’s still an interesting piece and worth reading.

For some tech companies, this is an explicit goal. In 2016, Oracle and Micron Technology helped write a state education bill in Idaho that read, “It is essential that efforts to increase computer science instruction, kindergarten through career, be driven by the needs of industry and be developed in partnership with industry.” While two lawmakers objected to the corporate influence on the bill, it passed with an overwhelming majority.

Some critics argue that the goal of the coding push is to massively increase the number of programmers on the market, depressing wages and bolstering tech companies’ profit margins. Though there is no concrete evidence to support this claim, the fact remains that only half of college students who majored in science, technology, engineering, or math-related subjects get jobs in their field after graduation. That certainly casts doubt on the idea that there is a “skills gap“ between workers’ abilities and employers’ needs. Concerns about these disparities have helped justify investment in tech education over the past 20 years.

January 26, 2018 at 7:00 am 6 comments

White House announces $200 million a year for computer science – Code.org #CSforAll

Looking forward to hearing more details at Code.org’s webinar this afternoon.  Hadi Partovi posted on Facebook that the money will be provided as competitive grants to schools and non-profits through the Department of Education.  Hadi has written a personal blog post about his motivations in supporting this announcement.

The White House memorandum on the announcement is here. I don’t understand all the details here, and the details of the funding are important.  If it’s not new funding, then it puts CS in competition with other fields, e.g., if the money is set aside for CS when it was originally allocated for all of STEM.  The White House memorandum says, “Establish promotion of high-quality STEM education, with a particular focus on Computer Science, as a Department of Education priority.” If it’s a preference (e.g., a school gets money if and only if they’re teaching CS), it may hurt schools that can’t afford to teach CS yet because they’re stretched thin teaching literacy and mathematics.

Here’s the webinar information: (9/26) at 11am PT, 2pm ET
By web: https://code.zoom.us/j/783490509
By phone: US: +1 646 558 8656 or +1 669 900 6833
Webinar ID: 783 490 509

Today, the White House announced a $200 million per year commitment to computer science education in America’s schools. Unlike similar proposals in previous years, today’s action delivers funding to schools, immediately. Besides expanding access to computer science in schools that previously didn’t teach it, the funds promise to increase participation by women and underrepresented minorities.This funding will jumpstart efforts to ensure every student in every school has the opportunity to learn computer science as part of a well-rounded education. For advocates of increased access and diversity in CS, this is the culmination of years of momentum that began in classrooms, spread to entire school districts, and won the support of business leaders and elected officials globally.

Source: $200 million a year for computer science – Code.org – Medium

September 26, 2017 at 7:00 am Leave a comment

Google study on the challenges for rural communities in teaching CS

Google continues their series of reports on the challenges of teaching CS, with a new report on rural and small-town communities in the US.  This is an important part of CS for All, and is a problem internationally.  The Roehampton Report found that rural English schools were less likely to have computing education than urban schools.  How do we avoid creating a computing education divide between urban and rural schools?

This special brief from our Google-Gallup study dives into the opportunities and challenges for rural and small-town communities. Based on nationally representative surveys from 2015-16, we found:

  • Students from rural/small-town schools are just as likely as other students to see CS as important for their future careers, including 86% who believe they may have a job needing computer science.

  • Rural/small-town parents and principals also highly value CS, with 83% of parents and 64% of principals saying that offering CS is just as or more important than required courses.

  • Rural/small-town students are less likely to have access to CS classes and clubs at school compared to suburban students, and their parents are less likely to know of CS opportunities outside of school.

  • Rural/small-town principals are less likely to prioritize CS, compared to large-city or suburban principals.

Source: Google for Education: Computer Science Research

September 4, 2017 at 7:00 am 1 comment

Report from Jan Cuny on Computer Science Education for Everyone: A Groundswell of Support

Jan Cuny wrote a blog post about where we are in the effort to provide CS education to everyone.  Next month is important for the CS for All effort — the first offering of the AP CS Principles exam is May 5.  Last I heard, over 46,000 students had turned in materials for their digital portfolios as part of the AP CSP exam.  I’m eager to hear how many actually take it!

Progress has been dramatic. Many school districts and states now require CS in all K-12 schools – examples include New York City, San Francisco, Broward County (FL), Rhode Island, Virginia, and in 2016, Chicago became the first major district to make CS a graduation requirement. Also in 2016, a new organization — CSforAll.org— formed to build community among national stakeholders and provide resources for parents, teachers, school districts, and education researchers. And the new AP CSP officially launched this year with 2,700 teachers, putting it on track to be the largest AP launch ever.

Source: Infosys Foundation USA – Media | Blog | Computer Science Education for Everyone: A Groundswell of Support

April 14, 2017 at 7:38 am Leave a comment

California developing Computer Science Standards

California is now starting a process of developing computer science standards for K-12, explicitly using the new K-12 CS Framework.  California is huge and has a huge influence on the rest of the country’s education policy and practice.  This will likely be one of the most important outcomes of the K-12 CS Framework process.

Computer Science Content Standards Development

The CDE, Instructional Quality Commission, and State Board of Education (SBE) are commencing the process for developing new California computer science content standards. Per California Education Code. Section 60605.4, “on or before July 31, 2019, the Instructional Quality Commission shall consider developing and recommending to the SBE computer science content standards for kindergarten and grades 1 to 12, inclusive, pursuant to recommendations developed by a group of computer science experts.” Information and updates concerning the development of computer science content standards for California public schools will be posted here.

Source: Computer Science Education – Content Standards (CA Dept of Education)

January 13, 2017 at 7:00 am Leave a comment

Making Hard Choices in State Computing Education Policy towards #CSforAll #CSEdWeek

At the ECEP Summit, I sat with the team from North Carolina as they were reviewing data that our evaluation team from Sagefox had assembled.  It was fascinating to work with them as they reviewed their state data.  I realized in a new way the difficult choices that a state has to make when deciding how to make progress towards the CS for All goal.  In the discussion that follows, I don’t mean to critique North Carolina in any way — every state has similar strengths and weaknesses, and has to make difficult choices.  I just spent time working with the North Carolina team, so I have their numbers at-hand.

North Carolina has 5,000 students taking CS in the state right now.  That was higher than some of the other states in the room.  I had been sitting with the Georgia state team, and knew that Georgia was unsure if we have even one full-time CS teacher in a public high school in the whole state.  The North Carolina team knew for a fact that they had at least 10 full-time high school CS teachers.

Some of the other statistics that Sagefox had gathered:

  • In 2015, the only 18% of Blacks in North Carolina who took the AP CS exam passed it. (It rose to 28% in 2016, but we didn’t have those results at the summit.) The overall pass rate for AP CS in North Carolina is over 40%.
  • Only 68 teachers in the state took any kind of CS Professional Development (that Sagefox could track).  There are 727 high schools in the state.
  • Knowing that there are 727 high schools in the state, we can put the 5,000 high school students in CS in perspective.  We know that there at 10 full-time CS teachers in North Carolina, each teaching six classes of 20 students each.  That accounts for 1,200 of those 5,000.  3,800 students divided by 717 high schools, with class sizes typically at 20 students, suggests that not all high schools in North Carolina have any CS at all.

Given all of this, if you wanted to achieve CS for All, where would you make a strategic investment?

  • Maybe you’d want to raise that Black student pass rate.  North Carolina is 22% African-American.  If you can improve quality for those students, you can make a huge impact on the state and make big steps towards broadening participation in computing.
  • Maybe you’d want to work towards all high schools having a CS teacher.  Each teacher is only going to reach at most 120 students (that’s full-time), but that would go a long way towards more equitable access to CS education in the state.
  • Maybe you’d want to have more full-time CS teachers — not just one class, but more teachers who just teach CS for the maximum six courses a year.  Then, you reach more students, and you create an incentive for more pre-service education and a pipeline for CS teachers, since then you’d have jobs for them.

The problem is that you can’t do all of these things.  Each of these is expensive.  You can really only go after one goal at a time.  Which one first?  It’s a hard choice, and we don’t have enough evidence to advise which is likely to pay off the most in the long run.  And you can’t achieve all of the goal all at once — as I described in Blog@CACM, you take incremental steps. These are all tough choices.

December 9, 2016 at 7:51 am Leave a comment

Older Posts


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

Join 5,317 other followers

Feeds

Recent Posts

Blog Stats

  • 1,554,186 hits
September 2018
M T W T F S S
« Aug    
 12
3456789
10111213141516
17181920212223
24252627282930

CS Teaching Tips