He's barely a man. He's hardly a myth. He's certainly not a legend.

OWEN JOW

But he can still do some pretty cool things.

[ WHO IS OWEN JOW? ]

tl;dr Me! I'm a third-year computer science major at UC Berkeley with a veritable grab-bag of talents.

Although I was originally enamored by the concept of embedded systems, my studies haven't yet taken me further than a couple of basic Arduino projects. Instead, I've busied myself by learning a bit of everything: computer architecture, data structures, animation... I can't quite say "you name it" yet, but I think I'm getting there! While I may not have the deepest experience with any particular facet of computer science, I've acquired a relatively broad set of abilities and I really do believe I have the base skillset to accomplish just about anything. Summer 2016 update: For the present (/the foreseeable future), I've selected graphics and AI as my fields of concentration.

The best part is that I'm far from done: the learning never stops. If you have something for me to put my mind to, please let me know. I'm game for anything, as long as it doesn't involve criminal activities or supermarket bagels.

[ EXPLOITS ]

I live a pretty exciting life. For a comprehensive list of mountains I've climbed, airplanes I've jumped off of, and cameras I've coolly smiled at, take a look at my résumé... but don't be too disappointed if, say, it was really just a bunch of schools I've attended and awards I've won. ;)

As a computer scientist-in-training, I've picked up a few computer-related skills:

Here's a list of languages with which I've had some form of exposure. Keep in mind that each label is relative to me and my own degree of experience:

  • Lots of exposure: Java, Python, English, C#, C++, HTML/CSS
  • 7/10 exposure: JavaScript, C, Japanese, MIPS assembly, SQL, Ruby, Scala
  • Some exposure: Swift, Objective-C, Scheme

I have a decent level of experience with each of the following:

  • Operating Systems: UNIX, OS X, Linux
  • Software: Autodesk Maya, Photoshop, LaTeX
  • Frameworks / Runtime Environments: Django, Unity, Rails, ROS

I've also completed my fair share of school projects:

Due to the possibility of plagiarism, I'm unable to post my code for these projects. However, if you would like further information about any of them, I'd be more than happy to answer your questions!

  • CS 61A | Python + Scheme: Scheme Interpreter
    • For our final 61A project, we built a Scheme interpreter in Python. This interpreter could be run interactively, during which it would cycle repeatedly through the read-eval-print loop.
  • CS 61A | Scheme: Recursive Art Contest
    • Using Turtle graphics in Scheme, we were challenged to "unleash our inner recursive artist" by creating a visualization of some computational process. This was my entry; it was effectively a fusion of multiple terdragons.
  • CS 61B | Java: Gitlet
    • Here we designed and implemented (from the ground up!) our own version control system, which was modeled after Git.
  • CS 61C | MIPS + Logisim: Processor Design
    • A working processor built by wiring together logic gates. We were required to construct all of the CPU logic (including that contained within the ALU and register file components).
  • CS 61C | Python: Performance Optimization/Convolutional Neural Networks
    • In this project, we added optimizations to a CNN implementation so that it could identify at least 3000 cat images per second. We did this using techniques along the lines of loop unrolling, SIMD instructions, and OpenMP.
  • CS 61C | Python: Deep Learning Algorithm + Spark [Part 1][Part 2]
    • Here, we again optimized a convolutional neural network – except this time we did it with Apache Spark and MapReduce. After we were finished, we ran our implementations on clusters of AWS EC2 servers in order to test our image-identifying code on a massive number of samples.
  • CS 168 | Python: Reliable Transport
    • As our second 168 project, we built a simple transport protocol ("BEARS-TP") that was required to provide in-order, reliable delivery of UDP datagrams – even in the presence of arbitrary hindrances like packet loss, duplication, and re-ordering. This was done by imbuing our sender with "go back N," "fast retransmit," and "selective acknowledgement" functionality.

Add to that a (growing) list of work experience...

  • CS 61A Undergraduate Student Instructor [UC Berkeley EECS Department]
    January 2016 -

    During the spring semester of 2016, I rejoined the CS 61A course staff as a UGSI. Accordingly, I was responsible for leading lab/discussion sections, being available online and in office hours, and grading assignments. I also worked with other staff members to develop course content (e.g. exams, quizzes, and supplementary resources).
  • Backend Engineer [Project Campanile; ASUC Office of the CTO]
    October 2015 - December 2015

    As part of Project Campanile, I worked on the backend for Berkeleytime, a Django application serving as an expansive conduit for Berkeley course and campus data. Among other duties, I helped develop an API, fine-tuned search UX, and contributed to general bug fixes.
  • CS 61A Group Tutor/Reader [UC Berkeley EECS Department]
    August - December 2015

    As a member of Berkeley's CS 61A course staff (under Professor John DeNero), I tutored students in weekly small-group sessions, hosted extra office hours, and graded programs/exams for composition and correctness. I also got my picture on the website, which means I'm one step closer to being famous.

And finally I've made some applications on my own (because I'm a strong independent young developer). Below you can find a small sample of projects I've done on the side.

SWA



An Android application for identifying that word you just can't think of.

Hacker Headlines



A Chrome extension that feeds you only the most popular Hacker News stories.

Pesto Check



A Python web scraper that checks local menus for daily pesto offerings.

Dodge



A downloadable Kirby-based evasion game, released as a teaser for TripleT.

[ EDUCATION ]

University of California, Berkeley Expected Graduation Date: May 2018
B.A. Computer Science [GPA: 3.9]

As mentioned before, I'm currently a junior at UC Berkeley. Go Bears!

Apart from classes, I've spent time assisting in laboratory sections (for CS 61A and CS 61C) and as a member of the web development committee for my honors society, Upsilon Pi Epsilon. I've also been involved as a volunteer with several events – for example Engineering 4 Kids Day, during which I explained the code behind physics simulations to 4th-6th graders, and the Berkeley Math Tournament.

Relevant coursework:

  • CS 61A: Structure and Interpretation of Computer Programs
  • Math 54: Linear Algebra and Differential Equations
  • CS 61B: Data Structures
  • CS 61C: Great Ideas in Computer Architecture
  • CS 9E: UNIX for Programmers
  • CS 98: 3D Modeling & Animation
  • CS 70: Discrete Mathematics and Probability Theory
  • CS 186: Database Systems
  • CS 168: The Internet: Architecture and Protocols
  • CS 198: Ruby on Rails
  • EE 16A: Designing Information Devices and Systems I
  • CS 184: Computer Graphics
  • CS 188: Artificial Intelligence
  • CS 195: Social Implications of Computer Technology
  • CS 170: Efficient Algorithms and Intractable Problems
  • CS 194-26: Image Manipulation and Computational Photography
  • CS 189: Machine Learning
  • CS 198: Web Design
  • CS 162: Operating Systems and Systems Programming
  • CS 284B: Advanced Computer Graphics
  • Math 110: Linear Algebra

[ INTERESTS ]

Hold up – I don't spend 100% of my day writing programs and taking classes, I swear.

I mean, I sleep* and eat* too.

On the real though, I really enjoy roasting vegetables, throwing Frisbees, and defeating people at Super Smash Bros [Melee, Project M, or Brawl]. I'm also interested in Japanese culture/language and have plans to travel there in about a year; in the meantime, I'm enrolled in the intermediate Japanese language course at Berkeley. What else? Well, I have a long history with chess and running, and I can bust out a pretty decent game of Egyptian War. Musically speaking, I play a bunch of instruments (primarily the piano, oboe, and saxophone), and I like listening to jazz[hop] and nostalgic "turn of the century" tracks.

So if you like any of the same things I do – and I listed so many it's got to be hard not to – you should hit me up. We can roast vegetables or play Egyptian War sometime.

[ CONTACT ]

Congratulations on making it all the way to the end! Before you go, I'd be overjoyed if you took a few minutes out of your day to shoot me an email. It could be about anything: life, love, or (even more excitingly) a challenge to a BO7 set of Project M. I'm also currently on the hunt for job and/or research opportunities, so feel free to send me any offers. :)



Note: Regardless of the occasion, I'll always get back to you as soon as possible. (Provided you put in enough effort to make it past my spam filter, of course.)