Showing posts with label computer science. Show all posts
Showing posts with label computer science. Show all posts

Practical Advice for Women Beginning Their Computer Science Degree



Image from Pixabay


As August winds down, it’s time for those of us embarking upon college to gear up and start classes. As I prepare for my own programming and software project management classes to begin, I can’t help but think back to my first run at college, as a freshman in computer science at Purdue University. It was a while ago, but often it feels just like yesterday. College is a huge transition on so many levels, but it’s also a time of unimaginable learning and development. Who you are now is not who you will be in four years.

I’ve been reading a lot about how the number of women in computer science hasn’t been rising, even though we’ve spent countless hours and dollars on outreach programs for girls. There are many solutions being suggested, from single-sex classrooms and STEM badges for Girl Scouts, to making computer science classes friendlier to women and minorities. While I applaud most attempts at trying to sell this entertaining career to all types of folks, this article is NOT about any of that. Instead, I want to offer my own advice to girls who have decided to take on computer science this fall, right now, as things stand at this moment in time. For I too was in your shoes, the first time was decades ago, but I’m taking a second stab at it now as I retrain to return to tech after a hiatus raising my kids and chasing my dream to become a novelist. And while some things have changed, many things haven’t and what was true for me as an 18-year-old is still true for me now.

So, if you’re a freshman female heading out to college to study comp sci, I want to congratulate you on your fine career choice. Not only is a career in software engineering intellectually stimulating, it’s also quite adventurous. At every stage of development you’ll be working on solving problems and puzzles. Whether you’re defining the requirements, or out in the field diagnosing a bug, this is a career that will continue to inspire you for as long as you love doing it.

As you head to university, I’d like to pass on some advice, woman-to-woman, to help you get off to the best start possible.

If you like to solve problems and puzzles with machines, then you belong

I’ve read more than a few stories on Medium and other news outlets about women who said they left their STEM majors because when they walked into their first class, they noticed that there weren’t any other women in the room. Thus, for some reason, they felt that the major wasn’t for them. To this I say to you, “OH HELL NO!” As a female in computer science, you will be the minority in the room. You might even be a super minority, as I was. At first, I didn't realized there weren’t many other women in my CS classes. In the beginning, there were more of us. But by junior year, there were about five of us. I’m not kidding. Not only that, I was the only white, sorority girl. With my bleach blonde hair tied back in a huge bow (it was the early 90’s) and Greek letters on my chest, I stood out like a sore thumb.

But so what? It never occurred to me that I didn’t belong. Here’s the thing, I like solving problems with machines. So did everyone else who was left by junior year. With time, you will work together more in groups and make friends, even if they’re not the same gender or race as you. My favorite memories are hanging with my all-male crew, talking about our senior project while listening to Bob Dylan and wondering why anyone would use recursion for anything other than fractals. They’re guys, not the devil. They’re not out to get you just because you’re different.

We can’t stop living our desires merely because we might look or act differently than others who share the same passions. Otherwise, there’s no point in life, is there? Last spring, I enrolled in the Intro to Programming class at my local college. The first class was like déjà vu. Not because I was one of the few females, as matter of fact it was an incredibly diverse group with women and men about 50-50 as well as several African Americans and Latinos. This made my heart soar. What made me different this time was my age. I’m 46, and everyone else was no more than 20. They didn’t look like me. Should I have left the classroom, believing that tech is beyond me because I’m not 20? No, that would have been ridiculous.

I like solving problems with machines, so I belonged in that class. If you like solving problems with machines, you belong in Intro to Programming as well.

Coding is a lot of work, so get ready to develop some grit.

This is something I think most first years don’t quite understand. Your assignments will take time, lots of time. Not the initial ones, but by the fourth week expect to spend at least 10 hours a week on your programs. I knew this going into my class last semester, but as I listened to the students complain about the workload, I realized that many had not been prepared for this.

This is just the way things go in computer science. Like writing a novel, writing code is a process. You have to go through the stages, from reading the assignment, to figuring out the best solution, to writing your code, to testing it and turning it in. Yes, the "Rockstar" programmer next to you who’s been coding since he was 10 will be able to code faster than you, at first. But he still has to take the time to understand the requirements and design a solution, and bugs are the bane of every coder’s existence. Very few get it running under all test conditions on the first try. So budget a lot of time for your assignments. That way you won’t be so surprised.

The thing is, you need this experience now to make sure you really love this type of work. In the workplace, sometimes you will be coding for the entire day. Sometimes, when a release is ready, you’ll be coding and testing through the weekend. And if your code breaks in the field, you need to be ready to fix it. It’s not an easy job, and I don’t think sugar coating it to get more people to try it is a good idea.

But then again, if you love solving problems with machines, then the time will pass quickly. You won’t even realize you spent 8 hours coding. I loved those late nights in the Math-Science lab (these were the early days of the internet, and dial-up was an excruciatingly slow experience, so we had to work on Unix servers in the lab, not in the comfort of our own room or a trendy coffee shop). We’d get pizza sent in, even though it was against the rules, and code together until the wee hours of the morning. I still lose track of time, especially when stumped. I’m actually looking forward to my assignments this fall in Advanced Programming. To lose myself in my code is the same as losing myself when writing a novel.

And when your code runs and passes all tests—ah, there’s nothing like it.

The math requirements for this degree can be hard—but don’t give up!

Math was never my strong suit. Particularly math after Calculus II. For some reason, it literally went over my head. There were many times I wondered if I’d make it, and those were some of the lowest grades in my time at Purdue. I even entered behind in math, as I didn’t take calculus in high school and it ended up being a pre-requisite for my first CS class (high school counselors weren’t as on top of it back then). I wrote about the experience, and I’m so glad that I didn’t give up. Math is beautiful, for so many reasons. And while you may wonder if it’s necessary, it’s my belief, and the belief of many of the experienced engineers and engineering managers I’ve talked to, that one of the main values of a computer science degree is the advanced mathematics curriculum that goes with it. To think like a computer, you need to understand algorithms, and the three years of higher math will change you, literally at the neurological level. Even if you barely pass, you will be a better programmer for it. Trust me on this. Don’t let it stop you. Remind yourself that you love solving problems with machines, and that your multivariable calculus class is teaching you how to think like one. I can’t do any of that sort of math now, but I can still think like a machine. I was forever changed by my struggles in math, and it was a change for the better.

Hey hardware girls, you’re amazing!

I’ve been focused on computer science majors, but I want to give a quick shout out to all those girls about to embark on a degree in engineering. No matter what the bros in Silicon Valley think, without hardware engineers, we’re screwed. It’s very exciting that you’ve decided to learn both and while you too will experience many of the same struggles as your comp sci sisters, your degree is like CS+10. There will be challenges you can’t even imagine, but the payoff is high. Many of the most successful women in technology have an engineering degree. The charismatic Ginni Rometty of IBM has both her CS and EE degrees, and longtime Xerox CEO, Ursula Burns, has a degree in mechanical engineering. One of the first women I worked with out of college, Kelly Marquardt, was an electrical engineer and is now VP of R&D Strategic Customer Engagements at Cray. The world might be obsessed with software, but without a machine to run on, all those bits and bytes are just someone’s imagination.

Welcome to computer science…I truly hope you find it to be meaningful work and that you make your mark in the world of technology. From this corner of the blog-o-sphere, I am cheering you on.

Calling All Parents: Don’t Let Calculus I Be the End!!!!





In a recent article published by the American Association for the Advancement of Science (AAAS), author Maggie Kuo wrote,

“Female college students are 1.5 times more likely than their male counterparts to leave science, technology, engineering, and mathematics (STEM) after taking the first course in the calculus series, new research finds. The study, published last week in PLOS ONE, supports what many educators have observed and earlier studies have documented: A lack of confidence in mathematical ability, not mathematical capability itself, is a major factor in dissuading female students from pursuing STEM.”

Even though I’ve been fairly busy coding a conversational AI and trying to figure out just what it means to be a CTO in a Silicon Valley startup, I’ve honestly thought about this almost every day. Just how can it be that one class, one simple yet important class, would drive any students from a career in science, technology, engineering or math? And why would females be more likely than men to do this?

The article went on to explain the study behind this theory and it has the data to back it up. Since then, I’ve read many different articles and opinions, all offering up solutions to academia, while also trying to figure out the female brain. After spending a bit of time mulling it over, I realized something very important: I’m a female, I struggled with the first calculus course in college, and NEVER once did I think it meant that Computer Science wasn’t for me.

When I was a senior in high school, I decided to pursue Computer Science and applied to three Big Ten schools (I grew up in the Midwest and loved football, so Big Ten it was.) I ended up at Purdue University in West Lafayette, IN merely because they sent me my acceptance letter first. That was the extent of my college application cycle. I also had a bad case of senioritis and despite my father telling me I was being a fool, I dropped pre-calculus and went math free my last year of high school. I loved writing software, but didn’t like math. You see how already my narrative is different?

Fast forward to the next fall and I failed the entrance exam for Calculus I. Failed it. I had to take a remedial math class for computer science majors, which was basically the pre-calc class I should have taken in high school. Worse, because I wasn’t in Calculus I, I couldn’t take the first computer science course in the sequence, CS 180, and instead had to take a FORTRAN class with the IT students. Better yet, NEITHER of these classes counted towards my computer science degree. Basically, I was already a semester behind and I hadn’t even started college.

Yet never once did I think I should quit or change majors. Why in the world would I give up a career in software just because I wasn’t a genius at calculus? The thought never occurred to me. Instead, I took the remedial semester and entered Calculus I, as well as CS 180 in the spring and aced them. The remediation set me up for success. It enabled me to become a stronger student. Four years later, I graduated on time and headed out to work for Motorola. I’d forgotten about the whole thing until I read Kuo’s article. Now I’m wondering why I was so blessed, not because I chose CS as a degree, nor even for the chance of remediation, but blessed because I didn’t consider it a failure. Was I embarrassed?  A bit. But walk away from my CS degree? Never.

Now, I don’t consider myself special, but obviously the idea that anyone would quit a STEM degree simply because Calculus I is a pain in the ass doesn’t equate in my mind. And I don’t think this is a result of academia coming to the rescue, but a direct result of my upbringing.

The state of your mind is what paints the reality around you. Something is boring, hard, interesting, easy, or logical based on your viewpoint. Somewhere along the line, our kids are being taught that math is hard. Or only for special people. It also appears that males are better able to overcome this idea and push through, even if they’re not that great at it themselves, yet females take it personally. As if a lack of skill in calculus means you won’t be a good scientist. That’s absolute nonsense.

The issue probably lies somewhere between societal bias and poor math instruction in our schools. There are plenty of articles that make suggestions for improvements in these areas, but in my experience both society and the academia are slow to change. There’s really only one place where girls, and boys for that matter, can be taught that math is for everyone and that a love of science isn’t determined by one’s ease with higher mathematics—the home.

Yes, home is where the heart is, and home is where the future scientists of this world are born. It matters to me that more women enter computer science, not because I love it, but because this is the career of disruption. We’re in the middle of the transition from the Industrial Age to the Information Age and the end result will be what our children make of it. If most of our women, and many of our males, avoid technology because they see Calculus I as a deterrent, then I see a much bleaker view of the future.

The current crop of Silicon Valley hotshots isn’t too impressive when it comes to using technology to improve human lives, but that topic is for next week’s blog. Right now I want to share a few things that parents can do to help their daughters get past the Calculus I gate and into the rich and rewarding world of science and technology.

1.       Starting 5th grade, get your girls to play hacker/math minded video games.

The first time kids start to hate math is 5/6th grade. I call this Wall Number 1. Honestly, this is completely reasonable because who really enjoys converting mixed fractions to improper fractions and then subtracting them with denominators as different as night and day? Oh, and include borrowing in that, will you? Yuck. Everyone, except those in love with numbers, hates it. Yes, schools could improve the process, but this is the time where parents need to encourage their kids to not judge math as horrible and instead to see it as the practice of teaching the mind to solve puzzles. Puzzle and logic are the keys to science careers, not irregular fractions.   How to help them believe in themselves? Get them to play video games that use math in a not so obvious way. This is the perfect age to do so. Games like Minecraft, Portal Two and “else Heart.Break().” Many girls like these games, so encourage them to play! This is the age when my dad gave me my first computer and I taught myself how to code in Basic. But today’s children can use beautifully written software to play with mathematical concepts in a real way, in addition to the horrible decimal to fraction lessons. Yes, they still need to learn math in school, but now is the time for parents to help them understand that math is not boring, rather it can also be filled with story, drama and problem solving. Click here for a list of hacker/programming types of games.

2.       Starting middle school, teach them to code

You may have done this sooner, but for those parents who have a girl who’s interested in science, get her to code by eight grade. Why? Because this is just before Wall Number 2: Algebra II—the second mathematical course where many kids fall out of the system. Algebra II isn’t easy, but if you’ve had them playing Minecraft since they were ten, the abstract math course might not feel so horrible. But more importantly, now is the time to teach them that good programming is independent of being super smart at math. Should you study math if you wish to be a part of the scientific community? Yes. But do you have to love it or be a genius to code well? No. When I was in 8th grade, Apple donated several Mac II’s to my school as well as the money to hire a teacher. As a decent math student, I was invited to take part in the afterschool program and I loved it! I continued coding in Basic all the way through High School, until I took a Pascal class from Sr. Mary Newhart, the sister of the one and only Bob Newhart. (Yes, this is sadly the closest brush of fame I’ve ever had.) It was an all girl’s class, and even though I didn’t even take pre-calc because math bored me so much, I aced programming.

Puberty is the time to let girls know, that success in programming doesn’t mean you have to ace math. Instead it means you must be able to see connections within systems, to follow the problem down the rabbit hole to its solution, and put the pieces of the puzzle back together. Is this mathematical thinking? Yes. Is it Algebra II? No.

Encourage your science-minded daughter to take a programming class by age 12. If there aren’t any at school, send her to the Alexa Café summer camp program, then send her to the other ID Tech camps, or anything similar. Girls Who Code is also a great resource. Use summer to be a time of exploring her mind. Take it into your own hands and show her that programming is more than Algebra II.

3.       Encourage them to take AP Calculus as seniors, but don’t make the grade that important

I know this is hard. College is so difficult to get into and many are tempted to just avoid any classes that might make the GPA go down. It’s too bad you can’t take an AP class as pass/fail. If your high school has that option, then go for it. If not, then encourage your daughter to take the class her senior year, even if it risks lowering her GPA. If she’s applying for a STEM related degree, the college will want to see it in her course schedule anyway.

Have her take it, but don’t force her to sit for the AP exam, unless she’s really gung ho. Do whatever you can to support her. Teach her now that her grade in this class, unless it’s a complete failure, doesn’t reflect how great she’ll be as an engineer, or a food scientist, or a neurobiologist. Taking it now will help prepare her for Calculus I in college, there’s no way around it. Every science degree demands it and for good reason. The study of higher mathematics shouldn’t be reserved only for the brightest among us. Everyone deserves to study it, if not to understand the fundamentals of matter and nature. Furthermore, scientists need the mind training—but you don’t need to get an A in it. Probably not even a B. Again, grades seem to make a millennial tremble with fear and our current generation of females tends to be more perfectionist than in the past, but don’t give in. A “B-“ in AP Calculus will be the thing that enables your daughter to go into her first year of college prepared and ready to study. She can get through that Calculus I requirement with ease and then blow on by to the good stuff. There’s no reason she can’t.


So don’t give into the fear. Encourage her to go for it. Get her tutoring if she needs it. Do whatever it takes to show your daughter that she’s more than that grade, that instead she’s a critical thinker, and has every right to pursue a career in science and technology, even if she doesn’t love math.