Oct.2011-now, software engineer in Google
May.-Sep. 2011 developing applications on iPad/iPhone
Sep.–Nov. 2010 Survey in Program Synthesis, synthesis of executable programs from given
high-level specifications, making programming easier for programmers as well as allowing users with diverse background but little knowledge in coding to develop programs by themselves.
Mar.–Jun. 2010 Proof Search in First-order Logic.This project implements the technique of inverse method for forward search of proofs in first-order intuitionistic logic, which is based on sequent calculus.
Aug.–Oct. 2009 Parametricity in Polymorphic Linear λ-calculus (co-author). This project formalizes parametricity of a polymorphic linear lambda calculus and illustrates some application examples.
Oct.–Dec. 2008 Image&Audio Distinguishment Project (group project)
Mar.–Jul. 2007 Ray Tracing Project, this project implements ray tracing method for 3D image generation by simulating various effects such as reflection, texture, etc.
Oct.–Dec. 2006 Decaf Project, Decaf is a Java-like but much simplified object-oriented language. This project implements a compiler for Decaf including the parser, semantic translation to the intermediate representation (TAC and abstract trees), and optimizations
on translation to target assembly language which realizes tail-call elimination.
Software engineer @ From October 2011 to Present (4 years 3 months) IOS Software Developer @ Developing apps on IOS From May 2011 to October 2011 (6 months) Junior Software Developer @ Extending C++ with Type Constructors and Pattern Matching (co-author), type constructions and pattern matching are features in ML-style languages like OCaml. These extensions are added to C++ in this project with support to error detection and templates, making tree-like data structures easy to construct and handle.
New York City, Intern Project (Compiler)
Implementing language: OCaml, Python From June 2010 to August 2010 (3 months)
Master, Computer and Information Science @ University of Pennsylvania From 2008 to 2010 B.S., Computer Science @ Tsinghua University From 2004 to 2008 Qi Zhang is skilled in: Python, Java, C++, Linux, C#, SQL, Programming, Objective-C, Matlab, LaTeX, Windows, Program Management, OS X, Data Structures, Distributed Systems