Posts tagged ‘image of computer science’
I found these differences fascinating, though I’m not sure what to make of them. Once leaving computing, students head to different majors with a big gender difference. Only 5% of women go into an Engineering field after CS, while 32% of men go into some form of Engineering. Why is that?
As computing departments across the U.S. wrestle with increased enrollment, it is important to recognize that not everyone who becomes a computing major stays a computing major. In 2014, CERP collected data from a cohort of U.S. undergraduate students who agreed to be contacted for follow-up surveys in 2015. While most of the students surveyed remained computing majors (96%), some students changed to a non-computing major. As shown in the graphic above, students in our sample moved to a variety of majors, and the type of new major tended to differ by gender. Most men (69%) who left a computing major switched to engineering, math/statistics, or physical science majors. On the other hand, most women (53%) tended to move to social sciences, or humanities/arts. These data are consistent with existing social science research indicating women tend to choose fields that have clear social applications, such as the social sciences, arts, and humanities. CERP’s future analyses will explore why women, versus men, say they are leaving computing for other fields.
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.
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.”
Doug Engelbart, visionary whose inventions led to the modern mouse, hypertext, computer-supported collaborative work, died on July 2 at age 88. Bret Victor wrote a wonderful piece about how statements about Doug’s inventions (like I just made) miss the point about what he was really trying to do. Recommended, and linked below.
If you truly want to understand NLS, you have to forget today. Forget everything you think you know about computers. Forget that you think you know what a computer is. Go back to 1962. And then read his intent.
The least important question you can ask about Engelbart is, “What did he build?” By asking that question, you put yourself in a position to admire him, to stand in awe of his achievements, to worship him as a hero. But worship isn’t useful to anyone. Not you, not him.
The most important question you can ask about Engelbart is, “What world was he trying to create?” By asking that question, you put yourself in a position to create that world yourself.
Would love to be in London on 12 June to hear this debate! The blurb describing the debate does a balanced job of laying out the questions.
“This house believes that Academic Education will never meet the skills needs of the IT Profession”
‘Universities are failing to educate graduates with the skills we need’ – this is the oft heard complaint by employers of IT graduates. Does the problem start in school with the dire state of ICT teaching and assessment at GCSE and A Level? Should academia be trying to produce graduates with only ’employable skills’ that have a shelf life of at best a couple of years? Are employers really expecting universities to produce a mature, rounded professional with 20 years experience straight out of university? Is it reasonable to expect Academia to bridge the skills gap when employers are not prepared to provide a robust career path for IT professionals?
Audrey Watters’ excellent post on Learning to Code in 2012 pointed me to Jeff Atwood’s piece (linked at the bottom). I want everyone to learn code, so I am in direct contradiction to his position, “Please don’t learn to Code.” Jeff and I disagree primarily on two points, both of which are issues of definition:
- Most people who write code are not trying to create code solutions. Most people who write code are trying to find solutions or create non-code solutions. By “most people,” I do mean quantitatively and I do mean all people, not just professional programmers. We know that there are many more people who write code to accomplish some task, as compared to professional programmers. When I visited the NASA Goddard Visualization Lab last month, I met the director Horace Mitchell, who told me that everyone there writes code, whether they are computer scientists or not. They write code in order to explore their data and create effects that they couldn’t given existing visualization systems. They are trying to create great visualizations, not great code. They simply throw the code away afterward. This is a critical difference between what Jeff is describing and what I hope to see. We agree that the goal is a solution. I want everyone to have the possibility of using code to create their solution, not to create code as the solution.
- Most people who program are not and don’t want to be software developers. Most of the people that I teach (non-CS majors, high school teachers) have zero interest in becoming programmers. They don’t want to be “addicted to code.” They don’t want a career that requires them to code. They want to use coding for their own ends. Brian Dorn’s graphic designers are a great case in point. Over 80% of those who answered his surveys said “No, I am not a programmer,” but everyone who answered his surveys wrote programs of 100 lines or more. Not everyone who “programs” wants to be known as a “programmer.”
The problem is that we in computer science often have blinders on when it comes to computing — we only see people who relate to code and programming as we do, as people in our peer group and community do. There are many people who code because of what it lets them do, not because they want the resulting code.
“You should be learning to write as little code as possible. Ideally none.” And people who want to do interesting, novel things with computers should just wait until a software developer gets around to understanding what they want and coding it for them? I could not disagree more. That’s like saying that the problem with translating the Bible is that it made all that knowledge accessible to lay people, when they should have just waited for the Church to explain it to them. “Please don’t learn to code” can be interpreted as “Please leave the power of computing to us, and we’ll let you know when we’ll make some available to you.”
It assumes that more code in the world is an inherently desirable thing. In my thirty year career as a programmer, I have found this … not to be the case. Should you learn to write code? No, I can’t get behind that. You should be learning to write as little code as possible. Ideally none.
It assumes that coding is the goal. Software developers tend to be software addicts who think their job is to write code. But it’s not. Their job is to solve problems. Don’t celebrate the creation of code, celebrate the creation of solutions. We have way too many coders addicted to doing just one more line of code already.
Following the announced restructuring of the University of Florida CS program and this classic quote about how Yale shouldn’t be in the business of teaching “trade skills” (meaning, applied software engineering), I’m going to argue that more (not all, but more) academic computer science programs should be shut down or reorganized.
That’s an interesting claim. Unfortunately, the argument isn’t very convincing..
1. Most undergraduates and professionals actually want to learn applied software engineering, not “computer science.” So? That’s not all that industry most wants to hire. That’s not what society most needs.
2. University undergraduates are not discriminating consumers of education. Agreed, which again gets back to why we would care (in Step #1) that that’s what undergraduates think that they want.
3. It should not be necessary for two universities located within commuting distance of each other to have the same academic department. I guess it depends on how large you can make the classrooms and how effective the teachers are at motivating large groups of students to reach completion. Part of the growth of universities has been spurred on by increased demand. I’m not sure how this statement fits into the overall argument.
4. Applied software engineering is a discipline that lends itself to being effectively taught online. Definitely an intriguing claim, but I’m not sure that I agree. Really good software engineering is a design activity, which is best learned in a reflective apprenticeship setting — the kind of high-bandwidth communication that we can’t do yet well on-line. Further, online learning is still hard to do with multiple modalities (yes, you can watch a video, but you can’t read the screen well; and the tools to provide audio narration for clearly-readable code are still developing), and there’s evidence to believe that multiple modalities are key to learning to read code well.
5. Most university computer courses simply aren’t that good if your goal is to get a job doing applied software engineering. I might be willing to agree here, but it’s not clear (a) that we should be teaching only applied software engineering in universities, (b) that students most need applied software engineering, and (c) that it’s not better for everyone (industry, society, students) to aim to teach CS better.
6. University academic departments in general should have limited charters and should be reorganized frequently. That’s another interesting claim, and one I might support, but still doesn’t seem connected to the argument that University CS departments should be shut down.