Jelani Nelson, Computer Science Professor, UC Berkeley
Updated: Jan 26
"For me, research is also a game. There's this problem that humanity is stuck on, and solving it is like getting to the next level. I enjoy that."
Photo By: Yaphet Teklu
Dr. Jelani Nelson is Professor of Electrical Engineering and Computer Science at the University of California, Berkeley. Jelani received his undergraduate and graduate degrees from the Massachusetts Institute of Technology (MIT), and has taught at Harvard and Princeton University. He also teaches high school students in Ethiopia through his nonprofit organization, AddisCoder.
We sat down with Jelani to find out about algorithms, life at MIT, and how to code like a pro:
J: I grew up in Saint Thomas US Virgin Island and finished high school there. I found out about MIT my senior year in the fall. I didn’t know anything about it. I found out about it from a US News Magazine. I applied with the intent to double major with math and CS [computer science]. I didn't know exactly what I was getting into. I didn't know what advanced mathematics was. I went to school and the last class is calculus; I didn’t know what was beyond that. I didn’t know what proofs were. But I knew I liked math class, and I knew I liked the CS I was exposed to. I taught myself some HTML and C++, and I had a teacher senior year who taught us some BASIC as well. Beyond programming, I didn’t know anything about algorithms or CS concepts, but I liked what I saw and decided to double major.
I used the internet a lot starting when I was about 10 years old. At some point I taught myself HTML. I realized that the way you make websites is with HTML. We took a trip to the mainland US, and I bought an HTML book, brought it home and just read it. I gave myself as an exercise to make webpages—not webpages that matter but just for fun and practice. I was probably around 12 years old.
Can you talk about about your experiences at MIT?
When I got to MIT, I realized there was so much I didn't know, like technical stuff. I was used to taking the honors classes in my school. We didn’t have APs [advance placement classes] so when I signed up for the intro math courses, I signed up for the most advanced one which had only 30 kids. I took single variable calculus with theory. The “with theory” part was to make it more intense. And there were a lot of international students in my class who didn't have APs in their own country. There were people in there who had done the International Math Olympiad (IMO); they represent their country in the Olympics for math.
Luckily for me, MIT back then had this policy where your entire first year had no grades. I didn't have to worry about my grades; as long as you got a “C” or a “C-” that was a pass. I was not really stressed. I was never in danger of failing, so I could focus on filling in my knowledge gaps. I made close friends with the other students, one who was a gold medalist from China. I talked with them a lot to try to absorb some of their math powers. I was not used to intense problem solving, especially on exams.
How long did it take for you to acclimate to the learning environment?
Even though there were no grades on your transcripts, they did tell you what your grades would have been if you had grades. I know my first semester I got three B's and an A. My second semester, I got three A's and a B. Second year onward, your grades matter. I remember fall of my senior year applying to grad school, I had a perfect GPA.
Was there anyone who helped you along the way?
Especially my peers. I had a friend from Bulgaria with whom I used to talk a lot about math. I had these two friends from Moldova, which is a very small country near Russia. They gave me an example to work with. They represented Moldova in the computing Olympics in high school. When they showed up at MIT, they approached a professor to do research with that professor. I had never heard of research before. I didn't know what that meant. But from their examples [I thought] “Well, these guys seem to know what they're doing. And they think that research is worth doing. Why don't I look into this research thing?” I approached that same professor and said I wanted to do research too. I was learning through osmosis from them.
Did you ever encounter any racial discrimination or ill treatment on account of your race?
In terms of racial issues or not being supported, I was somewhat of a monk. My life was: wake up in the morning, eat my breakfast, think about my homework problems as I'm eating, go to the shower and think about my problems in the shower, go to class (I never missed any classes, ever), then after class go to this one particular dorm where I had a lot of friends, and I would just hang out in the lounge. That was my life all four years of college, that same circle of friends. I made very close friends, but my friends were all from all over. There were friends in that dorm who were Black, who were Asian American. The number of white Americans in that group was smaller. Most people were children of immigrants. My mom is an immigrant. My dad's Black American. Maybe there were issues, but if there were I was very shielded because I was always with my friends or in class.
What made your application to MIT competitive despite having limited exposure in advanced mathematics?
What helped me was I probably got strong recommendation letters. I did a lot of extracurriculars in high school. I did academic competitions like Quiz Bowl, and we made it to the Nationals. We won in the Virgin Islands multiple times. Same thing in Science Bowl, we won. I did moot court. I won personally in moot court. I did piano and won a couple recitals. I was in martial arts since I was four, like Taekwondo and Jiu Jitsu. I was a good student in school…and my SATs were good.
What led you to become a professor?
Not really knowing what I was getting into, I actually only applied to MIT and Stanford [for a PhD Program] assuming I was going to get into both. I actually got rejected from both. And this professor at MIT out of the blue asked to meet me. His name was Terry Orlando, and he’s like, “You have a perfect GPA, have taken a bunch of grad courses, but a PhD at MIT is related to the area X, and in your application you stated you want to focus on Y. You have no research experience in area Y.” He explained to me how the PhD actually works. A PhD is not really being a student. He said, “What you should do is a one-year Master's (that was an option at MIT, stay an extra year for a Master’s), do research in the area that you actually want to focus on for a PhD during your Master's, do a Master's thesis, and then reapply.” So I did that. I did a one-year Master’s and focused on algorithms. And then fall of my Master’s year, I applied to six places, and I got in to five of them.
What also convinced me that I wanted to go the research route was summer after senior year, I did a software engineering internship at Google. There are many ways in which it was a lot of fun. There were a lot of other MIT people there who were my friends. We got to hang out a lot. We used to go hiking in the Bay Area. And Google itself—unlimited free food, free snacks, fresh squeezed OJ and stuff; they had Arcade Day where they brought all these arcade machines—it was a lot of fun in that way. But the actual work that I was doing—I was not really excited by the work. I wanted to work on basic things and basic science. I figured if I wanted to do this basic kind of research, then I needed to do a PhD.
What is some advice you can give students who want to learn computer coding?
One thing that I always tell people about computer science is that if someone is very passionate about civil engineering, it's very hard to start building bridges. It requires a lot of money and materials. But for CS, all you really need is your laptop. There’re so many free courses online like Coursera, edX, OpenCourseWare at MIT. Almost all MIT courses, all materials are free online, which was not true when I was in high school.
The first thing is just take it upon yourself. Take charge of your education.
I did some of that. I taught myself C and C++, HTML in high school before college. Even in college, I got really into Japanese. I took Japanese I and II, and I self-studied III and IV over the summer. Then I placed out and took V and VI the next year at MIT. There's nothing that forces you to wait for the classes to teach you something. Just go and learn it yourself and be proactive.
Also, find communities. When I was in college, I was not into any extracurricular activities. I was a gaming addict since I was four years old. For me, some of these programming competitions like Topcoder, I viewed like a game. Every two weeks or three weeks they would have a contest, and it was online. There was one summer when I trained myself 8-10 hours a day, seven days a week... I think Hackerrank is something like that now which is very popular. Back then I was doing Sphere Online Judge, UVA [Online Judge], the USACO Training Gateway—they have problems online. I was doing a lot of that. The year after, I applied for some internships. They like to ask technical questions in the interview. All those interview questions were just totally trivial. It’s not because I’m a genius or anything; the year before I did those interviews as well, and I found them to be challenging. Then after that summer of intense training, I came back and did interviews…I was pretty much answering their questions instantly. It was because of the self-training. I think I wouldn't have done an algorithms PhD and would not be a professor today if I would hadn’t done some of that self-training.
What does your day-to-day look like now?
I don’t have a very strong sense of work-life balance. I think I’ve always been like that. For me, I do some leisure stuff, and then I do some work, and then I go back and forth throughout the day. To me they're all the same anyway. I enjoy my research. I don't feel compelled to do it. I do it because I enjoyed it. It just so happens that there are universities that are willing to pay me to do this.
My day-to-day is a mix of preparing for lecture, giving lecture, and doing other course preparation stuff. Also, having meetings with my postdocs and my students and other collaborators, working on research projects, attending talks, trying to find other research directions, reading things. There are a lot of Zoom conferences.
I run a nonprofit on the side. I'm the president and founder of AddisCoder. We’ve trained over 500 high schoolers in Ethiopia so far in algorithms. I devote some time each week to that, especially for recruiting the teaching staff.
Can you elaborate on your process of creating and founding your nonprofit, AddisCoder?
Creating it initially was pretty simple. I was finishing my PhD; I had this job at Harvard which I deferred to be a postdoc. So, I had the summer free. I decided to visit relatives in Ethiopia that summer. And I thought, ‘Why don't I do something on the side instead of just lounging around the whole time.' First, I thought ‘Let me go to university and teach a special topics graduate course.’ That ended up not panning out. Then I thought, ‘Let me make it a high school program.’ I just cold-called and cold-emailed lot of high school secretaries. I googled the phone number of a high school in Ethiopia and called them. I told them what my plan was and got free airtime on the radio, the two biggest radio stations in the capital city. [They were] on the ground putting up posters, talking to high school teachers and telling them to tell the students. And we ended up getting more than enough students, actually more than we could handle. Also, I got someone at the university to let me use their classrooms, a lecture hall with a computer lab. From there, it was simple.
What is next on the horizon for you?
I got this email from the Chronixx team. He is probably the most famous young reggae artist. He's based in Jamaica. They heard about AddisCoder somehow, and they were like, “We want to have this in Jamaica.” We had a Zoom meeting, and they said they’re willing to support such an effort in Jamaica. I've been looking into starting something like that in the Caribbean. I've had a couple of meetings recently about that.
Other than that, I’m still working on algorithms research problems. I’m starting another thing coming this summer 2021 with the David Harold Blackwell Institute. It’s a summer research program, the goal of which is to get more Black Americans PhDs in mathematical sciences. I'm planning to mentor two undergrads. I have two other partners who are cofounding it, one is at UCLA in the math department and one is currently at UC San Diego but he's moving to Stanford. We’re each going to mentor a few undergrads this summer.
What is the ultimate legacy that you would like to leave behind?
Ensuring a good future for my children.
I like to work on problems that are well-motivated and that I can have some impact on. I see that as a game. I told you I’m really into gaming. For me, research is also a game. There's this problem that humanity is stuck on, and solving it is like getting to the next level. I enjoy that. Some of the stuff that I've done in my research now is taught in courses. The next generation of computer scientists will learn it. That's nice. But I would say that’s not something that is driving me. It’s just an artifact.
In AddisCoder, we’ve had four alums go to Harvard, four to MIT, three to Princeton. The older ones from the first iteration are doing PhDs. We have one young woman who is a PhD student at North Carolina. Two went to Columbia. I do enjoy seeing that, and I hope that as the years go by there’s going to be more and more of them, and we're going to start seeing them as faculty members. Maybe we'll [see] some not just from AddisCoder, but from JamaicaCoder [potential Jamaica nonprofit organization], and the David Harold Blackwell Institute. I think that would be really nice, to see more of us in academia as professors and starting companies.
Interested in the David Harold Blackwell Summer Institute? Check out this opportunity here:
#VirginIsland #MIT #Computerscience #coding #C++ #Harvard #HTML #internationalmatholympiad #IMO #QuizBowl #ScienceBowl #MootCourt #Research #IBM #Microsoftresearch #Google #Internship #BASIC #Coursera #edX #OpenCourseWare #Topcoder #Hackerrank #SphereOnlineJudge #UVAOnlineJudge #TrainingCamp #Ethiopia #AddisCoder #Chronixx #DavidHaroldBlackwellInstitute #BerkeleyEECS #UCB #Berkeley #Cal #Bears #Princeton