I spent most of my childhood in Fremont, CA - a city that's about 45 minutes away from Berkeley.
I went to Mission San Jose High School. There were always interesting activities & classes - which meant that I kept myself busy. When I wasn't working on classwork, I was going to swimming or golf practice
In my junior (3rd) year, I wanted to make iPhone apps - so I started learn how to program. I also participated in programming competitions and eventually started the Computer Science club at my high school. I decided that I really enjoyed this material and wanted to learn more - so I went to Cal and starting taking Computer Science classes. It's now my third year at Cal.
I enjoy playing golf & swimming. I've swam competitively for about 8 years - so I can eaily swim a mile. (It took me around 25 minutes). I also like making apps and learning new technologies. I've published ~6 iPhone apps and a lot of web applications.
I enjoy learning languages (both programming and human) - my goal is to be conversational in at least 5 languages - I'm at three right now
Does "being bad at video games" qualify as a special talent? If so, I'm really good at that.
A lot. I did a little bit of programming before college (making iPhone apps and Websites) but my first programming class was CS61A. Even though I had some programming experience, I was seeing most of the material for the first time.
I've attended a lot of hackathons (at least 10+) - and made a lot of cool projects. Here's an example - I made something like IBM's Watson (a Jeopardy question answering supercomputer) at a hackathon. Try it here
I've used a lot of programming languges - I'm always learning a programming langugage - right now it's Swift.
My team won a hackathon hosted at Facebook by building a Python to Javascript translator. As a result, we got to go to the world finals. While we were hacking away on our project during the finals, Mark Zuckerberg walked in and asked us to show him what we working on. I handed him my phone and he played around with our app on my phone. You can read my teammates account of that hackathon here
I'll be teaching CS42 this summer - as well as a discussion section for CS61A.
I've also set out to read a few books this summer and continuing to build useful software.
The best way to learn is by doing, so I really like using examples. I also ask a lot of questions, because I think a lot of learning happens when you correct or reinforce your understanding.
In general, my teaching style is flexible because different material/students require different styles.