Starting from the students to build engaging computing courses for non-CS majors: Response to Goldweber and Walker
Michael Goldweber and Henry Walker responded to my blog posts (here in Blog@CACM and here in this blog) in the Inroad blog (see article here). My thanks to them for taking the time to respond to me. I found their comments especially valuable in helping to see where I was making assumptions about common values, goals, and understanding. It’s too easy in a blog to only get responses from people who share a common understanding (even if we violently disagree about values and goals). I found it helpful to get feedback from Dr. Goldweber and Dr. Walker with whom I don’t correspond regularly.
“Pedagogy” isn’t just “how to teach” for me. They argue that their articles are not about pedagogy but about what should be taught in a course that students might take to explore computer science. The page I linked to at the US Department of Education is about evidence-based education, not evidence-based pedagogy. The definition of pedagogy is “the discipline that deals with the theory and practice of education” (Wikipedia link). One meaning of pedagogy is the whole field of education, which is how I meant it in that piece (as in Pedagogy of the Oppressed.) What to teach is part of pedagogy. If we don’t use evidence for making decisions what to teach, we are practicing folk pedagogy.
My larger point was about the role of evidence rather than intuition. Whether we’re talking about how to teach or what to teach, I believe that we have to gather evidence (or in Paulo Freire’s terms, have a dialog with the students and stakeholders). Certainly, we want to gather evidence about the effectiveness of our teaching. We also need to gather evidence when designing education. My background is in education and HCI. For me, “Know thy users for they are not you” is a given in HCI, and “Student-centered” is a given in Education. Both saying suggest that we start with not-me: not the designer, not the teacher, not the domain expert. But for Dr. Walker, “The starting point is identifying the themes and Big Ideas, not pedagogy.”
The unspoken assumption behind my posts, which may not be shared with Dr. Walker and Dr. Goldweber, is that any CS course for non-CS majors (whether a service, elective, or exploratory course) should aim to increase interest in the field of CS, and especially, should be designed to attract and engage women and under-represented minorities in CS. If we are happy with just having the male white and Asian students that we typically attract now, then sure, Dr. Goldweber’s right — we can just do like Philosophy does and build the course based on what we think is important.
Dr. Walker is absolutely right — there is too little time in a course to fit in everything that we think is important about CS. Even if we leave programming out, there is still too much material. How do we decide which Big Ideas to include?
In my process, I start with the students. What are their life goals and desired careers? What’s needed from computing for them to be successful? What are their values? How can I show that computer science is relevant to those values? To choose among the ideas of computer science, we should use what the students need. To teach the ideas that students may not know they need, we should speak to their values.
I disagree with Dr. Goldweber on these points:
The design of a non-major’s course in computing, which is not a service course for some other department/program, should belong in the hands of the CS faculty. Students electing to explore a discipline take these courses. Surely, discipline experts are those who can best decide what to present from the discipline.
We can just design courses for non-CS majors based on our own experience and intuition. We shouldn’t be surprised, then, if we mostly attract white or Asian males and if we fail to engage diverse audiences. Since all three of us (Dr. Walker, Dr. Goldweber, and me) are white, male, CS professors, I believe that we’re the wrong people to use only our own experience and intuition when designing courses for non-CS majors, for a more diverse student population. Yes, we’re disciplinary experts, but that’s not enough. It is our responsibility to design the courses — on that, we’re agreed. It’s our responsibility to design for the students’ success.
One of my favorite quotes about computing education comes from Betsy DiSalvo and Amy Bruckman. “Computer science is not that difficult, but wanting to learn it is.” (See article here.) If we our goal is for students to learn computer science, we have to figure out will make them want to learn it.
Every year, Barbara Ericson does an analysis of the AP CS exam demographics by state. The 2013 analysis (see here) got a lot of media attention (see on-going list). Here’s the run-down for 2014. Her detailed national analysis (from which I quote in this document) can be found here, and her detailed race and gender analysis (which I include some) can be found here.
Nationally, 37,327 students took the AP CS A exam in 2014. This was a big increase (26.29%) from the 29,555 students who took it in 2013.
- The number of schools who passed the audit (which is a reasonable proxy for the number of AP CS teachers) went up by almost 300: 2,525 versus 2,252 the previous year.
- The number of female exam-takers was 7,458 (20%) which was up from 5,485 the year before (18.5%).
- The number of black students was 1,469 which was an increase from 1,090 the previous year. The number of Hispanic students was 3,270 up from 2,408 the previous year.
The top 10 states in terms of the number of exams taken were in 2014 were (with their 2014 and 2013 positions listed — Florida rose and Maryland dropped):
But California is also the largest state. If we control for population, here are the top 10 states by # exams in 2014 / estimated 2012 population / 100,000:
Eight states had a decrease in the number of students taking the AP CS A exam from the previous year: Oregon, Oklahoma, South Dakota, Kansas, Montana, Arkansas, West Virginia, and Maine.
Eighteen states had less than 100 people take the AP CS A exam in 2014, with Wyoming still the only state with no students taking the exam.
Barbara had help from Phil Sands from Purdue this year in doing the demographic analysis.
Females: The top three states with the most women taking the exam in 2014 are:
- California with 1599 exams (24%) and a pass rate of 65%
- Texas with 1102 exams (24%) and a pass rate of 51%
- New York with 504 exams (18.4%) and a pass rate of 56%
The top three states with the highest percentage of females taking the exam are (number of women / number of exams)
Mississippi (1/4 = 25%), Washington (260/1048 = 25%), Oklahoma (42/171 = 25%).
Tennessee, which had 31% female exam-takers in 2012, is no longer in the top ten of states.
No females took the exam in Montana (0 women of 4 exam takers) or Wyoming (but nobody took the exam in Wyoming). Eight more states had at least one woman but less than 10 women take the exam:Mississippi (1/4), North Dakota (1/14), Nebraska (2/71), Kansas (3/40), Alaska (4/30), South Dakota (4/29) and Utah (5/104) and Delaware (7/79).
African American: The top three states that had the most African American students take the exam in 2014 are:
- Maryland with 192 exams and a pass rate of 30.2% for African Americans compared to the overall pass rate of 62.1%.
- Texas with 161 exams and a pass rate of 40% compared to the overall pass rate of 55.7%.
- Georgia with 155 exams and a pass rate of 23% compared to the overall pass rate of 45.8%.
Thirteen states had no African American exam-takers in 2014 (number of African Americans / number of exams)
Alaska (0/30), Idaho (0/58), Kansas (0/40), Maine (0/99), Mississippi (0/4), Montana (0/4), Nebraska (0/71), New Hampshire (0/108), New Mexico (0/61), North Dakota (0/14), South Dakota (0/29), Vermont (0/71), and Wyoming (0/0).
Hispanic: The top three states that had the most Hispanics take the exam in 2014 (the College Board separates this into Mexican American, Puerto Rican, and Other Hispanic)
- Texas with 968 and a pass rate of 32% compared to the overall pass rate of 55.7%.
- California with 610 and a pass rate of 45.2% compared to the overall pass rate of 67.3%.
- Florida with 450 and a pass rate of 39.1% compared to the overall pass rate of 42.5%.
Seven states had no Hispanics take the exam in 2014: Iowa (0/119) which is 5.5% Hispanic by population, Mississippi (0/4) which is 2.9% Hispanic, Montana (0/4), North Dakota (0/14), South Dakota (0/29), West Virginia (0/48), and Wyoming (0/0).
This week is the SIGCSE 2015 Technical Symposium, the largest computing education conference in the US, perhaps in the world. About 1300 people will be heading to Kansas City for four days of discussion, workshops, and talks. See the conference page here and the program here.
Barbara Ericson and I will be presenting at several events:
- I’m speaking on a panel Thursday afternoon at 3:45 on human-subjects review of experiment protocols (by Institutional Review Boards (IRB)) and the challenges we’ve had in working in high schools and working on cross-institutional projects.
- Barb and I will be hosting with Rick Adrion a Birds of a Feather (BOF) session on state-level change at 6:30 Thursday. This is part of our ECEP work.
- On Friday morning at 10 am, we’ll be showing our electronic book (ebook) for high school teachers interested in learning CS Principles. The first public showing was at the NSF BPC Community meeting in January, but that was to a small audience. We’ll be presenting at the NSF Showcase at 10 am on the exhibition floor.
- Barb is speaking on Friday afternoon in a panel at 3:30 on activities for K-12 CS outreach.
- On Friday night, Barb is running her famous “How to run a computing summer camp workshop.”
As usual, Georgia Tech is sending several of us (not just Barb and me). One of my PhD students, Briana Morrison, is on a panel on Flipped Classrooms Thursday 1:45-3 pm in 3501G. Another of my PhD students, Miranda Parker, is part of a BOF Preparing Undergraduates to Make the Most of Attending CS Conferences 6:30-7:20 on Thursday evening. Our colleague, Betsy DiSalvo, is speaking Friday morning 10:45-12 on a panel Research, Resources and Communities: Informal Ed as a Partner in Computer Science Education in 2505A.
This is one of my shorter stays at a SIGCSE conference. I’ll be coming in late Wednesday and leaving Friday afternoon. I’ve been traveling way too much lately (NSF BPC Community meeting in January, talk at Penn in early February, Tapia conference in Boston two weeks ago, AP CS Principles review meeting in Chicago this last week). I am fortunate to be teaching Media Computation this semester, and I hate to miss so many lectures. More, it’s hard on our family when we’re both gone. Barb will be at SIGCSE all week, from Tuesday night to Sunday morning, so be sure to stop by and say hello to her.
Crowdsourcing Competitions Encourage Malicious Behavior: Reason Why Answers are Mean on StackOverflow?
StackOverflow is a competition. I read people bragging about their reputation score in StackOverflow regularly. I’m appalled at the rude and sexist comments in StackOverflow. I wonder if this paper helps to explain some of what’s going on.
Crowdsourcing generally espouses openness and broad-based cooperation, but the researchers explained that it also brings out people’s worst competitive instincts.“[T]he openness makes crowdsourcing solutions vulnerable to malicious behaviour of other interested parties,” said one of the study’s authors, Victor Naroditskiy from the University of Southampton, in a release on the study. “Malicious behaviour can take many forms, ranging from sabotaging problem progress to submitting misinformation. This comes to the front in crowdsourcing contests where a single winner takes the prize.”
A nice list with interesting history — I didn’t know most of these (Thanks to Guy Haas who sent it to me):
Although “Amazing Grace” Hopper is sometimes mentioned, Lovelace often serves as a token when talking about women in technology. However, her isolation in the midst of the male-dominated history of computer science does not reflect reality: There have been many, many other women who have made their careers in computer science, but whose stories have been erased and forgotten, many of their successes snubbed due to sexism. In fact, says Kathy Kleiman, founder of the ENIAC Programmers Project, “Programming was a pink-collar profession for about the first decade. There were some men, but it was actually hugely women.”
Lest we forget these female pioneers, here are ten that should be remembered alongside their male counterparts.
Hadi Partovi of Code.org has a blog post (see here) with data from their on-line classes. He’s making the argument that classroom teachers are super important for diversity and for student success.
Learning #1: Classrooms progress farther than students studying alone
In the graph below, the X axis is student age, the Y axis is their average progress in our courses. The blue line is students in classrooms with teachers. The red line is students studying without a classroom/teacher.
Learning #3: The ethnic backgrounds of students with teachers are impressively diverse
The data below doesn’t come from all students, because (for privacy reasons) we do not allow students to tell us their ethnic background. This chart was collected via an opt-in survey of teachers in the U.S. offering our courses, and as such is susceptible to inaccuracy. The picture it paints helps confirm our thesis that by integrating computer science into younger-aged classrooms in public schools, we can increase the diversity of students learning computer science.
Why programming in a non-majors, CS course is unlikely to lead to computational thinking (but is still a good idea): We must go beyond Intuition to Evidence
The March 2015 issues of Inroads (linked here) has a special section on “The role of programming in a non-major, CS course.” I was disappointed by several of the articles in the special section for making arguments without empirical evidence, and decided to write my February Blog@CACM article on the need for evidence-based practice in computing education (see post linked here).
I left out Henry Walker’s second article in the Blog@CACM post, and will discuss it here. In the first article, he argues against teaching programming because it would not leave enough time for other, more important topics. In the second one, he argues for teaching programming, if your learning objective is computational thinking.
If a non-majors course in computer science seeks to help students sharpen their skills in computational thinking, then students must be able to write solutions precisely. Further, students must be able to analyze the correctness of solutions and compare alternative solutions. Such work requires precision in writing. English or another natural language allows precision, but does not require precision.
Like in his first article, Henry offers no evidence for his claims. I do agree that programming requires greater precision than natural language. Henry argues for a value of the use of programming that is not supported by our research evidence.
If defined in sufficient detail, pseudo-code can enforce rigorous thinking, but pseudo-code cannot be run to check correctness or test efficiency. Ultimately, the use of a programming language is essential if computing courses are to help students sharpen their problem-solving skills.
In the decades of studies that have tried to find such transfer, the research evidence is that computing courses do not help students sharpen their problem-solving skills. I am not aware of studies that have rebutted David Palumbo’s 1990 review of the literature on programming and problem-solving (see paper reference here). It is possible to teach problem-solving skills using programming, but students do not gain general problem-solving skills from computing courses (with or without programming).
Henry’s evidence that this does happen is an anecdote:
An upper-level political science major who took my introductory computer science course indicated that her logical thinking in computer science had a clear payoff when she put arguments together for her papers in political science.
As a rationalization for a teaching decision, this is weak evidence. It’s self-report from a single student. The student probably did learn something interesting and useful from the class. Maybe the student did gain in logical thinking. Given the preponderance of evidence against general problem-solving skills coming from a programming class, I’m skeptical. Maybe she just saw her existing skills in a new light because of the computer science class — a useful learning outcome. In any case, is the positive experience of one student justification for designing a course for dozens or hundreds?
The conclusion of my Blog@CACM post still applies here. We don’t know what non-CS majors need or what they can learn. We shouldn’t just guess, because our intuition is very likely wrong — and it’s dangerous, since our experience (as mostly white, mostly male, CS faculty) is so different than those of most non-CS majors. We need the humility to admit that we don’t know. We must seek out evidence to inform our decision-making.