Posts tagged ‘CS10K’
My first thought when seeing this article was, “Well, I’m glad it’s not just CS.” (See my post about how recruiting teachers is our biggest challenge in CS10K.) And my second thought was, “WHERE are we going to get all the teachers we need, across subjects?!?” And how are we going to retain them?
Several big states have seen alarming drops in enrollment at teacher training programs. The numbers are grim among some of the nation’s largest producers of new teachers: In California, enrollment is down 53 percent over the past five years. It’s down sharply in New York and Texas as well.
In North Carolina, enrollment is down nearly 20 percent in three years.
“The erosion is steady. That’s a steady downward line on a graph. And there’s no sign that it’s being turned around,” says Bill McDiarmid, the dean of the University of North Carolina School of Education.
Why have the numbers fallen so far, so fast?
McDiarmid points to the strengthening U.S. economy and the erosion of teaching’s image as a stable career. There’s a growing sense, he says, that K-12 teachers simply have less control over their professional lives in an increasingly bitter, politicized environment.
Josh Paley raises an important point here. The best teachers are passionate about what they do. Converting existing teachers (most often business teachers, since that’s how CS is classified in most states) into CS teachers may result in dispassionate, unhappy teachers. I don’t think it’s the only possible outcome, and I don’t think that hiring teachers with “CS background” (degrees? job experience?) is the only answer. But he’s right that it’s not the same as recruiting someone who decided on a career as a Computing Teacher.
I think the same sort of thing applies in CS. Many retrained teachers will be enthusiastic about computing, study it intensely and, in time, become experts. Others will teach CS, but it won’t be their passion, and that’s often a recipe for unhappy students who see an unhappy teacher. There are lots of other possible outcomes, some better than others. No matter how you slice it, it isn’t the same as hiring a person with a CS background to teach CS.
I wrote a blog post recently about Joanna Goode promoting the goal of “CS for Each.” Several commenters asked for more details. I asked Joanna, and she wrote me this lovely, detailed explanation. I share it here with her permission — thanks, Joanna!
To answer, we as CS educators want to purposefully design learning activities that build off of students’ local knowledge to teach particular computer science concepts or practices. Allowing for students to integrate their own cultural knowledge and social interests into their academic computational artifacts deepens learning and allows for students to develop personal relationships with computing. More specifically, computer science courses lend themselves well for project-based learning, a more open-ended performance assessment that encourages student discretion in the design and implementation of a specified culminating project. Allowing students to use a graphical programming environment to create a Public Service Announcement of a topic of their choice, for example, is more engaging for most youth than a one-size-fits-all generic programming assignment with one “correct” answer.
Along with my colleagues Jane Margolis and Jean Ryoo, we recently wrote a piece for Educational Leadership (to be published later this year) that uses ExploringCS (ECS) to show how learning activities can be designed to draw on students’ local knowledge, cultural identity, and social interests. Here is an excerpt:
The ECS curriculum is rooted in research on science learning that shows that for traditionally underrepresented students, engagement and learning is deepened when the practices of the field are recreated in locally meaningful ways that blend youth social worlds with the world of science[.1] Consider these ECS activities that draw on students’ local and cultural knowledge:
- In the first unit on Human-Computer Interaction, as students learn about internet searching, they conduct “scavenger hunts” for data about the demographics, income level, cultural assets, people, and educational opportunities in their communities.
- In the Problem-Solving unit, students work with Culturally-Situated Design Tools , a software program that “help students learn [math and computing] principles as they simulate the original artifacts, and develop their own creations.” In one of the designs on cornrow braids students learn about the history of this braiding tradition from Africa through the Middle Passage, the Civil Rights movement to contemporary popular culture, and how the making of the cornrows is based on transformational geometry.
- In the Web Design unit, students learn how to use html and css so they can create websites about any topic of their choosing, such as an ethical dilemma, their family tree, future career, or worldwide/community problems.
- In the Introduction to Programming unit, students design a computer program to create a game or an animated story about an issue of concern.
- In the Data Analysis and Computing unit, students collect and combine data about their own snacking behavior and learn how to analyze the data and compare it to large data sources.
- In the Robotics unit, students creatively program their robots to work through mazes or dance to students’ favorite songs.
Each ECS unit concludes with a culminating project that connects students’ social worlds to computer science concepts. For example, in unit two they connect their knowledge of problem solving, data collection and minimal spanning trees to create the shortest and least expensive route for showing tourists their favorite places in their neighborhoods.
 Barton, A.C. and Tan, E. 2010. We be burnin’! Agency, identity, and science learning. The Journal of the Learning Sciences, 19, 2, 187-229.
 Eglash, Ron. Culturally Situated Design Tools. See: See: csdt.rpi.edu
Nice job — I like the interviews with the students the best (though Jane rocks, of course).
In case the embedded video doesn’t work, click here: http://www.nsf.gov/news/special_reports/science_nation/intotheloop.jsp
Education research team successfully launches innovative computer science curriculum
Jane Margolis is an educator and researcher at UCLA, who has dedicated her career to democratizing computer science education and addressing under-representation in the field. Her work inspires students from diverse backgrounds to study computer science and to use their knowledge to help society. With support from the National Science Foundation (NSF), Margolis and her team investigated why so few girls and under-represented minorities are learning computer science. They developed “Exploring Computer Science,” or ECS, to reverse the trend.
The Snowbird conference is the every-other-year meeting of deans and department chairs in computing, to talk about how to support computing research and education. There was a panel this last summer on the state of CS education in K-12.
This panel discusses the role that U.S. research departments must play in sustaining CS in K-12. The panelists will address issues of educational reform, while highlighting the role that academia has played in other disciplines; illustrate the breadth of existing efforts from the perspective of a university-led project; and consider how departments could contribute to building the needed research base for CS education.Chair: Jan Cuny NSF. Speaker: Jeanne Century CEMSE, University of Chicago, Dan Garcia University of California at Berkeley, Susanne Hambrusch Purdue University
The slides are available here. I particularly liked Susanne Hambrusch’s slides on the role of computing education research in the University. The slide below (copied from her deck) addresses a particularly critical point — computing education research has to be seen as a real research area, not just what some education-focused faculty do.
This tension between computing education research being research versus supporting the education mission of the University comes up often for me. I was recently asked, “How does your work with high school teachers improve the education of CS undergraduates at our school?” I replied, “It probably doesn’t. This is my research. I’ll bet that researchers in your medical school study cancers that your undergraduates don’t have.” Susanne is pointing out that we have to get past this confusion. Yes, Universities teach. But Universities also study and explore questions of interest. If those questions of interest involve education, it should not be immediately confounded with the teaching that Universities do.
Last year, Peter Denning approached me about contributing a post to an on-line Symposium that he was going to hold in the ACM Ubiquity magazine. The opening statement was written by Candace Thille — I am a big fan of Candace’s work, and I really liked her statement. I agreed to provide a response for the symposium.
Back in May, when I originally wrote the ending, I was concerned that so many Computer Scientists were working in MOOCs. MOOCs don’t address the critical needs of CS education, which are broadening participation and preparing more teachers. The real worry I had was that MOOCs would suck all the air out of the room. When all the attention is going to MOOCs, not enough attention is going to meeting our real needs. MOOCs are a solution in search of a problem, when we already have big problems with too few solutions.
My original ending took off from Cameron Wilson’s (then director of public policy for ACM, now COO of Code.org) call for “All Hands on Deck” to address issues of broadening participation and teacher professional development. Extending the metaphor, I suggested that the computer scientists working on MOOCs had gone “AWOL.” They were deserters from the main front for CS education.
This was the first article that I’ve ever written where the editor sent it back saying (paraphrased), “Lighten up, man.” I agreed. I wrote the new conclusion (below). MOOCs are worth exploring, and are clearly attractive for computer scientists to work on. Researchers should explore the avenues that they think are most interesting and most promising.
I’m still worried that we need more attention on challenges in computing education, and I still think that MOOCs won’t get us there. Critiquing MOOC proponents for not working on CS ed issues will not get us to solutions any faster. But I do plan to keep prodding and cajoling folks to turn attention to computing education.
Here’s the new ending to the paper:
MOOCs may be bringing the American university to an end—a tsunami wiping out higher education. Given that MOOCs are least effective for our most at-risk students, replacing existing courses and degrees with MOOCs is the wrong direction. We would be tailoring higher education only to those who already succeed well at the current models, where we ought to be broadening our offerings to support more students.
Computer science owns the MOOC movement. MOOC companies were started by faculty from computing, and the first MOOC courses were in computer science. One might expect that our educational advances should address our educational problems. In computing education, our most significant educational challenges are to educate a diverse audience, and to educate non-IT professionals, such as teachers. MOOCs are unlikely to help with either of these right now—and that’s surprising.
The allure of MOOCs for computer scientists is obvious. It’s a bright, shiny new technology. Computer scientists are expert at exploring the potential of new computing technology. However, we should be careful not to let “the shoemaker’s children go barefoot.” As we develop MOOC technology, let’s aim to address our educational problems. And if we can’t address the problems with MOOC technology, let’s look for other answers. Computing education is too important for our community and for our society.
I was at the NSF CS10K Evaluators meeting earlier this summer, and we got to talk about important research questions. Someone suggested the issue of learning progressions. How do students move from Scratch or Alice or Blockly to Java or C++? One of the evaluators, whose background is entirely in education and evaluation, asked, “Professional programmers don’t use Scratch and Alice?” We explained what professional programmers really do. “Then why are we teaching Scratch and Alice, especially if we don’t know how the transfer works?!?”
The tension between what languages are “useful” (read: “we use them today in industry”) and what languages are helpful for learning has always existed in CS Ed. I’ve recommended the blog below to several people this summer, including reading the comments from the developers who push back — “Yeah, stop with Alice and teach real languages!” I agree with the post’s author, but I see that, even in the CS10K project, the notion that we should teach what’s vocationally useful is strong.
At the NSF CS10K Evaluators meeting, I got to wondering about a different question. Most of our evaluators come from science and math education projects, where you teach the way the world is. If you have trouble teaching students that F=ma, you better just find a new way to teach it. I told the evaluators that I hope their results inform the design of future programming languages. Computer science is a science of the artificial, I explained. If you find that mutable variables are hard to understand, we can provide programming languages without them. If the syntax of curly braces on blocks is too subtle for novices to parse (as I predict from past research findings), we can fix that, too. I got confused looks. The idea that the content and the medium could be changed is not something familiar to this audience. We have to figure out how to close that loop from the evaluators to the designers, because it’s too important an opportunity to base our language design for novices on empirical results.
It is a school’s job to churn out students who will be able to walk into a job in industry on day one and work in whatever language/paradigm is flavour du jour.
WRONG! We’re here to teach children the core concepts of Computer Science. Working on that basis to produce someone with employable skills is your job. Do you expect Chemistry students to walk out of school ready to begin work in a lab? Should we stop using Scratch as a teaching language because nobody programs with it in industry? Of course not, so please stop recommending that we should be teaching using Scala/JSON/whatever is currently flavour of the month.