College of Computing Using Google Funding to Close CS Diversity Gap: Barb Ericson’s Project Rise Up 4 CS
Project Rise Up 4 CS and Sisters Rise Up 4 CS are really great ideas (see previous blog posts on the work presented at SIGCSE and at RESPECT) — though I’m obviously biased in my opinion. I’m grateful that Google continues to support Barb’s project, and the College did a nice write up about her efforts.
In fact, according to ongoing data analysis by Barbara Ericson, director of computing outreach for the Institute for Computing Education (ICE) for the Georgia Tech College of Computing, “The disparity here is so great that in 2015 10 U.S. states had fewer than 10 girls take the Advanced Placement (AP) Computer Science (CS) A course exam while 23 states had fewer than 10 black students take the exam.”
In an interview with the New York Times late last year Ericson said working to solve tech industry’s gender and racial diversity gap is important “because we don’t have enough people studying computer science in the United States to fill the projected number of jobs in the field.”
To address this problem and prepare more high school students for computer science careers, the College of Computing established RISE Up 4 CS in 2012.
Leveraging Google RISE Award funding, the RISE Up 4 CS program offers twice-a-week webinars and monthly in person sessions at Georgia Tech to prepare underrepresented students to succeed in taking the APCS A course exam and class. For the webinars, students use a free interactive e-book developed by Ericson to learn about searching and sorting data, and the fundamentals of JAVA.
Does pre-service CS education reduce the costs and make more effective in-service PD? Paths to #CS4All
What we’re trying to achieve in CS education in the United States is rarely done (successfully) and hasn’t been done in several decades (see previous post on this). We’re changing the education canon, what everyone is taught in schools. It’s a huge effort, involving standards and frameworks, convincing principals and legislators, and developing teachers and curricula.
Right now, we’re mostly developing the teachers we need with in-service education — which is expensive. We’re shipping around trainers, people providing professional development to existing teachers. We’re paying travel costs (sometimes) to teachers, and stipends (sometimes) for their time.
I have argued previously that we have to move to a pre-service model, where new teachers are prepared to be CS teachers from undergraduate education. It’s the only way to have a sustainable flow of CS teachers into the education system. NYC is working on developing per-service programs now, because it’s a necessity for their CS education mandate. No reform takes root in US schools without being in schools of education.
At a meeting of the Georgia CS Task Force, where talking about the high costs of in-service CS teacher education, we started wondering if the costs might be cheaper in the long-run by growing pre-service education, rather than scaling in-service. Of course, we have to build a critical mass cohort of in-service teachers (e.g., to provide mentors for student teachers) — in many states, we’ve already done that.
Creating pre-service programs at state universities creates opportunities for in-service education that are cheaper and maybe more effective than what we’re creating today. Pre-service programs would require CS Education faculty (and likely, graduate students) at state universities. These people are then resources.
- First, those faculty are now offering pre-service PD, which is necessary for sustainability.
- Regional high school and elementary school teachers could then go to the local university for in-service programs — which can be run more cheaply at the university, than at a downtown hotel or conference center with presenters shipped in from elsewhere.
- The CS Ed faculty are there as a resource for regional high school teachers for follow-up, and the follow-up is a critical part of actually instituting new curricula.
- Many education schools offer resources (e.g., curriculum libraries, help with teacher questions) that would be useful to CS teachers and are available locally with people who can answer questions.
Pre-service programs require more up-front costs (e.g., paying for faculty, setting up programs). But those costs likely amortize over the lifetime of the faculty and the program. Each individual professional development session offered by local faculty (either pre-service or in-service) is cheaper than each in-service session created by non-local presenters/developers. Over many years, it is likely cheaper to pay the higher up-front costs for pre-service than the long, expensive burn of in-service.
I don’t know how to figure out the cost trade-off, but it might be worthwhile for providers like Code.org and PLTW to play out the scenarios.
I’m teaching our introductory course in Human-Centered Computing for new PhD students this Fall. I have a huge reading list to review, including Latour, Geertz, Russell & Norvig, Goffman, Tufte, and so on.
I got to re-read Herbert Simon’s Sciences of the Artificial. I was struck by this quote at the end of Chapter 5.
Those of us who have lived close to the development of the modern computer through gestation and infancy have been drawn from a wide variety of professional fields, music being one of them. We have noticed the growing communication among intellectual disciplines that takes place around the computer. We have welcomed it, because it has brought us into contact with new worlds of knowledge—has helped us combat our own multiple-cultures isolation. This breakdown of old disciplinary boundaries has been much commented upon, and its connection with computers and the information sciences often noted.
Simon, Herbert A. (1996-09-26). The Sciences of the Artificial (MIT Press) (p. 137). The MIT Press.
I believe that the early days of computing were interdisciplinary and multi-cultural. Those interdisciplinary and multi-cultural forces created computer science, but once created, new cultures formed without continuing interdisciplinary and multi-cultural influences. What Simon did not foresee was the development of unique technology-centric culture(s), such as the Reddit culture and Silicon Valley Culture (as described in Forbes and New Yorker). Valuing multiculturalism and diverse perspectives in the early days of computing is in sharp contrast to today’s computing world. (Think Gamergate.)
Note who is considered a computer scientist today. In the early days of computer science as a discipline, faculty in the computer science department would have degrees from mathematics, electrical engineering, philosophy, and psychology. Today, you rarely find a computer science faculty member without a computer science degree. When I first started my PhD in Education and Computer Science at the University of Michigan, one of the CS graduate advisors tried to talk me out of it. “No CS department is going to hire you with an Education degree!” Fortunately for me, he was wrong, but not far wrong. There are few CS faculty in the US today who have a credential in education — that’s not a successful add-on for a CS academic. That’s a far cry from the world described in Simon’s quote.
Seeking Collaborators for a Study of Achievement Goal Theory in CS1: Guest blog post by Daniel Zingaro
I have talked about Dan’s work here before, such as his 2014 award-winning ICER paper and his Peer Instruction in CS website. I met with Dan at the last SIGCSE where he told me about the study that he and Leo Porter were planning. Their results are fascinating since they are counter to what Achievement Goal Theory predicts. I invited him to write a guest blog post to seek collaborators for his study, and am grateful that he sent me this.
Why might we apply educational theory to our study of novice programmers? One core reason lies in theory-building: if someone has developed a general learning theory, then we might do well to co-opt and extend it for the computing context. What we get for free is clear: a theoretical basis, perhaps with associated experimental procedures, scales, hypotheses, and predictions. Unfortunately, however, there is often a cost in appropriating this theory: it may not replicate for us in the expected ways.
Briana Morrison’s recent work nicely highlights this point. In two studies, Briana reports her efforts to replicate what is known about subgoals and worked examples. Briefly, a worked example is a sample problem whose step-by-step solution is given to students. And subgoals are used to break that solution into logical chunks to hopefully help students map out the ways that the steps fit together to solve the problem.
Do subgoals help? Well, it’s supposed to go like this, from the educational psychology literature: having students generate their own labeled goals is best, giving students the subgoal labels is worse, and not using subgoals at all is worse still. But that isn’t what Briana found. For example, Briana reports  that, on Parsons puzzles, students who are given subgoal labels do better than both those who generate their own subgoal labels and those not given subgoals at all. Why the differences? One possibility is that programming exerts considerable cognitive load on the learner, and that the additional load incurred by generating subgoal labels overloads the student and harms learning.
The point here is that taking seriously the idea of leveraging existing theory requires concomitant attention to how and why the theory may operate differently in computing.
My particular interest here is in another theory from educational psychology: achievement goal theory (AGT). AGT studies the goals that students adopt in achievement situations, and the positive and negative consequences of those goals in terms of educationally-relevant outcomes. AGT zones in on two main goal types: mastery goals (where performance is defined intrapersonally) and performance goals (where performance is defined normatively in comparison to others).
Do these goals matter? Well, it’s supposed to go roughly like this: mastery goals are positively associated with many outcomes of value, such as interest, enjoyment, self-efficacy, and deep study strategies (but not academic performance); performance goals, surprisingly and confusingly, are positively associated with academic performance. But, paralleling the Briana studies from above, this isn’t what we’ve found in CS. With Leo Porter and my students, we’ve been studying goal-outcome links in novice CS students. We’ve found, contrary to theoretical expectations, that performance goals appear to be null or negative predictors of performance, and that mastery goals appear to be positive predictors of performance [2,3].
We are now conducting a larger study of achievement goals and outcomes of CS1 students — larger than that achievable with the couple of institutions to which we have access on our own. We are asking for your help.
The study involves administering two surveys to students in a CS1 course. The first survey, at the beginning of the semester, measures student achievement goals. The second survey, close to the end of the semester, measures potential mediating variables. We plan to collect exam grade, interest in CS, and other outcome variables.
The hope is that we can conduct a multi-institutional study of a variety of CS1 courses to strengthen what we know about achievement goals in CS.
Please contact me at daniel dot zingaro at utoronto dot ca if you are interested in participating in this work. Thanks!
 Briana Morrison. Subgoals Help Students Solve Parsons Problems. SIGCSE, 2016. ACM DL link.
 Daniel Zingaro. Examining Interest and Performance in Computer Science 1: A Study of Pedagogy and Achievement Goals. TOCE, 2015. ACM DL link.
 Daniel Zingaro and Leo Porter. Impact of Student Achievement Goals on CS1 Outcomes. SIGCSE, 2016. ACM DL link.
I don’t often link to Quora, but when it’s Steven Pinker pointing out the relationship between our human nature to educational goals, it’s worth it.
One potential insight is that educators begin not with blank slates but with minds that are adapted to think and reason in ways that may be at cross-purposes with the goals of education in a modern society. The conscious portion of language consists of words and meanings, but the portion that connects most directly to print consists of phonemes, which ordinarily are below the level of consciousness. We intuitively understand living species as having essences, but the theory of evolution requires us to rethink them as populations of variable individuals. We naturally assess probability by dredging up examples from memory, whereas real probability takes into account the number of occurrences and the number of opportunities. We are apt to think that people who disagree with us are stupid and stubborn, while we are overconfident and self-deluded about our own competence and honesty.
I enjoy reading Annie Murphy Paul’s essays, and this one particularly struck home because I just got my student opinion surveys from last semester. I use active learning methods in my Media Computation class every day, where I require students to work with one another. One student wrote:
“I didn’t like how he forced us to interact with each other. I don’t think that is the best way for me to learn, but it was forced upon me.”
It’s true. I am a Peer Instruction bully.
At a deeper level, it’s amazing how easily we fool ourselves about what we learn from and what we don’t learn from. It’s like the brain training work. We’re convinced that we’re learning from it, even if we’re not. This student is convinced that he doesn’t learn from it, even though the available evidence says she or he does.
In case you’re wondering about just what “active learning” is, here’s a widely-accepted definition: “Active learning engages students in the process of learning through activities and/or discussion in class, as opposed to passively listening to an expert. It emphasizes higher-order thinking and often involves group work.”
Japan plans to make programming mandatory at schools as a step to foster creativity: What if it doesn’t work?
Japan is planning to make programming mandatory in all their schools because it will help their children to think logically and creatively. Except, we don’t have evidence that it does. We know a little about how to use programming as a medium for developing thinking skills, but I know of no efforts to make it replicable and scalable. I don’t know of anyone using programming in order to improve creativity. I know of no evidence that learning to program improves creativity.
This is a nation-size gamble. I’m interested in how Japan goes about this — they face the same challenges as NYC does in their initiative, at an even larger scale.
It is essential that computer programming to be taught in schools will lead to improving children’s ability to think logically and creatively.