To Queer Code: Ann Daramola on Learning and Teaching Computer Programming Part I
In Conversation is a Media Speaks! summer blog series where we chat with fascinating folks in the field of technology, media, and education. For our current feature, we’re highlighting women of color mediamakers, techies, content producers, and programmers.
“I've been coding for the web for about 10 years now. Over the past two years I've been developing coding curriculum that I hope will help bridge the gap between curiosity and careers for disenfranchised youth. In the meantime, I'm working as a professional web developer until I find another institution interested in radical, project-based curriculum.”
Ann Daramola is a web developer, technologist, mediamaker, educator, and computer programmer from Los Angeles, California. She’s responsible for creating and developing Afrolicious, an online network for people to create and champion their own stories. I chat with Daramola about her experiences learning and studying computer programming as an immigrant to the U.S. Daramola also shares her insights about what it means to understand, teach, and “queer” code by asking “What would a computer look like if it was coded by Haitian women?”. Check out our interview with Ann Daramola below.
Tara: Before we get into more a in-depth conversation about computer programing, can you talk about your platform Afrolicious, what is it and how it come about?
Ann: Afrolicious is a lifestyle, it’s a movement! [Laughing]. Afroicious came about around the time I discovered Twitter back in 2007. At the time, I was tweeting primarily under @simplyann, but I wanted to create something different, and that’s how Afrolicious, the Twitter handle came about. Then I bought the Afrolicious domain and started blogging about natural hair. I realized natural hair is a great movement, but it doesn’t always get to the root of our issues. In general, the natural hair movement has been about how we see ourselves or about how we present ourselves to others. So I became really excited about the idea of representation. A few years back Wale, the rapper, started a hashtag on Twitter called #thatsAfrican, which was sort of a tongue and cheek way of talking about being raised and living in Black culture. Then, Twitter ended up censoring the #thatsAfrican trend. I was so upset! The #thatsAfrican hashtag enabled some of us to tell our stories across the Diaspora. It’s a distinct experience we celebrated through Twitter until the platform censored it. Then I realized this is what Afrolicious should be about, that is, it’s about the stories from the African Diaspora. I find and curate art, music, design, books in the Diaspora and highlight them on the website.
Tara: How did you get into computer programming and coding?
Ann: I started writing stories and self publishing on my dad’s old school Apple Macintosh, the really boxy one, which was around 1994-1995. Then from around 1997-1999 I was desktop publishing, like writing stories, formatting, and printing. I got into making brochures for my church and ever since then I’ve been attached to the computer. I also wrote a lot of stories as a kid, so writing was natural for me. Then I started to tinker on the computer quite frequently. During the summers while I was in high school I had a chance to go to an aerospace engineering camp in California. Then I attended UCLA’s summer program for about four years all throughout highschool. That’s really where I was exposed to what we now call STEM education. Back then I was just making telescopes and spin dials. Then I discovered the Internet in 2002. I made my first HTML website in 2003 when I was in college. While in college, I majored in computer science and literature.
Tara: My entrance into media and technology also came from writing and telling stories as a little girl. My family bought our first computer in 1995. I was on America Online in 1996. Like you, I took to the computer immediately; using word processing to write stories, songs, and create images. I also played online in the chat room; talking to my friends who were literally down the street. The idea that I was someplace online talking and, as you say, “tinkering” was fascinating. When I arrive to college in 1999 I was taking rhetoric courses where I learned more about online chatrooms. I wrote a paper about Internet speak, or what we know as “LOL”, “BRB”, and so on.
What would you consider to have been your gateway medium into computer science, or more specifically coding and programming?
Ann: Definitely having access to a computer at home and at school helped. I would arrive to school really early and sit on the computer and Internet just playing and tinkering. I don’t how I discovered an online community forum for artists but I did, and I ended up being one of the writers on the forum. I posted my litte teenage poetry, and I’d get feedback on my poetry from people all over the world. Those connections I made online and through my poetry kept me coming back to the computer and to the Internet. I was also encouraged by my parents to use the computer to create projects for church. By the time I graduated high school it was just assumed that I would go on to pursue computer science in college, and so I did.
Tara: What languages do you know and use?
Ann: I know Java, which is the first language they teach you in college. I currently use Javascript for projects involving [Internet] browsers. I also know PHP, which is the primary computer programming language of Wordpress, and I use this language almost everyday. I also use Ruby, though I’m not as versed as I’d like to be. When I start a project where I need to build it from scratch I use Ruby. I use Java for teaching because that’s the first language I learned. I start with teaching Java since most young people will be exposed to this language when they first enter college, so this will give them a leg up. I know C, but I rarely use it because it’s just a headache (and it’s not as friendly as the other languages).
Tara: Are you self-taught?
Ann: Yes, all of the technology I use now is because I'm self-taught. In college you learn about algorithms and theories, usually based on the concept of object-oriented programming. I learned the algorithms and theories in college, but the actual tinkering, and the ability to crash a computer because you’re hacking into it is all self-taught.
Tara: Can you tell me a little bit more about the curriculum your developing and about the youth populations you hope to reach?
Ann: The curriculum is called Radical Project-Based Curriculum. I call the curriculum radical because it doesn’t depend on boring and outdated examples to address problems. We look at our community and ask what problems need to be addressed, and then look towards technology as means of solving these problems, specifically through programming. The curriculum isn’t about creating a blog. Granted learning how to create a blog is great but building this medium is not crucial for the future. Instead we want to teach youth how to create other, more complex applications; for example, an application that can tell us when the fruit in our refrigerator is going bad. The curriculum is less about how to program than it is about how to think as a programmer. When we do the exercises we slowly integrate the object-oriented syntax and so on. But the idea is to get students to think like a programmer, which is really critical thinking.
The curriculum is designed as a way to build a support system of critical thinkers who can make life decisions and solve everyday problems.
The populations I work with are teenages who are either in school or trying to finish school in a non-traditional way, or young adults (16 to 25-years-old). The curriculum asks youth to focus on the details and to ask questions that can translate processes to a programming language. The reason why the curriculum is crucial is because in between high school and college there’s a huge gap of learning. So if a student goes straight to college from high school s/he may find it difficult to grasp certain concepts in a computer programming course because the student was never really exposed to these concepts before and/or because these concepts really have nothing to do with the student’s everyday life--especially a person of color living in so-called “urban areas”. In my research I’ve looked at trade schools and universities, and I found that it’s really difficult for our young people to bridge the gap between what is taught and our lived experiences.
I believe that your lived experience can be programmed.
Tara: Bridging the gap between computer programming knowledge and lived experience is important. As a researcher looking at this gap, and as someone who doesn’t know how to code fluently, I’m very curious about how youth come to know and understand the process of coding and programming. For me, it’s still very difficult to wrap my head around coding and programming, particularly the logic of it. So on one hand I’m coming into this research from a deficit standpoint in that I don’t know a helluva lot about programming theory or application. However, on the other hand, as a media maker and communications scholar I bring with me a different way to approach studying computer programming in that I am deliberately centering the stories of youth coders and programmers in order to 1) learn more about coding and programming, and 2) to explore through ethnography what I believe will be the future of computing. Even though I’m not trained to think like a programmer or computer just yet, I'm motivated to learn from youth coders and programmers coming up now.
Can you talk more about what you think it means to think like a computer programmer?
Ann: To think like a computer programmer means to be very clear about your objectives. I used to manage a technology lab of a LA-based non-profit. I was managing over twenty computers, desktops, and laptops. I also taught web development courses at the local middle school and at an high school after-school program. I had all of these different technology things going on simultaneously and every time people would come to me frustrated saying, ‘something’s wrong with the computer, it’s not doing what I want it to do!’ I’d tell them that the computer is doing exactly what you’re telling it to do. People would get very frustrated because they felt as if the computer wasn’t understanding them. It’s like if you or I were speaking a foreign language and no one could understand what we were saying, surely then communication would break down. Understanding how computers work and understanding the basic physical architecture of a computer will help you understand how to manipulate the higher languages that are built on top of the computer.
Everything that has a computer is programmable; toothbrushes and refrigerators are programmable.
When you understand those basic building blocks of a computer, you’ll realize the process of programming applies to any computer, it’s just scaled down to a tiny toothbrush, or scaled up to a gigantic satellite. It’s just about being able to understand that there are different ways to talk to a computer.
There are languages that are developed everyday, and these languages can be more and more abstract. For example, HTML (hypertext markup language) is an abstract way of constructing the images, texts, sounds of what we call a website. It’s abstract but when you look all the way down, it’s basically zeros and ones put in patterns. You and I can’t speak zeros and ones so we come up with a way to translate those zeros and ones. There’s all sorts of jargon that goes into teaching this sort of translation but the most important thing to understand is that you’re learning a new language. You have to give yourself time to learn the grammar, syntax, vocabulary. All of the same kind of rigorous study that you would put into learning Chinese, you put into learning programming. But instead of talking to another human, you’re trying to talk to a computer.
Tara: It’s interesting that your curriculum is not about creating a blog. Though a lot of people are creating and developing blogs and by doing so they’re also teaching themselves how to code and program. I love that because it gets to the core of what’s happening behind the computer screen. That said, I also appreciate you looking beyond the blog platform and on toward more complex processes and applications. I’m interested in the how-of-the-how-of-the-how, in other words, how the image appears on the screen. Some of the questions I keep asking myself concern how computer languages get developed, how they’re understood, what’s in a code, and how might computers encode culture. I believe there’s a link between all of these things but I’m not quite sure how to articulate it just yet.
So my question to you as a coder, particularly as a women of color, how do you understand code and computer languages? What is in a code? What does it mean to code, and can the act of coding somehow speak to our ways of understanding culture?
Ann: One of my favorite questions to ask myself is, what would a computer look like if it was coded by Haitian women? What would a computer look like if it was coded by a Nigerian herbalist? How would I code this program differently if I was coding in French or from a Nigerian worldview? All of the computer languages we have now were written by a majority of white men. So their way of thinking can be considered very binary; an on and off, which is the very basic level of a computer’s architecture and processor. The central processing unit of a computer is very simply zero and one.
But take for instance Yoruba cosmology, ideas and concepts are much more fluid--it can be zero and one at the same time! These are my favorite questions to ask myself as I’m coding.
For me, coding is a very lonely experience. It’s just you, the code, and the computer, which is why I love the Internet. I can connect with large representations of people through avatars, Twitter, online forum, and talk to them while I’m going through the lonely process of coding. Coding is very lonely especially considering that I come from a huge family, where everyone is always in each other’s business, and always on top of each other. But you can’t code when people are running around distracting you. The programmer needs to concentrate. This, of course, is not to say that other professions, like carpentry, do not require some level of solitude and isolation from the world. But there’s really no human interaction in the coding process or in that mode of production.
Coming into this very Western way of computer science, especially as an immigrant, and coming into the coding culture, I’m always trying to queer it; trying to construct new ways of thinking about coding and programming. I do this in the way I teach. I use real life examples to teach the architecture and the infrastructure of processes. I use these examples in order to make ideas more accessible to students who didn’t grow up with a computer in the home. In teaching, I’m able to bring my worldview into this already established and very Westernized culture of coding and programming.
Also, a lot about programming is the idea of crashing and burning, which is another reason why I really enjoy coding.
There’s so many different ways to come up with ideas. I get excited when I see computer languages built in different human languages. We're superimposing these understandings on to a computer. Some things will match up and some things will fall off the edges. Some computer languages are limited because they don’t have the multiplicity of human languages to account for it, but we can always change the way we process, program, and present code. Certainly there are standardized rules that people have to learn. But we can always build different ways of understanding the world through computer programming and coding.
Part II of our interview continues tomorrow.
Transcribed by Tara L. Conley
Image courtesy of Ann Daramola