Posts tagged ‘computing education’
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.
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.
Back at the NCWIT meeting last May, we in ECEP (Expanding Computing Education Pathways Alliance) started promoting a four step process for starting to improve computing education in your state (see blog post here):
- Find a Leader(s)
- Figure out where you are and how you change
- Gather your allies
- Get initial funding.
Part of Step 2 includes writing a Landscape Report. Does your state count CS towards high school graduation? As what? Who decides? Who can teach CS? Is there a CS curriculum? Do you have a Pathway? Do you have a certificate or endorsement to teach CS in your state? There are several of these available at the CSTA website, such as one from South Carolina and another on Maryland.
ECEP now has a page with resources for gathering data for a landscape report — see below.
Where is your state now? The resources linked below can help you quickly find state-level data about the status of computer science education in your state. These are good starting points for putting together a landscape report that answers common questions on CS education in your state.
Sorting Is Boring: Computing Education Needs to Join the Real World, like MediaComp and worked examples
Agree that we get it backwards in computing education. We ought to do more with worked examples (a form of “word problems”) — see the argument here. The point of Media Computation has always been to focus on relevance — what the students think that a computer is good for, not what the CS teacher thinks is interesting (see that argument here).
There are people who love math for math’s sake and devote themselves to proving 1 + 1 = 2. There are more people, however, who enjoy using math to prescribe medication and build skyscrapers. In elementary school, we use word problems to show why it’s useful to add fractions (ever want to split that blueberry pie?) or find the perimeter of a square. We wait until college, when math majors choose to devote four years towards pure math, to finally set aside the word problems and focus on theory. We do so because math is a valuable skill that is used in so many different professions and contexts, and we don’t want kids to give up on math because they don’t think it’s useful.
So, why does computer science start with theory and end with word problems?
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.”
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.
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.