How To Make Computer Science More Accessible - Maria Klawe

Harvey Mudd College was founded in 1955 and was a mostly white and male school for 30 years. The leaders at the time didn’t even want it to be coed. They were worried that women would lower the quality of the institution so they had a cap on the amount of females at 11% until 1971.

In 2006, they had their first female president, Dr. Maria Klawe. In the 11 years that she’s been in charge, HMC’s diversity has improved significantly.

  • Female enrollment increased by 20%.
  • African American enrollment increased by 10%
  • Hispanic enrollment increased by 15%
  • Native/Pacific Islander enrollment increased by 2%

These are the results of her decision to create a cultural change at HMC that made it more welcoming and accessible to all.

The following is taken from a speech she gave at UCLA about how to make Computer Science and other STEM majors more accessible.

How To Make CS More Accessible And Engaging

Making Computer Science (and other STEM majors) more accessible takes three steps:

  • Make the environment supportive and engaging for all
  • Build confidence and community among underrepresented groups
  • Demystify the path to success

Recommendations for Intro Courses

Intro courses are the first time that most underrepresented students will be exposed to CS. First impressions last a lifetime.

Draw people in with a great experience

If you provide as great of an experience as possible for the intro class, then students will be more likely to continue with CS. A bad experience can lead someone to give up and say “Guess CS just isn’t for me”. At HMC, their intro CS class is one of the best classes at the school. Even non-CS majors enjoy taking it.

Make separate sections based on experience

Not everyone comes in with the same level of experience. At many schools, this makes things unbalanced. The students with less experience, i.e underrepresented students, will be intimidated by everyone’s skill levels. Separating the class into sections allows them to be with people on their level, who they can relate to more, and work with. You can also allocate more resources to the students who need it. At HMC they have two sections for their intro class. There’s one for beginners that goes at a slower pace and has tons of mentors and other resources to help them out, and there’s an advanced one that moves at a faster pace.

Set the expectation that hard work and asking for help lead to success

The biggest bias against underrepresented groups succeeding is the erroneous belief that you have to be born with a special ability to succeed. Making it clear to the students that anyone who puts in the work can succeed will give them the motivation to study. Otherwise they may see others learning faster than them and determine that CS “just isn’t for me”.

Encourage collaboration

Feeling stuck is very intimidating. When someone gets stuck on a difficult problem alone, they blame themselves and lose motivation. If they are working with a team then they’ll see that other people are struggling with the same problem, and they’ll be able to help each other. This also allows students to socialize and make connections, and creates a culture of being helpful instead of competitive.

Provide lots of support

Assign tutors, hold office hours and provide useful resources for hard-working students to succeed. CS is hard, and it’s even harder for the people who haven’t being doing it since they were 10. They’ll appreciate any effort to make their lives a little bit easier. At HMC they have 1 tutor for every 8 students in intro CS.

Ensure students have the same ability to succeed at the next course independent of prior experience

Something to watch out for when dividing the class into different sections based on experience is that the more experienced ones will finish the same material in less time. But we want every student to be on the same level for the next course. The way they do this at HMC is to teach the more advanced students extra material that’s not on the next class’s syllabus but that’s useful to know. They spend their extra time learning practical things, but still aren’t over-prepared for the next class. The point is that we want students from every background to be on the same level as long as they are willing to put in the work. The advanced students are challenged and learn more but without reintroducing the intimidation factor in the next class.

Frame the work as creative problem solving with real-life examples

Students are more likely to be motivated if they see that their work has some kind of real world application. This fights the myth that Computer Science is a lonely job where someone sits in front of the computer all day. In reality, it’s a field that’s revolutionizing every other field, offering endless opportunities to solve the world’s problems.

Eliminate macho behavior

“Macho behavior” refers to the students who are more advanced who ask irrelevant questions just to show off their knowledge. This kind of behavior intimidates people with less experience and makes them wrongly believe that everyone is more experienced than them. In reality there are usually just a few of these advanced students. This can be solved by simple conversation with students who exhibit this behavior. Just point out how their eagerness intimidates others, and they are usually nice and understanding. They are likely unaware of the damage they can cause with this behavior.

After the first intro course

Do the same for the next courses

Make sure that the next few courses they take have a similar feel. Make it a cultural change within the CS department to be more welcoming and beginner friendly. Otherwise they may get disillusioned in the next classes and fall into the same problems that the intro class avoided.

Provide early internships / research experiences

There are many companies that consider first year students like Google, Microsoft and Facebook. Help students get internships so they can stay motivated and see a practical application of their knowledge. HMC connects their best students from the intro classes to internships.

Take students to conferences with diverse attendees

Conferences like Grace Hopper and NSBE (National Society of Black Engineers) provide underrepresented groups with role models. It introduces them to a lot of successful people who look like them, which gives them the belief that they can succeed. It shows them that their race/gender isn’t a hindrance to their success.

Provide Role Models

Provide access to role models such as faculty and industry mentors. It will be really helpful to students if they have someone older and more experienced to go to for advice.

Build Community

Student orgs/clubs give students a place to meet others with similar interests. When students feel connected to the community, they are more likely to be happy and succeed.

Making CS available to all majors

There are usually more people interested in CS than there are faculty to meet the demand. The best option is still to make it available for as many students as you can. This will attract people with diverse interests and majors.

“It’s like health care, everyone needs CS regardless of what they’re doing” — Maria Klawe

Make it easier for non CS majors to take specific classes they might be interested in

Classes like Data Science or AI may be of particular interest to a Statistics major for example, but at most schools these classes will have many unnecessary prerequisites. Make life easier for these students by removing all of the barriers to enrollment.

Create Joint Majors

Make it easy for students to double major or have combined majors like ‘Psychology and Computer Science’. This gives students the chance to explore other interests while still applying CS principles, giving them a wider breadth of knowledge.

Increase the supply of faculty who teach computing at the intersection of disciplines

CS is changing many different fields and it’s good to have faculty that mix CS with another field such as Biology. Stanford is currently training PhD students from a variety of fields by giving them 4 quarters of master’s classes in CS, followed by training in CS education. This empowers them to achieve more and enables them to teach different areas of CS to more students.

Be mindful of the way you word things

A recurring theme in her speech was that the way you word things like job advertisements will affect the people who apply. If you word things in a technically elitist way, such as “Looking for talented developers” or “Looking for elite coders”, then it will discourage underrepresented groups from applying. They are more likely to have impostor syndrome and will think they are not good enough to apply. To fix this, stress things like creativity and teamwork in addition to the technical skills. Try something more like “Looking for creative coders who thrive in a collaborative culture”.

Focus more on the whole picture instead of just the technical aspect, and more diverse candidates will apply.

“Increasing diversity is not expensive or difficult, but it does take attention and consistency. You have to do it as part of a cultural shift. Every institution that has made a commitment has been successful.” — Maria Klawe

Further reading: