Update 2 (wherein my daughter chimes in): As I said, my daughter is in India for a year, so she didn't see this article until Wednesday, September 11. I wasn't sure how she'd feel about me sharing her story and all the attention it received. Luckily, my daughter thanked me for writing about her experience. I asked her whether she had any corrections for the article. "Um, maybe tell them that I did actually talk to the teacher and I tried to tell the guys to quit being jerks," she said. "He told the principal, and it was really embarrassing, which is probably why I didn't tell you. And I gave up after that," she explained. My daughter said that, after bringing the problem to the teacher's attention several times, she finally asked him whether she could talk to the entire class about sexual harassment, he told her he'd think about it, and that's when he reported the situation to the principal. "And a couple days later I was in the principal's office being explained to that it wasn't my place to do that, and I just mumbled answers to get out of there as soon as possible because I was really, really embarrassed and fighting back tears." Before my daughter signed off our online chat, she asked me why I wrote about her story now. I told her about Alexandra, the nine-year-old girl who presented her app at the TechCrunch Disrupt hackathon, and the titstare app developers who shared the same stage. "Well, I'm sorry that crap happened ... to both of us," she said. I am, too.

Update: Thank you for all the great feedback on this post! For those of you wondering why I chose the USENIX blog as my platform — instead of another tech publication or my personal site — it's because the USENIX membership and community have a long history of working toward increasing diversity in IT and supporting women in tech. Many of you suggested immediate action is needed to help combat this issue. I agree and that's why I'm working with USENIX on their Women in Advanced Computing (WiAC) initiative via the WiAC Summits and the Facebook WiAC page, as well as other efforts within the community. I hope you'll join us in this effort.

** trigger alert

(violence and rape references)

Dear sir,

I'm not writing to complain about your choice of programming languages (Visual Basic? Seriously??) or about the A my daughter earned in your class. And, actually, my daughter had no specific complaints about you as a teacher. I, on the other hand, have plenty of feedback for you.

First, a little background. I've worked in tech journalism since my daughter was still in diapers, and my daughter had access to computers her entire life. At the ripe old age of 11, my daughter helped review her first tech book, Hackerteen. She's been a beta tester (and bug finder) for Ubuntu (Jaunty Jackalope release), and also used Linux Mint. Instead of asking for a car for her 16th birthday, my daughter asked for a MacBook Pro. (I know, I know ... kids today.)

My daughter traveled with me to DrupalCon in Denver for "spring break", attended the expo at OSCON 2012, and even attended and watched me moderate a panel at the first Women in Advanced Computing (WiAC '12) conference at USENIX Federated Conferences Week. Thanks to my career, my daughter's Facebook friends list includes Linux conference organizers, an ARM developer and Linux kernel contributor, open source advocates, and other tech journalists. My daughter is bright, confident, independent, tech saavy, and fearless. In fact, she graduated high school last May — two years early — and is now attending high school in India as her "gap year" before heading off to college.

So what's the problem?

During the first semester of my daughter's junior/senior year, she took her first programming class. She knew I'd be thrilled, but she did it anyway.

When my daughter got home from the first day of the semester, I asked her about the class. "Well, I'm the only girl in class," she said. Fortunately, that didn't bother her, and she even liked joking around with the guys in class. My daughter said that you noticed and apologized to her because she was the only girl in class. And when the lessons started (Visual Basic? Seriously??), my daughter flew through the assigments. After she finished, she'd help classmates who were behind or struggling in class.

Over the next few weeks, things went downhill. While I was attending SC '12 in Salt Lake City last November, my daughter emailed to tell me that the boys in her class were harassing her. "They told me to get in the kitchen and make them sandwiches," she said. I was painfully reminded of the anonymous men boys who left comments on a Linux Pro Magazine blog post I wrote a few years ago, saying the exact same thing.

My September 8, 2010 post, Inequality, Choices, and Hitting a Wall, discussed illegal gender discrimination in tech. The next day, comments started popping up on the post. Sure, the sandwich comments were easy enough to shrug off at first, but within a few minutes, the comments increased in numbers and intensity. And then the threats of violence started: "The author of this article is a whiny bitch and needs a good beating to be put in her place." Ten minutes later, the rape threats began, and I shut down our comments site-wide. And then the emails started...

So, you see, I was all too familiar with what my daughter was going through, but I was unprepared for the harassment to start in high school, in her programming class.

I consulted with friends — female developers — and talked to my daughter about how to handle the situation in class. I suggested that she talk to you. I offered to talk to you. I offered to come talk to the class. I offered to send one of my male friends, perhaps a well-known local programmer, to go talk to the class. Finally, my daughter decided to plow through, finish the class, and avoid all her classmates. I hate to think what less-confident girls would have done in the same situation.

My daughter has no interest in taking another programming class, and really, who can blame her.

For her entire life, I'd encouraged my daughter to explore computer programming. I told her about the cool projects, the amazing career potential, the grants and programs to help girls and women get started, the wonderful people she'd get to work with, and the demand for diversity in IT. I took her with me to tech conferences and introduced her to some of the brightest, most inspiring and encouraging women and men I've ever met.

Sadly, you only get one chance to make a first impression, and you, sir, created a horrible one for girls in computer programming.

Did you not see her enthusiasm turn into a dark cloud during the semester? Did you not notice when she quit laughing with and helping her classmates, and instead quickly finished her assignments and buried her nose in a book? What exactly were you doing when you were supposed to be supervising the class and teaching our future programmers?

I'm no teacher, so forgive me if you think I'm out of place when it comes to telling you how to do your job. But I am a mother, and I've spent years encouraging girls and women in IT, so perhaps my perspective will help you. After all, you didn't mean to create a a brogrammer-to-be environment, did you?

Here are seven suggestions for teaching high school computer programming:

Recruit students to take your class. Why was my daughter the only girl in your class? According to her, she only took the class because I encouraged it. My daughter said she wouldn't have known about the programming class, otherwise. (I'm adding this to my "parenting win" page in the baby book.) Have you considered hanging up signs in the school to promote your class? Have you asked the school counselors to reach out to kids as they plan their semesters? Have you spoken to other classes, clubs, or fellow teachers to tell them about why programming is exciting and how programming fits into our daily lives? Have you asked the journalism students to write a feature on the amazing career opportunities for programmers or the fun projects they could work on? Have you asked current students to spread the word and tell their friends to try your class? Set the tone. On the first day of class, talk about the low numbers of women and lack of diversity in IT, why this is a problem, and how students can help increase diversity in programming. Tell students about imposter syndrome and how to help classmates overcome it. Create an inclusive, friendly, safe learning environment from day one. I thought this was a no brainer, but obviously, it's not. Outline, explain, and enforce an anti-harassment policy. Don't be boring and out-of-date. Visual Basic? Seriously?? Yes, I know I said I'm not writing to complain about your choice of programming languages, even though I'm still scratching my head on this one. The reason I mention your choice is that it doesn't help you make a good first impression on new programmers. I have no idea what my teen learned in your class because she wasn't excited about it. Without touching your minuscule class budget, you can offer a range of instruction with real-world applications. With resources like Codecademy, for example, students could try a variety of programming languages, or focus on ones they find interesting. Have you considered showing kids how to develop a phone app? Program a Raspberry Pi? Create a computer game? Build a website? Good grief, man — how were you even able to make programming boring? Pay attention. I don't know what you were doing during class, but you weren't paying attention, otherwise you would have noticed that my daughter was isolated and being harassed. Do you expect girls to come tell you when they are being harassed? Well, don't count on it. Instead, they pull away, get depressed, or drop out completely, just like they do in IT careers. You want to know what happens when women speak up about verbal abuse or report harassment? Backlash, and it's ugly. Best case, she'll get shunned by classmates or colleagues. And hopefully she won't read any online comments...ever. But it can get much worse, with the vulgar emails and phone calls, and home addresses posted online, and threats of violence. Sadly, this isn't rare; this happens all the time, from high school on up into our careers. Don't believe me? That's because you aren't paying attention. Check in. Talk to your students in private to see how class is going for them. Talk to other teachers or school counselors. Had you talked to my daughter's counselor, for example, you would have known how class was going. The counselor worked closely with my daughter to help her graduate early, and she would have had no problem getting an honest answer about my daughter's unpleasant experience in your brogramming class. Did you expect me to call you? Believe me, I wanted to, but I also respected my daughter's request to let her handle the situation. And see number 5. Had I told you how class was going for my daughter, her situation would not have improved, and might have gotten even worse. Follow up. At the end of the semester, take a survey. Allow students to submit anonymous online answers to questions about the class material, your teaching methods, and their experience with other students. Allowing anonymity will help you get honest answers and, hopefully, you can improve your programming class for your next round of students.

Look, you don't have to tell me how hard your job is or how underpaid and overstressed you are as a high school teacher. I'm a single mother working in tech publishing — believe me, I get it. I like to think what I do is important, but what teachers do has the potential to change the world. No article I write will ever do that, but the daughter I raise might.

I spent 16 years raising a daughter who had all the tools and encouragement she needed to explore computer programming as a career. In one short semester, you and her classmates undid all of my years of encouragement.

I always told my daughter that high school isn't real life. Unfortunately, your programming class proved otherwise. In one semester, my daughter learned why there are so few women in IT, and no amount of encouragement from me is going to change that.