9 ms·
The key quote: "It is also very intimidating to take classes where it seems like most people know all the material already and have been programming since middl
by gvb 16y ago
The key quote: "It is also very intimidating to take classes where it seems like most people know all the material already and have been programming since middle school or earlier..."
The key to getting more females in CS is to expose them to programming in middle school or earlier.
Jean put her finger on why recruiting females for CS at the college level is so difficult: if they are starting programming in college (or even high school) when most of the class has been programming for years, they are way behind on the learning curve and have a daunting task to catch up.
- cyen 16y agoI'm a fan of: http://blog.jolieodell.com/2010/09/07/women-in-tech/ http://blog.jolieodell.com/2010/09/07/women-in-tech/
- timr 16y agoYou've missed the most important two words of that quote: "seems like". She goes on: "Something that frustrates me about the field of computer science is that there are a lot of jerks who think that just because they've "mastered" some programming language or know some obscure unix commands, they are gods and you are nothing." And frankly, that's the level at which a typical CS freshman is operating. Lots of knowledge about "coding"...very little knowledge about anything else. The playing field is much more level than it initially seems, but because the CS 101 classes are mostly about writing toy code it's easy for prior coding knowledge to be intimidating. In my own undergrad CS program, the CS101 hotshots fared no better, on average, than the kids who came in with no experience at all. In fact, a few of the loudest initial braggarts were the most spectacular flameouts, and about an equal number of the no-prior-experience kids ended up the honors graduates. Universities could do a lot to combat this problem -- it might be a good idea to let the high-school coding jocks place out of the first CS classes. Alternatively, making first-year classes more about math and less about code would probably put 99% of all incoming students on an even playing field.
- T-R 16y agoI liked what my university's Chinese classes did - they had a special "advanced 101" class. This way, hot shots who still really needed to go through the 101 coursework weren't intimidating those just starting; those who really knew what they were doing could just test into a higher level. Korean classes, which didn't have the "advanced 101", ended up catering to the hottest of the hot shots, and saw a good number of both the hot shots and the non-native speakers dropping out before the 200 level.
- antihero 16y agoI do think that the split would be an interesting idea. At my university, our first year programming class was divided between people who found it too hard, and people who found it way too easy.
- T-R 16y agoWe had that, too, but it wasn't really clear cut. We also had a bunch in the middle, who, while they really did need to go through most of the 101 material, they also did their share of intimidating the fresh starters - probably more so than those who really knew the material, who mostly just skipped class. Since my university had large Korean and Chinese populations, it kind of struck me as parallel to the problems the Asian Studies department had weeding out native speakers looking for an easy A - it was hard to tell them from the kids who could speak but not write. Putting them in a separate section kept them from driving the class, and things went much smoother.
- bm98 16y agoOne of the beauties of programs that teach Scheme and ML (or OCaml or F#) in introductory CS is that they level the playing field. The typical high school computer hot shot has never seen anything like functional programming before, and is no better off than anyone else in the class. Follow that with the theoretical foundations of CS and you have plenty of hot shots at the bottom of the class. A professor of mine once said, "Some kids just can't hack the math."
- Locke1689 16y agoI don't know what you mean by "hotshot" exactly, but all of the people who had extensive experience in my high school also knew functional programming and data structures and algorithms. I'm not sure math makes all that much of a difference either because the most experienced people in my class were all doing math-related things (myself a physics minor, my girlfriend a math minor, and my two other friends a math and physics double major, respectively).
- _delirium 16y agoThat definitely wasn't the case at my high school. The high-school coders were almost exclusively some mixture of C, C++, Java, PHP, Perl, and maybe bash. There probably were nonzero people who had used Scheme, but I'd be very surprised if it were more than one or two.
- rwmj 16y agoAnd if a few of them tried Scheme, then teach Prolog. Nobody knows that ;-)
- Hexstream 16y agoFailing that, Forth or J ;P
- Locke1689 16y agoMeh. Do you really think learning programming languages is hard? I think with C, C++, Python, Scheme, CL, Haskell, Racket, and ML under my belt it would take me about a day or two to adapt to new syntax and then you'd be back in the same position you started in. I just wouldn't worry so much about experienced students or give them something extra to work on if they wanted it. I started programming when I was 9, meaning I had been messing around with Linux, systems, programming languages, and algorithms for a full 9 years before stepping into my first class freshman year. My professors did the proper thing and used the finals from the freshman year CS courses to propel me to upper level courses in my first quarter. Don't try to work against experience, work with it.
- araneae 16y agoIn my own undergrad CS program, the CS101 hotshots fared no better, on average, than the kids who came in with no experience at all. How do you know this? At the school where I went, the distribution for CS101 was bimodal; higher peak were the experienced ones, lower peak were the neophytes.
- timr 16y agoI'm not referring to just CS101; I'm talking about the whole curriculum. That bimodality tends to go away once you're done taking classes that are a re-hash of what the experienced kids already know as freshmen. And no, it's not just the effect of "weeding out" the inexperienced kids -- as I said above, a number of the best students in my program had no prior experience, and a fair number of "experienced" kids flamed out once they hit the non-coding portion of the curriculum. I went to a small school for undergrad, so I knew everyone who graduated with me, and everyone who started with me. Later, I went to a very large graduate school, and while the same patterns seemed to hold, I can't say for sure.
- araneae 16y agoRight, but we're talking about the "weed-out" class effect here. If the girls get weeded out in 101 whatever happens later isn't relevant.
- aperiodic 16y agoMy CS professor tries to use less mainstream languages for exactly this purpose–to put everyone on an even playing field. The first two months of labs in the course are taught entirely in Haskell. The lectures are about DFAs and NFAs. I've graded and TA'd the course for two years, and I think his approach works extremely well. It lets you filter out the people who really get it from the people who are just pattern matching from previous experience.
- wccrawford 16y agoWhen I went to college, I experienced the same. There were quite a few quiet dropouts, but the loud-mouthed ones were more spectacular. Mainly because they'd promise to do something and then fail, leaving the rest of the group hanging.
- lelele 16y ago> "Something that frustrates me about the field of computer science is that there are a lot of jerks who think that just because they've "mastered" some programming language or know some obscure unix commands, they are gods and you are nothing." How is the computer field different from other fields? Once they are proficient, some people choose to share their knowledge to let people reach even higher goals, whilst others people enjoy making fun of those less educated and put them down. I've seen such behavior everywhere. EDIT: Moreover, in the latter case, if you add some ingrained misogyny to the mix, things get even worse.
- joe_the_user 16y agoCan I respectfully disagree? I think that it is important to make software engineering a codified, professional field. It is not an advantage to have programming be a field where the bragging rights go to those who put together a D&D weather generator in a true Mini-computer in Middle School. Rather, it is much better to have software engineering be something you can enter in college if you a good mastery of abstract thinking. I would further mention that it helps programming as a professional if a good programmer is a generalist who knows how to get any required details. The process of becoming a generalist is entirely possible if you enter the software engineering field in college. Essentially, the point is for a person learn good process and let the rest take of itself. Oppositely, if programmers are merely hackers, geeks or idiot-savants, who accumulate massive amounts of details concerning systems, languages and libraries in a near-autistic fashion, then not only will programming remain a ghetto but it will be a poorly paid, miserably ghetto.
- deleted 16y ago[deleted]
- Locke1689 16y agoIt is not an advantage to have programming be a field where the bragging rights go to those who put together a D&D weather generator in a true Mini-computer in Middle School. Careful, this could be similar to saying that it's not advantageous to have mathematics be a field where people who prove non-trivial theorems in high school do better in university courses. Some people have prior background or a special talent and that's not a bad thing. It's just important that this is also not required to succeed in the given field.
- juhygtfghjk 16y ago> software engineering a codified, professional field. So after getting your degree you can only be a CEng by working for an existing CEng in a company that certifies CEngs. Sounds like a perfect way of weeding out all those women who do pick a CS degree. Unless all traditional big-iron firms are looking to hire more women, and all 60-something male senior engineers are really clamoring for more women to certify ?
- biot 16y agoI don't believe the age argument. At what age was Grace Hopper first introduced to programming? Based on the wikipedia article, Grace Hopper appears to have started programming 14 years after getting her PhD and didn't seem to have been hampered by not having started programming before high school. [Insert COBOL joke here.] What about others who have a few more gray hairs than I? When did Seymour Cray, Vint Cerf, Peter Norvig, Tim Berners-Lee, and other early pioneers start programming? I think it's pretty safe to say they didn't have mainframes in their parent's basement growing up that they were programming on since before high school. They had a natural interest and the aptitude to do well in it.
- gwern 16y agoMaybe you ought to look up your examples. > Cray was born in 1925 in Chippewa Falls, Wisconsin to Seymour R. and Lillian Cray. His father was a civil engineer who fostered Cray's interest in science and engineering. As early as the age of ten he was able to build a device out of Erector Set components that converted punched paper tape into Morse code signals. The basement of the family home was given over to the young Cray as a "lab". That's not a mainframe, no. But he was still learning a lot about programming.
- gvb 16y agoRear Admiral Grace Murray Hopper started programming when Howard H. Aiken[1] designed and IBM built a computer[2] for her to program. Seymour Cray was also born before the first usable computers were created. I don't have concrete date, but I strongly suspect the other early pioneers also started programming when they first got access to a computer. I'm a few years younger than the youngest of the quoted pioneers (Tim Berners-Lee, born 1955). My first access to a computer was in my junior year in high school: a DecWriter[3] connected via a 300 baud dial-up modem to a timeshare system, programmed in Basic. (Obsessively. Still. :-O) The limiting factor for pioneers was access to computer. For kids today, access isn't a problem. [1] http://en.wikipedia.org/wiki/Howard_H._Aiken http://en.wikipedia.org/wiki/Howard_H._Aiken [2] http://en.wikipedia.org/wiki/Harvard_Mark_I http://en.wikipedia.org/wiki/Harvard_Mark_I [3] http://www.columbia.edu/acis/history/la36.html http://www.columbia.edu/acis/history/la36.html
- erikpukinskis 16y agoThe key to getting more females in CS All sentences that start with these words are misguided. It is a complex issue with contributing factors at EVERY stage of a programmer's development. Yes, let's help middle school girls get a chance to program. But let's also change CS curricula to draw on more skills besides programming. And let's make intro programming classes more welcoming to nonprogrammers. And let's find new venues for promoting startup job openings. And let's give grants for women making open source contributions, and, and, and.... The same is true of promoting literacy and bike friendly cities and fighting racism and most every other kind of activism. This is not a world of root causes.
- antihero 16y agoThing is, this is a perplexing problem - my SO teaches at a school that has a "computer club" where they do such things, and it has a lot of female members, but there's a distinctly bizarre issue of girls interested in computers at Secondary/6th form level not then going on to do degrees in the subject. I think a more in depth study interviewing the "potentials" needs to be done in order to understand whether there's a problem with endemic sexism or whether it's something else.
- gaius 16y agoBut that is a ridiculous thing to say. Should people be banned from programming until college so everyone can be "equal"? It's like whining that you can't compete with an athlete who has been training since they were a kid.
- younata 16y agoI don't go to a school known for their CS program (we have a good one, just not a renowned one). Of roughly 30 or so freshman in the CS program, I know of about 20 or so who said they did not know how to program before they went to college. So, your premise of "most of the class has been programming for years" is false in at least my case.
- shortlived 16y agoI started programming in college and turned out fine.