Back in September 2011, I announced that we received NSF funding to try to “beat the book.” (See post here.) Could we create an electronic (Web-based) book that was better for CS teacher learning than reading a physical book? Took us three years, but I’m confident that the answer is now, “Yes.”
Our ebook is hosted by Brad Miller’s Runestone tools and site. We use worked examples (as mentioned here) interleaved with practice, as Trafton and Reiser recommend. We have coding in the book as well as Philip Guo’s visualizations. There are audio tours to provide multi-modality code explanations (see modality effect), and Parson’s problems to provide low cognitive load practice (see mention here). We support book clubs that set their own schedule, in order to create social pressure to complete, but at a scale that makes sense for teachers.
2011 was a long time ago. That original post didn’t even mention MOOCs. We ran two studies in the Fall, one on learning with novices and one on usability (which involved several of you — thank you for responding to my call for participants!). I’m not going to say anything about those results here, pending review and publication. We have updated the book based on the results of those studies. I don’t know if we beat the MOOC. We’re running at about a 50% completion rate, but we’ll only really know when we go to scale.
I am pleased to announce the book is ready for release!
Please send this url to any teacher you think might want to learn about teaching CS (especially for the AP CS Principles — see learning objectives here) in Python: http://ebooks.cc.gatech.edu/TeachCSP-Python/ Thanks!
Our next steps are to develop a student ebook. By Fall, we hope to have a teacher and a student CSP ebook, which may make for an additional incentive for teachers to complete.
The comments from students in the article below from Duke are just like the ones I hear from my students when I ask them how our introductory class is going. “Way better than I expected” and “I thought it would be all geeky” and “I can see using this!” You’d think with all the press about computing education these days that we would wouldn’t still have to explain all of this, but yeah, we do.
“I thought I would be surrounded by tech geeks who sat alone at their computers all day,” Walker said. “But I came to realize that computer science lets you do things that are applicable to all sorts of fields.”
Now she’s using her new computational savvy to expand a nonprofit she founded in high school to raise money for an elephant sanctuary in Thailand.
“You wouldn’t think that running a nonprofit requires a lot of technical skills, but it does,” she said. “You get a problem and you think, ‘I could solve this on paper and it would take me 25 hours, or I can write one line of code and all of a sudden there’s my answer.’ The efficiency of it is super cool.”
The article linked below makes the argument that then-Governor Ronald Reagan changed perception higher education in the United States when he said on February 28, 1967 that the purpose of higher education was jobs, not “intellectual curiosity.” The author presents evidence that date marks a turning point in how Americans thought about higher education.
Most of CS education came after that date, and the focus in CS Education has always been jobs and meeting industry needs. Could CS Education been different if it had started before that date? Might we have had a CS education that was more like a liberal education? This is an issue for me since I teach mostly liberal arts students, and I believe that computing education is important for giving people powerful new tools for expression and thought. I wonder if the focus on tech jobs is why it’s been hard to establish computing requirements in universities (as I argued in this Blog@CACM post). If the purpose of computing education in post-Reagan higher education is about jobs, not about enhancing people’s lives, and most higher-education students aren’t going to become programmers, then it doesn’t make sense to teach everyone programming.
The Chronicle of Higher Education ran a similar piece on research (see post here). Research today is about “grand challenges,” not about Reagan’s “intellectual curiosity.” It’s structured, and it’s focused. The Chronicle piece argues that some of these structured and focused efforts at the Gates Foundation were more successful at basic research than they were at achieving the project goals.
“If a university is not a place where intellectual curiosity is to be encouraged, and subsidized,” the editors wrote, “then it is nothing.”
The Times was giving voice to the ideal of liberal education, in which college is a vehicle for intellectual development, for cultivating a flexible mind, and, no matter the focus of study, for fostering a broad set of knowledge and skills whose value is not always immediately apparent.
Reagan was staking out a competing vision. Learning for learning’s sake might be nice, but the rest of us shouldn’t have to pay for it. A higher education should prepare students for jobs.
Oklahoma isn’t the only state picking a fight over AP US History. Georgia’s legislators just introduced a similar bill (see article here). I disagree with what they’re doing, but I do agree with the argument below. The Advanced Placement program is a kind of “national curriculum.” That’s why efforts like CS Principles are so valuable — they impact many schools across the country all at once. My PhD advisor, Elliot Soloway, argues that it’s past time to establish national curricula (see article here), and he’s probably right. The American political sentiment goes strongly against that perspective.
For other lawmakers, however, Fisher is thinking too small. Oklahoma Rep. Sally Kern (R) claims that all “AP courses violate the legislation approved last year that repealed Common Core.” She has asked the Oklahoma Attorney General to issue a ruling. Kern argues that “AP courses are similar to Common Core, in that they could be construed as an attempt to impose a national curriculum on American schools.”
The Computer and Information Sciences and Engineering (CISE) directorate of the National Science Foundation (NSF) has been giving early CAREER awards for decades, but this is the first year that they actively sought computing education awards. Kristy Boyer and Ben Shapiro are awardees — our first CISE-side NSF CAREER awardees in computing education! This is a big step towards establishing computing education within CS departments.
Photo by Shuchi Grover
Here are pieces of their project summaries, to give you a sense of what they’re doing. Thanks to both of them for providing me with these, and CONGRATULATIONS! They’ve done a great service to our community by helping to explain computing education to the CISE community.
Kristy Boyer: A rich body of evidence suggests that collaborative learning holds many benefits for computer science students, yet there is growing recognition that neither collaborative learning itself, nor the innovative curricula in which it may be situated, are “magic bullets” capable of single-handedly solving the computing pipeline problem. In contrast to being a one-size-fits-all solution, collaborative learning is highly dependent upon characteristics of the collaborators and on fine-grained interactions.
Intellectual Merit : The overarching research question of the CS-CLIMATE project is, “How can we identify and support the facets of collaborative dialogue that are particularly effective for fostering learning,sense of identity, motivation, and continued engagement for diverse computer science learners?” The project will investigate this question through three thrusts:
1. Collect a rich set of computer science collaborative learning data. The project will leverage the ASCEND learning environment, built in the PI’s lab, which supports remote collaboration with textual natural language dialogue, synchronized code editing, and integrated repository control for two or more collaborators. Partnering with three participating institutions: North Carolina State University, Meredith College (an all-women’s institution), and Florida A&M University (a minority-serving university with 90% African American enrollment), the full suite of collected data will also include student characteristics of gender, race/ethnicity, personality profile, and achievement goal orientation, while measures of outcomes include learning, sense of computing identity, motivation, and engagement.
2. Examine the fine-grained facets of collaborative dialogue that are particularly effective for diverse computer science learners. By leveraging machine-learning frameworks for dialogue analysis developed within the PI’s lab, the project will see the creation of fine-grained, theoretically informed models that capture collaborative dialogue and problem solving phenomena associated with learning, identity development, motivation, and engagement.
3. Implement and evaluate evidence-based pedagogical support for fostering effective collaborative dialogue. The project will extract a set of evidence-based pedagogical strategies for fostering effective collaborative dialogue tailored to student characteristics. These evidence-based pedagogical supports will be evaluated through quasi-experimental studies. It is hypothesized that CS-CLIMATE pedagogical support will significantly improve learning, sense of identity, motivation, and continued engagement for students overall, and for women and African American students in particular. In addition to testing this primary hypothesis, the project will produce fine-grained sequential analyses and rich qualitative findings that further the state of knowledge about how diverse students learn computing.
Broader Impacts : The project’s central goal is to foster effective collaboration for underrepresented groups in computing, focusing on women and African American students. The project partners with a 100% women’s college and a HBCU that is 90% African American, partnerships grounded in and facilitated by the STARS Alliance for which Boyer is a founding Executive Steering Committee member. The project will make substantial impact by building research capacity: Boyer has a track record of mentoring diverse graduate and undergraduate students. The project’s software and data, including the ASCEND learning environment and the CS-CLIMATE pedagogical support suite, will be released to the community. Finally, it is anticipated that the project will produce significant theoretical and practical advances that lead to a deeper understanding of how diverse students learn computing. Serving as the foundation for many future years of the PI’s faculty career, the project has the potential to transform the way collaboration is incorporated into computer science education.
Ben Shapiro:Constructing Modern and Inclusive Trajectories for Computer Science Learning
Research in computer science education and software engineering points to three acute problems:
- Programmers, even experienced ones, struggle to reason about and correctly implement systems that include parallel and/or distributed computing.
- A severe lack of diversity: Women, African-Americans, and Latinos are grossly under-represented.
- A striking disconnect between the systems and communities that have been successfully engineered to engage broad populations in computing (e.g., Scratch) and the tools and practices of university, industry, and open-source computing.
These problems raise the following question: How can we create new ways into computer science for distributed computing, broaden participation, and support transitions into mainstream computer science?
I propose to investigate this broad question through the following activities:
- Inventing life-relevant ways into distributed computing for youth. Middle and high school students will solve problems by building networks of cyber-physical systems that communicate with each other.
- Investigating how distributed computing can broaden participation in CS. Under-Represented Minority (URM) students will be our partners in co-design (Druin, 1999, 2002; Yip et al., 2012) of the tools and curriculum, as well as participants in design-based research on learning (Collins et al., 1989; Edelson, 2002; DiSessa and Cobb, 2004). My students and I will investigate the effects of URMs’ participation on their interest, self-efficacy, and projective identity within computer science.
- Enabling trajectories into mainstream computer science practices. We will construct a toolkit and curriculum (see Section 4) to support youths’ transitions from using beginner-specific programming environments into techniques and tools that are commonly found in university-level computer science education and in industry and open-source community practice.
To do so, I will draw upon my interdisciplinary background in both learning sciences educational research and in computer science, as well as many years of experience on Chicago’s South Side and in Pittsburgh’s Hill District creating new media arts and technology learning environments for African-American youth, to build a software platform and curriculum that enable URM youth to collaboratively design and program distributed systems. I will study their learning, including how they transition from our beginner-specific tools into general-purpose programming languages and practices, and assess whether these activities build participants’ interest and self-efficacy in computer science.
C is Manly, Python is for “n00bs”: Our perception of programming languages is influenced by our gender expectations
Surprising and interesting empirical evidence that language use is mostly gender-neutral. Our expectations about gender influence how we think about programming languages. These perceptions help explain the prevalence of C and C++ in many undergraduate computing programs.
There is also a gendered perception of language hierarchy with the most “manly” at the top. One Slashdot commenter writes, “Bah, Python is for girls anyways. Everybody knows that PERL is the language of true men.” Someone else responds, “Actually, C is the language of true men…” Such views suggest that women might disproportionately use certain languages, but Ari and Leo found in their programmer surveys that knowledge of programming languages is largely equivalent between genders. Women are slightly more likely to know Excel and men are slightly more likely to know C, C#, and Ruby, but not enough to establish any gendered hierarchy.
I buy Chris Granger’s argument here, that coding is not nearly as important as modeling systems. The problem is that models need a representation — we need a language for our models. The point is modeling, but I don’t think we can have modeling without coding. As Michael Mateas said, there will always be friction (see post).
We build mental models of everything – from how to tie our shoes to the way macro-economic systems work. With these, we make decisions, predictions, and understand our experiences. If we want computers to be able to compute for us, then we have to accurately extract these models from our heads and record them. Writing Python isn’t the fundamental skill we need to teach people. Modeling systems is.