to Tiancheng's Personal Site

Incoming M.S. Computer Science student @ Stanford

  • Summer 19' Intern @ Facebook
  • Summer 18' Intern @ Uber [Backend]
  • Summer 17' Intern @ OpenTable [Full stack]
  • Coding & Research; Backend, Full Stack, Data Science
  • Menlo Park, CA; from Shanghai, China
  • Feel free to say hi!


Stanford University
  • M.S. Computer Science
  • Expected Graduation: 2020 Summer
University of California, Berkeley
  • B.A. Computer Science & Mathematics, Applied
  • CS Major GPA: 4.0
  • Overall GPA: 3.946
  • Expected Graduation: 2019 Spring
Shanghai High School (Local Department)
  • Science & Technology Class
May 2017
  • 168(V)/170(Q), 4.0(W)


Jun - Aug 2019
  • Worked on mobile web surface in Facebook Watch Core Growth team
  • Implemented new logged-out experience for Watch permalinks and other features in PHP and JavaScript
  • Worked on mobile web betterment in terms of performance, logging, and monitoring
May - Aug 2018
  • Worked on Places Conflation Team (Places Data, Maps), which conflate places data from providers
  • Built backend search APIs in Java (with similarity ranking, clustering) on entities of places
  • Analyzed and populated popular & open hours of places with Cascading, Hadoop on EMR of AWS
Jun - Aug 2017
  • Full-stack mobile web team, providing restaurant reservation service to customers
  • Migrated old reservation confirmation webpage to Node with React, Redux framework and Express
  • Implemented multiple UI A/B tests on user profile page and landing page
  • Maintained and updated back-end API level in C# which calls different services for webpage display


Undergraduate Research Assistant, BAIR/UCB
Feb - May 2018
  • Deep reinforcement learning
  • Robotics
  • Under supervision of Professor Pieter Abbeel
Undergraduate Research Assistant, ICSI/UCB
Feb - May 2017
  • Modify machine learning algorithm for extracting human 2D/3D features (e.g. joints) with caffe
  • Run on multimedia big dataset (YFCC100m, with 100 million images/videos)
  • Under supervision of Professor Gerald Friedland at International Computer Science Institute(ICSI)


  • Unix
  • OS
  • Windows
  • Java
  • Python
  • C
  • PHP
  • JavaScript
  • C#
  • C++
  • Bash
  • SQLite
  • Scheme
  • MongoDB
  • React/Redux
  • Node.js
  • Express.js
  • HTML
  • CSS
  • Ruby/Rail
  • Hadoop
  • Cascading
  • Spark
  • Hive
  • MapReduce
  • AWS
  • Git
  • IntelliJ
  • Visual Studio
  • LaTex
  • Vim
  • Photoshop
  • Illustrator
  • Maya
  • Mandarin


UC Berkeley
  • CS 8    (Data Science)
  • CS 9E    (Unix)
  • CS 9F    (C++)
  • CS 61A    (Intro CS)
  • CS 61B    (Data Structures & Algorithms)
  • CS 61C    (Machine Structures)
  • CS 70    (Discrete Math & Probability Theory)
  • CS 160    (UI Design & App Development)
  • CS 161    (Computer Security)
  • CS 162    (Operating System)
  • CS 168    (Network)
  • CS 170    (Efficient Algorithms & Intractable Problems)
  • CS 186    (Database)
  • CS 188    (Artificial Intelligence)
  • CS 189    (Machine Learning)
  • EECS 126    (Probability and Random Processes)
  • Math 104    (Analysis)
  • Math 110    (Linear Algebra)
  • Math 113    (Abstract Algebra)
  • Math 128A    (Numerical Analysis)
  • Math 185    (Complex Analysis)
  • Stat 133    (Data Computation)


Sep 2016 - May 2019
Member, UPE (CS Honor Society)
  • Attend and assist internal workshops under professional development committee
  • Hold weekly once hour for resume critique, mock interviews and academic assistance
Aug - Dec 2016
Tutor, CS61A (Intro CS Course)
  • Held weekly tutoring sessions and office hour
  • Graded project composition and exams
  • Assisted guerrilla sections, project parties and Piazza forum
Feb - Aug 2016
Academic Intern/Lab Assistant, CS 61A/61B/70
  • Assisted labs/guerrilla sections/discussion sections/offce hour/homework parties


Feature Extension for Pintos OS
  • Added support for thread scheduling including waiting w/ efficient alarm clock, pirority scheduling, MLFQS scheduling
  • Implemented argument passing for user program, system calls for process control (halt, exec, wait) and file operations (create, remove, open, filesize, read, write, seek, tell, close)
  • Added support for extensible file w/ indexed inode structure; implemented buffer cache and syscalls for filesystem (chdir, mkdir, readdir, isdir, inumber)
  • Created B+ tree for dynamic multilevel databse file indexing with bulkloading
  • Implemented iterator and join algorithms including PNLJ, BNLJ, External Sort Join, Sort Merge Join
  • Built query optimizer that estimates cost, maintains statistics, and use System R Dynamic Programming to search for the optimal query plan
  • Implemented table and page-level locking APIs for Lock Manager, Transaction and Request objects
Secure File Store
  • Designed and implemented a secure (remote) file store that allows for sharing with other trusted people
  • Satisfies confidentiality and integrity requirements with symmetric and asymmetric encryption
  • Built mechanism that performs efficient update (with less bytes upload/download)
Treasure Hunt App
  • Designed and implemented an Android App that allow users to explore tourist attractions in a treasure-hunt manner
  • Worked in group of four and uptook major works in UI design and realization
University Ranking with MCMC
  • Used MCMC (Markov chain Monte Carlo) Metropolis Hastings and Random walk to create a new metric for a university's prestige
  • Assumes the connection between univeristy prestige and alumni impact
  • Crawled Wikipedia page and followed links to humans/celebrities, while counting number of times universities are encountered
  • Varied acceptance functions, starting page, restarting rate, number of iterations and number of page links sampled in the algorithm
Python, Machine Learning
Two-Layer Neural Network
  • Implemented from scratch, fully connected, used tanh activation and softmax output
  • Trained on a dataset of handwritten digit; achieved 87.2% testing accuracy
Python, Machine Learning
Random Forest
  • Implemented model (ensembles of decision trees) from scratch; preprocessed data and trained
  • Test accuracy: spam classification (85.5%); education level, Census dataset (83.7%); survival of Titanic's passengers (81.9%)
Python, Machine Learning
Joke Recommendation System
  • Based on users' rating of jokes already viewed, predicts preference for unrated jokes
  • Used low-rank approximation; achieved 73.3% testing accuracy
Java, Algorithm
  • Worked with three team members
  • Designed and implemented an algorithm for approximately solving an NP-hard problem
Python, Socket
Chat Server
  • Implemented a chat server over network with socket programming APIs
  • Allows users to create and converse in different channels
Distance Vector Routing
  • Implemented distance vector routing, a distributed routing algorithm where routers cooperate to transport packets to destinations efficiently
  • Handles of topological changes when running within flasky simulated network
Wan Optimizer
  • Built a middlebox application that optimizes the amount of data transmitted over a wide area network (WAN)
  • Avoids resending seen data while the clients are ignorant
Pacman AI
  • Created a bot that can play Pac-Man with strategies
  • Implemented logics including state-space search, Minimax, Reinforcement Learning, Markov Decision Processes and Bayes' Nets
  • Built a shell that supports directory navigation, path resolution, user program execution, input/output redirection, signal handling and terminal control w/ process group, background processing
Text Editor
  • Implemented from scratch
  • Supports cursor/scroll-bar navigation, keyboard input w/shortcuts, file I/O, word wrap, redo/undo, clipboard, mouse selection
Bear Map
  • Implemented a map that routes the shortest way to locations around the city of Berkeley; data from OpenStreetMap
  • Supports zooming, location searching w/auto-complete, path planning

Contact Me

Feel free to contact me through email tchcai@berekely.edu
or add me on Linkedin!

Link to my --> Resume