"It was a bit concerning because, with things like natural language processing and machine learning and stuff, it's really important to have diverse people working on things like that, and I wanted to see more people like me. … I went to seek out students that might not have access to computer science classes," she says. "I always really like to share my love for learning through teaching; because it was my favorite subject, I recognize the importance of how technology is growing in the world and how it can open many opportunities for students. I just wanted to provide more opportunities for students to sort of get started in the subject and find the passion that I found."
She started her organization, Codificar Con Coco, to tutor and mentor other students in computer science, including programming and coding. The services are free, with a focus on increasing the number of Spanish-speaking students in this subject area. After participating in a summer research program at New York University, San Diego's The League of Amazing Programmers, and TECHNOLOchicas (a national program of the National Center for Women & Information Technology and Televisa Foundation, which raises awareness for careers in tech for young Latinas and their families), she's recently published a book titled "Como Codificar para Niñ@s: Una Introduccion a Python" (Programming for Youth: An Introduction to Python).
Hernandez, 17, is a senior at The Bishop's School in La Jolla and a 2022 national student award winner of NCWIT's Aspirations in Computing program. She took some time to talk about her book, its focus on Spanish-speaking children, and her view on the importance of increased diversity and representation in technology careers. (This interview has been edited for length and clarity. )
Q: Where did your own interest in computer science first come from?
A: In eighth grade, I took this coding class called "Coding for Fun," and it actually happened by accident because it worked with my schedule and it was the only elective class available. At first, I was like, 'Oh, I don't really like this class,' but once we started using Python turtle graphics, which is more like the visual component to computer science when you're first learning, I became really interested, so I enrolled in the class the next year. From there, I really liked how it was a lot of problem solving and math, but also a different subject that I had not been introduced to before.
Q: Your organization, Codificar con Coco, provides free coding and computer programming classes to Spanish-speaking youth with a goal of closing the gap in STEM fields for Hispanic students. What has your own experience been like, learning computer science as a Hispanic student?
A: In any class I've taken, most of the students around me were male and they were mostly White and Asian students. It's sort of hard to be in a room like that because it's intimidating. I always felt like I had to go the extra mile to prove myself worthy because I felt, even as a beginner in ninth grade, most of the students around me were males who already had experience in computer science, whether that be in their middle school robotics team or stuff like that. I was going into a class where I had no idea of even how to print something in Python, so I was really intimidated to ask questions in class. I really understand the difficulty of starting a new subject, which I wanted to make easier for other students.
Q: What are some of the challenges you noticed in making the field more accessible to other students like yourself?
A: I think a large part of my focus, currently, is with non-English speakers because coding languages — the most popular coding languages, like Python, Java, C++ — they're all written in English, so they'll have English code words, like "import print" or things like that. Although computer science is more of a logical thing, overcoming that language barrier is really hard because, not only are you learning a different coding language, but you also have to learn a bit of English, simultaneously. A lot of the resources that are available, first of all, aren't really catered toward young students; and second of all, if they are catered toward young students, they're most likely in English. That's sort of how I started making my own resources and eventually published them in a book.
Q: Can you talk about this progression from teaching classes and providing tutoring, to writing and publishing a programming book for kids?
A: I wanted to seek out people in my own community and I started reaching out to students that my dad knew through his work [as a doctor] in Mexico, and that's how I started meeting with these students who spoke Spanish. From there, I really saw that there was a really big disparity between the level of public education here in the United States and in Mexico. For example, teachers here do a lot of prep for classes, especially for things like math; in Mexico, or in Tijuana, it's not as rigorous and the teachers don't put in the same amount of effort.
When I was creating these resources, I had to do it by hand since there was nothing really available to me online. I made sure to meet with different engineers in Mexico who would know the correct terminology for things like "Python shell" and "command prompt" because I didn't want to butcher anything in case the technical terms are different. Over about two years, I had accumulated a lot of materials and visual aids to help my students understand how to convert binary into numbers and vice versa. My next goal was how to create a larger impact with what I already have because these resources are pretty valuable. Besides having this on a website, what else could I do? I decided to work it into a more visual guide as a book for younger students because not a lot of computer science materials are catered toward middle to high school students, which I've seen is really important.
Q: Tell us about the book. How is it laid out? What material is covered in the book?
A: From the title, of course it's an introduction to Python. Python is a great language for younger students to learn because there are a lot of key words and it's less technical; it's easier to understand, so I decided that would be the best language for students to start with. I start out my book with things like, 'What is computer science? Why is it important? What will you find in this book?' Then, I go into how to set up a Replit account, which is a great way for students to gain access to a text editor, which is basically what you write your code in. It's free, it's online, and the only thing was that it's in English, so I had to make sure I had a lot of screenshots and then I was translating everything into Spanish.
Once they have the text editor set up, I go into a bit of basic math because I noticed the disparity level in basic math concepts (like exponents and multiplication) were a bit lacking in the students I tutor in Mexico versus the ones I tutor here in the United States. So, we learn about binary numbers, exponents, mods, and how to translate these math concepts into lines of code. Then, I get into the bulk of computer science and I start out with data type, which is a key topic that students have to understand because you're manipulating data, so how does the computer do that? And how do I translate these thoughts I have into something that a computer would understand? Then, I go into more logistical things like statements, loops, functions and modules, classes and objects. At the end, I wrapped up with something more visual because I really fell in love with visual components, which is why I really like designing websites and apps. I go into turtle graphics, which is a Python library, and then I leave a little note at the end for anyone who wants to enroll in my classes, which are free of charge.
Q: What is your goal with the book? What do you want it to do for Spanish-speaking kids?
A: I really hope that it inspires them to go into this new field, or at least to try it. All I really want is for them to try it because you never know if you like something if you don't try it. I am working to sort of expand the impact that the book can have by contacting different public libraries, especially in southern San Diego, as well as I'm reaching out to as many families as I can in Mexico, through family members and my dad's work.
Q: Why is it important to you that computer science be more accessible? What kind of difference do you think this makes?
A: I really think it's important that we have diverse people working on the things that are going to be so important in the future, particularly with technology. It's being incorporated in all parts of our lives. Recently, in my advanced honors computer science class at school, we were learning about machine learning, and it's based on algorithms, but algorithms are based on past datasets. These past datasets we're passing to these new machine learning algorithms, they're going to be trained on ideas and methods of the past, so in order to change this ideology, I really want more diverse students, like me, to recognize the importance of having a diverse workforce.
I'm a TECHNOLOchicas ambassador in partnership with NCWIT, and we work on expanding to more Latinos who want to go into tech. I recently attended one of their conferences and we were talking about natural language processing, and an ambassador named Ruth Vela taught me about how it is really important to her work to identify the importance of the lack of Spanish datasets in the work that she's doing. Even something like that can really change the algorithms that she's working with, so she said, "We need more people like you, Athena. We need more people who recognize the importance of this problem and who will change it, by working in this field."
©2023 The San Diego Union-Tribune. Distributed by Tribune Content Agency, LLC.