Last updated: August 20th, 2020

(Approximate) photos of me.

Hi! I’ve been an undergrad at UC Berkeley since Fall 2017. I started out studying computer science and finished the major requirements in Fall 2019. To prevent the university from asking me to leave I’ve started a second major in data science with a domain emphasis in applied math (mostly as an excuse to take more CS classes). I’m planning to graduate in Spring 2021.

My sophomore year I worked in Berkeley’s Neuroeconomics Lab on bias in word embedding models and a handful of decision making experiments. In spring I helped manage a fleet a buses with Berkeley PATH’s T-Connect project and in the summer I interned with BOLD to work on their career matching system.

This spring I began TAing for CS186: Databases and over the summer interned at Cisco AppDynamics on their infrastructure monitoring team. I’ll be returning to TA for 186 this fall.

In my freetime I enjoy doodling with my fancy printer, reading (I recommend Vonnegut, Ted Chiang, and Terry Pratchett), and playing competitive Pokemon.

If you have any questions/critiques/feedback for me, feel free to contact me!

100% Bot Proof Contact Info

ude.yelekreb [ta] 12gnowsirhc


What is our purpose?
What’s with the background image for this site?
Class recommendations?
How can I get into undergrad research?
Can machines think?
How did you get started in Computer Science?
I got a 404 error. Who is this “Debug Dog”?
What’s Berkeley CS like/should I apply?
What does your middle initial stand for?

What is our purpose?

One of my peers in the Neuroecon lab asked me in the sense of “wait what are we supposed to be doing this week?” I didn’t really have a specific answer for him at the time.

In general though, I like to adhere to this philosophy:

A purpose of human life, no matter who is controlling it, is to love whoever is around to be loved.

― Kurt Vonnegut, The Sirens of Titan

And occasionally:

I tell you, we are here on Earth to fart around, and don’t let anybody tell you different.

― Also Kurt Vonnegut, A Man Without a Country

What’s with the background image for this site?

That’s a picture of Berkeley’s Campanile, with a few rounds of primitive run on top of it to try to approximate it using geometric primitives. I personally really like the aesthetic, though I’ll admit without looking closely it kind of seems like a blown-up low fidelity JPEG.

Class recommendations?

I came into Berkeley with above average programming maturity and average math maturity and I’m personally biased towards classes with heavy emphasis on programming, so take this list with a grain of salt

Definitely take:

  • CS162 - Operating Systems
    • Requires: CS61ABC, I recommend taking 161 prior as well
  • CS170 - Algorithms
    • Requires: CS70
  • CS194 - Linux System Administration DeCal
    • Requires: Enrollment Luck
    • This is a DeCal run by the awesome students down in the OCF! Enrollment is usually really tight though, but the members of the OCF are generally enthusiastic enough to help you out with Linux stuff if you show up during regular hours

If you like programming:

  • CS161 - Computer Security
    • Requires: CS61C, high acronym tolerance
  • CS186 - Databases
    • Requires: CS61BC, strong emotions about disk latency

If you’re interested or think you’re interested in two letter hypeisms:

  • CS188 - Artificial Intelligence
    • Requires: CS61AB
  • CS189 - Machine Learning
    • Requires: EE126*, EE127*, Any STAT upperdiv*, MATH54, MATH53,
    • I really recommend taking at least one of the asterisked things before this class
  • EECS127 - Optimization Models in Engineering
    • Requires: Math54
    • I think this technically requires the EE16 series but I didn’t take them when I took this class and it was mostly fine
  • CS182 - Neural Networks
    • Requires: Math53, Math54 (127 also works), CS70
    • By the time I took this class my interest had almost vanished, but its an interesting survey of architectures, intuition behind why some are effective, lots of linalg and lots and lots of little hacks to get things working

How can I get into undergrad research?

Just apply! I’ve found almost every department is happy to take in CS students with proficiency in Python, especially if you’ve taken CS61A and B. As it happens, it seems almost every lab could use some extra computer people. Obviously you may end up with unpleasant or uninteresting work, but I’ve found many of the practical skills I’ve picked up at Berkeley were on jobs that weren’t necessarily something I was passionate about.

If you’re thinking “I probably won’t get into anything if I apply,” that’s also what I thought when I applied to URAP in Fall 2018 (start of my sophomore year). Don’t undersell yourself! In the worst case scenario you spend a few hours getting to read through cool research projects and writing up a personal statement of your interest, which are both rewarding experiences regardless of whether you get anything.

Can machines think?

“Can submarines swim?”

― Dijkstra

How did you get started in Computer Science?

In high school I was relatively clueless about what I wanted to do in terms of career. I knew I wanted to some sort of STEM-related field, but I wasn’t sure which one. My junior year I took the AP courses for CS and Chemistry, and actually really loved both of them! Unfortunately for chem, it was a lot easier to tinker with programming than it was with mass spectometry on my own time, and so I ended up leaning towards computer science.

I will say that APCS is kind of useless in terms of preparation of Berkeley (and I imagine many other school’s) CS curriculum. I hate to say it but a lot of CS courses “handhold” a bit too excessively. The most educational periods of my time during high school were spent trying get to simple graphical games to display and run at 30 FPS relying solely on StackOverflow, compiler vitriol, and Java’s standard library documentation. This is the kind of suffering that the department of education and parts of the constitution tend to forbid, but I suspect that that kind of struggle working on a personal project builds a level of independence that very few undergraduate or high school courses are capable of providing.

I also had some background in competition math, which teaches a lot of intuition and practical problem solving skills that you really won’t get in a classroom.

This in particular really hits home for me:


See the second quote in the “What is our purpose?” section for more on this.

I got a 404 error. Who is this “Debug Dog”?

Debug Dog is my dog-in-law who came with me to Berkeley to study CS. In general I do my best to explain code to line-to-line to him during debugging sessions while he stares back at me in judgemental silence. Thanks to the power of Berkeley course capture he has approximately the same level of CS knowledge and programming maturity as me, but severely lacks in communication skills (presumably because he doesn’t have a mouth).

What’s Berkeley CS like/should I apply?

Yes, you should apply (if it’s within your financial capacity). I really don’t have a universal answer to this, any curriculum will really have a completely different effect for different people. There are a few things that I do think stand out:

  • There is bar you have to get past. Although advertised as no prior experience required, the intro CS course CS61A has been accused of being a weeder course along with CS61B (Data Structures) and CS70 (Discrete Math). The requirement to declare the computer science major is a 3.3 GPA in these classes, i.e. 2 A’s and B, or 3 B+’s, etc… This is, as far as I know, the highest GPA cutoff at Berkeley, and it’s been trending upwards (though I doubt, knock on wood, that it will get any higher). I know that roughly 25% students a semester are barred from the major by this cutoff, and I would bet that even more are diverted away before even getting through all three courses by performance in the first ones they take.
  • The bar is high because the staff believes in you. Since our CS department has grown a bit slower than Moore’s law in the past few years it might seem like resources are getting spread thin. That’s not really the whole story though. Many undergraduates TA, tutor, and mentor other undergraduates. This is often times equally if not more effective than help from graduate student instructors and professors, since many profs and grads tend to be a bit too experienced to empathize with a lower-div undergrad. I implore you to take advantage of your peers both enrolled in the class and acting as course staff.
  • Classes tend to get easier in upper div! The curves are kinder, class sizes are smaller, and the professors tend to have genuine interest in the material. Since you’ve made it through lower-divs by this point, the projects get a lot more interesting as well since you should have decent programming/problem-solving maturity
  • Check out the “Academics” tab of my portfolio for cool classes and associated projects I’ve had the chance to take

People will of course give you impassioned reasons for why you shouldn’t come to Berkeley, usually regarding difficulty and class sizes. I think you should take their words in to consideration as well.

What does your middle initial stand for?