Archive for February, 2015
10 women who changed the tech industry forever
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.
More diversity and more progress with CS teachers vs just on-line: Code.org
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.
The Individual Teacher versus the Educational System: What if Finland’s great teachers taught in U.S. schools?
I highly recommend the article below, for the perspective above all. The issue of “If we fix teachers, do we fix the American educational system” is discussed below and in a recent Freakonomics podcast (see link here). The Freakonomics team comes to the same conclusion as below — no, the home life is a far bigger factor than any particular teacher.
But I’m more struck by the focus on the education system more than the individual teacher in the below essay. If your focus is on the education system, then the goal shouldn’t be to identify and get rid of the “bad” teachers. In the end, that’s just one teacher in a whole system. You’re better off improving the system, by making the teachers as good as possible (e.g., with high-quality professional development, and lots of it). Develop your teachers, and the system improves itself.
The comments about Teach for America are relevant to the TEALS program, too. If we value teaching as a profession and want highly-skilled, prepared, and experienced teachers, then you don’t take newbies and make them teachers. Make them assistants, or make them para-professionals. Take a legitimate peripheral participation approach and let them help on the edges. But keep the teacher front-and-center, valuing her or him for the experience and development that she or he brings to the classroom — don’t try to replace the teacher with someone who doesn’t have that experience and preparation.
When I told Barbara Ericson about these comments, she countered that I’m assuming that (with respect to computer science) schools have these well-prepared and experienced teachers. She says that she’s seen whole districts without a single teacher with preparation as a CS teacher — but they’re teaching CS. She argues that in most schools, a TEALS professional could not be just an assistant or para-professional, because the teacher can’t adequately support the course on his or her own.
In recent years the “no excuses”’ argument has been particularly persistent in the education debate. There are those who argue that poverty is only an excuse not to insist that all schools should reach higher standards. Solution: better teachers. Then there are those who claim that schools and teachers alone cannot overcome the negative impact that poverty causes in many children’s learning in school. Solution: Elevate children out of poverty by other public policies.
For me the latter is right. In the United States today, 23 percent of children live in poor homes. In Finland, the same way to calculate child poverty would show that figure to be almost five times smaller. The United States ranked in the bottom four in the recent United Nations review on child well-being. Among 29 wealthy countries, the United States landed second from the last in child poverty and held a similarly poor position in “child life satisfaction.” Teachers alone, regardless of how effective they are, will not be able to overcome the challenges that poor children bring with them to schools everyday.
via What if Finland’s great teachers taught in U.S. schools? – The Washington Post.
Why Some Teams Are Smarter Than Others: Have more women on the team
An argument for diversity is that it leads to better team decisions and designs. But it turns out that having women on the team at all leads to better group performance. It’s an important finding to argue why we need more women in CS, which is still a question I hear regularly, “So what if almost all our undergraduates are women?” Or as one blogger recently put it (see here if you really want to read more of this), “No one in the tech sector right now gives a shit about diversity. There is no reason whatsoever why a lack of diversity in the field would be a problem unless it comes from government quotas and legal threats.”
Instead, the smartest teams were distinguished by three characteristics.
First, their members contributed more equally to the team’s discussions, rather than letting one or two people dominate the group.
Second, their members scored higher on a test called Reading the Mind in the Eyes, which measures how well people can read complex emotional states from images of faces with only the eyes visible.
Finally, teams with more women outperformed teams with more men. Indeed, it appeared that it was not “diversity” (having equal numbers of men and women) that mattered for a team’s intelligence, but simply having more women. This last effect, however, was partly explained by the fact that women, on average, were better at “mindreading” than men.
Do we treat algorithms as a religion? Computing education to de-mystify the algorithmic world
Ian Bogost believes that an “algorithmic society” is a myth, and believes that we treat algorithms as a religion.
I don’t want to downplay the role of computation in contemporary culture. Striphas and Manovich are right—there are computers in and around everything these days. But the algorithm has taken on a particularly mythical role in our technology-obsessed era, one that has allowed it wear the garb of divinity. Concepts like “algorithm” have become sloppy shorthands, slang terms for the act of mistaking multipart complex systems for simple, singular ones. Of treating computation theologically rather than scientifically or culturally.
This attitude blinds us in two ways. First, it allows us to chalk up any kind of computational social change as pre-determined and inevitable. It gives us an excuse not to intervene in the social shifts wrought by big corporations like Google or Facebook or their kindred, to see their outcomes as beyond our influence. Second, it makes us forget that particular computational systems are abstractions, caricatures of the world, one perspective among many. The first error turns computers into gods, the second treats their outputs as scripture.
I respond with another quote:
“And this is that decision which are going to affect a great deal of our lives, indeed whether we live at all, will have to be taken or actually are being taken by extremely small number of people, who are normally scientists. The execution of these decisions has to be entrusted to people who do not quite understand what the depth of the argument is. That is one of the consequences of the lapse or gulf in communication between scientists and nonscientists. There it is. A handful of people, having no relation to the will of society, having no communication with the rest of society, will be taking decisions in secret which are going to affect our lives in the deepest sense.”
That’s C.P. Snow in 1961 (Computers and the World of the Future, ed Martin Greenberger, MIT Press), talking about why everyone on campus should (explicitly) learn algorithms. He foresaw the “algorithmic culture” where algorithms control “a great deal of our lives, indeed whether we live at all.” He had two concerns. One was that the people writing those algorithms are making decisions when they implement them that don’t reflect social or political will. The second was that the “nonscientists” were unwilling to learn the algorithms. Explicitly, Snow’s argument was that those who don’t understand algorithms are at the mercy of those who do. His book, The Two Cultures, blamed the nonscientists for not making the effort to learn the science and algorithms so that they could participate in scientific discourse.
Today, Snow might agree with Bogost. When we don’t understand the algorithms that control our lives, we might see them as divine or magical. Arthur C. Clarke famously said, “Any sufficiently advanced technology is indistinguishable from magic.” The corollary (see here) is a better explanation of the phenomena that Bogost describes, ” Any technology, no matter how primitive, is magic to those who don’t understand it.”
I use the above quote in my talks on why we need computing for everyone. Snow is arguing that CS Education is a critical part of a functioning “algorithmic society.” If our social processes and rules are built into the software, not understanding algorithms keeps you from understanding and influencing the algorithms that control your life. Thomas Jefferson said, “An educated citizenry is a vital requisite for our survival as a free people.” Knowledge about computing is part of that education that keeps the citizenry free in today’s algorithm-driven world.
The onus to enable citizens to be free in an algorithm-driven world is on us in computer science, not on the citizenry alone. We have too much power to hide our algorithms behind interfaces and firewalls. We have a responsibility to make the computational world (and the algorithms that run it) accessible and understandable. As Diana Franklin said in her recent CACM essay (which I mentioned here), it’s up to computer science to make computing education work.
People of ACM: Mehran Sahami, Co-Chair of ACM Ed Board
Nice (short) interview with Mehran Sahami — addresses several issues around computing education and about Stanford’s CS department.
How did you convince Mark Zuckerberg to come to your class every year for the last four years to lead a Q&A with students?
The last assignment I usually give in my introductory programming class is called “FacePamphlet,” as it’s supposed to be a very simple version of Facebook. I thought it would be great if Mike Schroepfer, the CTO at Facebook and a long-time friend and Stanford alum, would talk to my class about Facebook and, more broadly, the ways in which computer science can have an impact in the world.
When I first invited him to come a few years ago, he responded by asking if I’d like him to bring Mark Zuckerberg to the class too. I was thrilled at the possibility. As you can imagine, their visit to the class was a huge hit, and they spent the whole hour engaged with the students, answering a broad range of questions. They have been so kind as to continue that tradition, visiting the course to do Q&A with the students for four years in a row—their last visit drew over 700 students.
Both Mark and Mike are very committed to promoting computer science education, and I feel fortunate that coming to my class is one of the many ways they have encouraged students to pursue computer science. Interestingly enough, my young kids learned some of the basics of programming from Mark through the videos he did for code.org. I think he was a bit surprised at first when I thanked him for helping teach my kids to code on one of his more recent visits to my class.
via January 13, 2015: People of ACM: Mehran Sahami — Association for Computing Machinery.
EarSketch Workshop at SIGCSE 2015
I’m an advisor on the EarSketch project, and it’s really cool. Recommended.
Next month, the EarSketch team will be offering a workshop at SIGCSE in Kansas City. This is a great opportunity to learn more about EarSketch, get hands on experience with the curriculum and environment, and learn how to use EarSketch in your classroom. This year’s workshop will also offer advice on integrating EarSketch into Computer Science Principles courses, though the workshop is of relevance to anyone teaching an introductory computing course.
For more information about SIGCSE, visit http://sigcse2015.sigcse.org/index.html
To register for the workshop, please visit https://www.regonline.com/register/login.aspx?eventID=1618015&MethodId=0&EventsessionId=
Please contact Jason Freeman (jason.freeman@gatech.edu) with any questions.
SIGCSE 2015
Workshop #20: Computer Science Principles with EarSketch
Saturday, March 7th, 2015
3 pm – 6 pm
Jason Freeman, Georgia Institute of Technology
Brian Magerko, Georgia Institute of Technology
Regis Verdin, Georgia Institute of Technology
EarSketch (http://earsketch.gatech.edu) is an integrated curriculum, software toolset, audio loop library, and social sharing site that teaches computing principles through digital music composition and remixing. Attendees will learn to code in Python and/or JavaScript to place audio clips, create rhythms, and add and control effects within a multi-track digital audio workstation (DAW) environment while learning computing concepts such as variables, iteration, conditionals, strings, lists, functions, and recursion. Participants write code to make music, with a focus on popular genres such as hip hop. The agenda outlines the pedagogy of connecting musical expression to computation to broaden participation and engagement in computing; the underlying concept of thickly authentic STEAM that drives this approach; the alignment of the curriculum and learning environment with CS Principles; and basic musical concepts underlying EarSketch. The intended audience for this workshop is secondary and early post secondary CS educators. The course is of particular relevance to CS Principles teachers but also applicable to any introductory programming or computing course. No prior musical knowledge or experience is expected and no prior programming experience with Python or JavaScript is required.
In STEM Courses, a Gender Gap in Online Class Discussions: What drives collaboration?
It’s not surprising that men and women participate differently in online class discussions. I’m disappointed that the interpretations of the results are not grounded in the literature on collaborative learning. We know something about why people might not want to participate in an online forum (as I wrote about in a previous blog post).
Company officials argued that the differences in behavior by gender represent a “gap in confidence” between women and men enrolled in the courses. It’s a phenomenon that has long interested the company’s founder, Pooja Sankar, who says she felt isolated as one of only a few women studying computer science at a university in India and was too shy to collaborate with male classmates.
Based on reports from hundreds of students and professors who use Piazza, “we know that students answer questions more when they feel more confident,” Ms. Gilmartin said. “We know that they use the anonymity setting when they feel less confident.”
CSTA – Oracle Survey: Access to and Understanding of Computer Science Education in US Schools
A new survey from both CSTA and Oracle. None of the findings are too surprising. What’s probably surprising is that this picture doesn’t seem too different from past CSTA surveys (see list of all of them here). Efforts like the Hour of Code are reaching lots of students, but may not yet be making much impact on most schools and districts.
In addition, participants applied the term “computer science” to a vast array of topics and courses, many of which were submitted as “other” courses in response to the topics that were provided in the survey. Participants classified studies in business management, yearbook layout, artificial intelligence, robotics, office applications, and automated design as computer science courses. This broad use of “computer science” to encompass curriculum and courses that would not be considered “computer science” at a college/university or professional level indicates a need for educational community consensus on a common definition of computer science education and curricular content, lest we lead students or teachers to believe they are preparing students for college and careers when in fact, they are not. This perhaps begs the question whether “computer science” as a designation is being applied inappropriately for funding or other reasons.
Administrators stated that the most prevalent computer science course offered was Web Design and Development, followed by Intro to Computer Science with 54% of the schools offering it in grade 9, 47% offering it in grade 10, 39% offering it in grade 11, 37% offering it in grade 12, and only 27% offering at least one intro to CS course all four years. These were followed by computer graphics and programming. The top four content areas covered in computer science courses were listed as problem solving at 65%, ethical and social issues and graphics tied at 57%, and web development at 51%. However, analysis of algorithms came in at 35% as did testing and debugging. Each of these content areas are core to computer science and in particular programming.
One of the most important findings from the study suggests that better-funded schools are offering CS to their students at a far higher rate than low-income schools. This research verifies what was only previously suspected. Of the 27% of schools where the majority of students qualify for free or reduced lunch, 63% offer computer science courses. Of the 44% of schools where the majority of students do not qualify for free lunch, 84% offer computer science courses.
via CSTA – OracleSurvey.
Putting the Computer Science in Computing Education Research
Diana Franklin makes the point in CACM that computing education research is a CS issue.
What do these events have in common? Computer scientists identified a critical need in computer science education (and education in general) and developed something new to fill that need, released it, and scaled it without rigorous, scientific experiments to understand in what circumstances they are appropriate. Those involved have the best of intentions, working to create a solution in an area with far too little research. A compelling need for greater access to computing education, coupled with a dire shortage of well-supported computing education researchers, has led to deployments that come before research. High-profile failures hurt computer science’s credibility in education, which in turn hurts our future students. This imbalance between the demand and supply and the chasm between computer science and education creates an opportunity for some forward-thinking departments.
If computer science wants to be a leader rather than a spectator in this field, computer science departments at Ph.D.-granting institutions must hire faculty in computing education research (CER) to transform the face of education—in undergraduate CS teaching, K–12 CS education, and education in general.
Belief in the Geek Gene explains Lack of Diversity in Computing PhD’s
I’ve argued before that there is no reason to believe in the Geek Gene (see post here), and every reason to believe that good teaching can overcome “innate” differences (see post here). Now, a study in Science suggests that that belief in “innate gift or talent” can explain why some fields have more diversity and others do not.
Sparked by sharing anecdotes about their personal experiences in fields with very different gender ratios, a team of authors, led by Andrei Cimpian, a psychologist at the University of Illinois, Urbana-Champaign, and philosopher Sarah-Jane Leslie of Princeton University, surveyed graduate students, postdoctoral fellows, and faculty members at nine major U.S. research institutions. Participants rated the importance of having “an innate gift or talent” or “a special aptitude that just can’t be taught” to succeed in their field versus the value of “motivation and sustained effort.” The study, published online today in Science, looked across 30 disciplines in STEM (science, technology, engineering, and mathematics) fields, the social sciences, and the humanities.
The authors found that fields in which inborn ability is prized over hard work produced relatively fewer female Ph.D.s. This trend, based on 2011 data from the National Science Foundation’s Survey of Earned Doctorates, also helps explain why gender ratios don’t follow the simplified STEM/non-STEM divide in some fields, including philosophy and biology, they conclude.
via Belief that some fields require ‘brilliance’ may keep women out | Science/AAAS | News.
Could our CS enrollment boom and bust cycle be the result of inability to manage the boom?
I wrote my Blog@CACM post for January on the rising enrollment in computer science and how that is making irrelevant our advances in retaining students (see article here). Retention is simply not the problem in US CS programs today.
But thinking about the 1980’s and today (as described in this blog post), I began wondering if our boom-and-bust cycles might be related to our inability to manage the boom.
- First, we get a huge increase in enrollment due to some external factor (like the introduction of the personal computer).
- Then, we have to manage the rise in enrollment. We try to hire faculty, but we can’t bring them in fast enough. We stop worrying about high-quality, high-retention education — we need the opposite! We set up barriers and GPA requirements.
- Word gets out: CS is hard. The classes are too difficult. It’s too competitive. Minority group students suffer from the imposter phenomenon and leave faster than majority students.
- Result: Enrollment drops. Diversity decreases.
- Then the next external factor happens (like the invention of the graphical Web browser), and we start the sequence again.
If we could give everyone a seat who wanted one, and we continued to focus on retention and high-quality education, might we actually have a steady-state of a large CS class? Could our inability to manage the load actually be causing the bust side of the cycle?
Why there’s no such thing as an ‘F’ in computer science: The Fear Factor in CS (and other things we learn)
Nice article by my colleague Ayanna Howard and Oracle’s Alison Derbenwick Miller. I’m teaching Media Computation again this semester, and it seems to me that the biggest barrier for my students is simply fear. They don’t type code because they’re afraid of failure. They don’t try to understand the code because they’re afraid they can’t.
It’s not just CS, of course. At my last ukulele meetup, I sat next to a woman who brought her ukulele, but wouldn’t take it out of the case. She just sang the songs along with us. When I encouraged her to bring it out, she said, “I’m just a beginner. I’ll learn to play it first, then I’ll play along.” That gets the process wrong — it’s playing along that leads to learning to play it. But I was struck by her body language and voice when she made the statement. She was deeply frightened — of making mistakes and being ridiculed for it, I guess.
I get that. I did my first public performance singing and playing the ukulele in December. (Christmas carols are pretty easy, and are completely acceptable at a December open mic night.) I was so frightened. I finished one song (“Silent Night”), then invited my daughters up to sing with me (“Jingle Bells”) to help me get through it (thanks to them for the support!), but still couldn’t get past one verse. My legs and arms were shaking so badly I didn’t think I could go on. Fear is powerful.
Ayanna and Alison point out something important and real that we have to help students get past.
They will give you myriad reasons, among them that the work just isn’t interesting, that the cool kids don’t do it, and fear – fear it’s too hard, fear they’ll be ridiculed as “nerds,” fear of being exposed as an intellectual fraud, or ironically, as the “too smart kid,” fear of failure.
Fear is an awful thing. It’s a four-letter “f” word that holds incredible power – power to keep us from doing what is good, what is right. Power to stop us from taking risks. Power to maintain the status quo, to stop disruption, to inhibit change. Power to stymie innovation, and to limit opportunity.
Fear is bad. Fear stands between us and a better world. It stands between us and our better selves.
via Why there’s no such thing as an ‘F’ in computer science | The Hechinger Report.
Recent Comments