Live data from Hacker News

On the making of a girl nerd

mathbabe.org

31–40 of 73 posts

Re: On the making of a girl nerd

#31
post #17
post #12

Earlier quoted context omitted.

Prior to that it was C++. I think they're actually moving in the right direction.

Compare Hello, World! in the two languages, in terms of new concepts that need to be known to understand it. In C++ you need to know about including and cout. In Java you've got all that class, public, static, blah blah nonsense.

I did a presentation at my old high school about why programming is awesome in general, and had a couple notes on this. I counted 18 unique facts that need to be mentioned in order to completely understand a Java Hello World, and 25 for C++. For Python, it's either 4 or 5 depending on whether you start with the REPL or not.

Re: On the making of a girl nerd

#32
post #12

Earlier quoted context omitted.

The College Board Advanced Placement exam for Computer Science has used Java for several years now. See http://apcentral.collegeboard.com/apc/public/repository/ap-c... I'm not saying that's a good idea, just that the practice is fairly common. I think they're nuts.

Prior to that it was C++. I think they're actually moving in the right direction.

And before that it was Pascal.... I know cause I tried to take it after teaching myself Pascal a day before the exam (I new C/C++). I got so caught up in the stupid syntax of the language that think I got a 2 or 3 :(

Re: On the making of a girl nerd

#33
post #26

Earlier quoted context omitted.

The problem is that a High School semester is really too short compared to how long it takes to learn C++, C++ is just too big a language. I ended up thinking I knew something about C++, when I really didn't. And the hello world program for C++ is just as bad as the one for Java, in its own way. You're writing 'cout << "Hello World"' but how long will it be before you teach the students about operator overloading?

Note that I agree with you, in that I would rather use Python, or even Scheme. But I think language choice accounts for, say, a 5% impact, while the boring stuff (how much the teacher cares, how patient the teacher is, how good they are at explaining concepts, the quality of the projects - standard teaching issues) accounts for the rest.

In terms of preparing students for a career in programming I agree with you, the choice of first language doesn't matter much. But if a student is going to take a single semester in High School and never take another programming course, its far better that they end learning to write mediocre Python than bad C++.

Re: On the making of a girl nerd

#34

Is the article seriously advocating increasing the number of women in CS by watering down their college courses? An easy "gold" course for the girls, a harder "black" course for boys (and the few girls who would have done CS absent any intervention)? I also found this very annoying: "I have found an amazing correlation between women with math Ph.D.’s and women whose fathers are mathematicians...you wouldn’t be able t…

No, it's advocating increasing the number of women in CS by proposing a separate 101 course for people (like, the article assumes, most women) with no prior programming experience, while retaining an "introduction" course for those who do have that. I didn't see any implication that higher-level courses should have separate tracks.

Re: On the making of a girl nerd

#35
Processing (http://www.processing.org) is a good environment to teach programming in. It addresses most of the concerns about Java (removes boiler plate , further simplifies the language), while giving people access to all of Java as the class moves to more complex concepts. It also provides a fun, visual programming environment without the complexity of a complete modern 3D game engine or web browser.

Python is probably a better introduction language, but Processing is a close second.

Re: On the making of a girl nerd

#36
post #30
post #20

Python is great, but I recommend that schools should start programming classes with Unity3D. Within the first class you can have objects with physics bouncing off of each other, and by the end of the course you can have a legitimate game to play (that can even be sent to your phone or tablet). The "javascript" variant is fairly straightforward and if you take it far enough can be quite powerful. At first the students…

I don't like that at all. I understand you are trying to make CS more "fun", but I would hate it. I'm a CS major because I enjoy thinking about the problems and programming solutions. Unity3D is not what real programming is about, and you shouldn't sugar coat it. A student might have a blast with Unity3D then despise learning about heapsort.

To be fair, heapsort isn't what real programming is about either. (In fact I'd argue full-stack game programming combines more of technology principles than almost any other sub-field, not to mention non-tech principles in the art and design and story.) The GP's general point however is if you're trying to attract people into the field in the first place, dangling shiny objects isn't a bad way to go. I started with web sites with PHP and I liked the interactive nature of the browser. It wasn't until quite some time after that I stumbled upon Project Euler and had fun with those sorts of problems that I probably would have avoided prior.

I still don't like heapsort, but that's more of a general dislike with the "let's teach everything with sorting algorithms!" culture of CS curricula. I like other more-hardcore-than-sorting CS things much more. Edit: and I also have fun with them. Programming should definitely be fun.

Re: On the making of a girl nerd

#37

Is the article seriously advocating increasing the number of women in CS by watering down their college courses? An easy "gold" course for the girls, a harder "black" course for boys (and the few girls who would have done CS absent any intervention)? I also found this very annoying: "I have found an amazing correlation between women with math Ph.D.’s and women whose fathers are mathematicians...you wouldn’t be able t…

Totally agree. And it isn't amazing at all that higher education parents breed higher education children.

I went to high school a town over from Lexington (Wellesley) and I will say everyone's parents are hi-end professionals or Ph.D.'s (actually It was a culture shock for me caused moved from Maine to MA when I started high school). High expectations bring high results.

Re: On the making of a girl nerd

#38
Most of the comments (so far) are focusing primarily on the details of the Harvey Mudd example instead of the much broader, more important theme of mathbabe's post: She wants educators to think seriously about the selection process for young nerds and how this process is currently biased so as to weed out girls. She believes we can do much better.

She speaks from personal experience. On a different post on her blog, she writes, "when I and two other girls (and, as it happens, no boys) in the 6th grade did well enough to go into a special, advanced 7th grade algebra class, my (female) teacher brought us up to the front of the room and told the three of us 'I don’t see why you would challenge yourselves like this anyway since you are girls, and you won’t be needing math when you grow up.' I was the only one of the three of us to actually choose that class, and I was the only girl in the algebra class."[1]

No wonder she thinks we can do much better!

[1] http://mathbabe.org/2012/02/06/women-in-math/

Re: On the making of a girl nerd

#39
post #36
post #30

Earlier quoted context omitted.

I don't like that at all. I understand you are trying to make CS more "fun", but I would hate it. I'm a CS major because I enjoy thinking about the problems and programming solutions. Unity3D is not what real programming is about, and you shouldn't sugar coat it. A student might have a blast with Unity3D then despise learning about heapsort.

To be fair, heapsort isn't what real programming is about either. (In fact I'd argue full-stack game programming combines more of technology principles than almost any other sub-field, not to mention non-tech principles in the art and design and story.) The GP's general point however is if you're trying to attract people into the field in the first place, dangling shiny objects isn't a bad way to go. I started with w…

Sorting algorithms are useful for teaching though. Not only do they help the student with writing code, the introduce important parts of programming as well as Big-O notation.

Maybe you are right, but if someone was dangling a "Lets learn Unity3D" course in front of me, I would never ever attend that university.

Re: On the making of a girl nerd

#40
post #16

Earlier quoted context omitted.

I think it matters more than you give it credit. Michigan State did an experiment where they replaced one of the Intro to CS classes (which were formally in C++) with Python. The result they found is that for people who went on to CSII (in C++), they did just as well; but for people who were non-CS majors, a) they did significantly better than non-CS majors starting with C++, and b) they were more likely to take more…

I looked up those two papers: "Python CS1 as Preparation for C++ CS2": http://www.cse.msu.edu/~enbody/fp039-enbody-revised.pdf and "Performance of Python CS1 Students in Mid-Level Non-Python CS Courses": http://dl.acm.org/citation.cfm?id=1734437 (email me if you'd like a copy, it's behind the ACM paywall). Neither of your claims is supported by either paper. Rather, they seem to support my claim: starting language is…

It's been a while since I looked at the data, but my main source was: http://blip.tv/pycon-us-videos-2009-2010-2011/python-for-cs1... (a talk Bill Punch gave on those papers). I think it goes into more detail on the non-CS majors.
Post reply on HN