About Me

Hello! I am Eason!

I am from Taipei, Taiwan, but have been a resident of California since I was a child, so I am fluent in both Mandarin Chinese and English.


I am a third-year undergraduate student majoring in Mathematics, Computer Science at the University of California, San Diego, with a minor in Business.


My fields of interest include: Computations, Algorithms, Full Stack Web Development, Machine Learning, and AI.


I aim to become a software engineer and eventually a software project manager, so this is a site I made to showcase my projects!


I work as a Supplemental Instruction Leader at Teaching and Learning Commons at UC San Diego. I have received a lot of help on the way, therefore, I would also want to be able to provide that for others when I am able to.


In my free time, I love to watch and play basketball with friends. My favorite player is Kevin Durant, which explains why my nickname is EasyMoneySniper. I am also always down to go on hiking and food adventures with all my friends.


Experience

birdie

San Diego, CA

Jan 2018 - Current

Full Stack Software Developer

Leads a team of 4 in building a mobile web application that takes in user's preferences, and outputs food recommendations to users and their friends.

Uses Node, Express, JavaScript, JSON and Yelp API to implement the app features to display recommendations based on users preferences on the server side.

Uses HTML, CSS, JavaScript, jQuery, and jTinder API, Facebook API to implement the swiping features and user interactions.


MAPS

San Diego, CA

Fall 2017

Software Architect

Worked in a team of 11 to develop a UCSD Maps Android Application for the students.

Used Java to implement Dijkstra's Algorithm for the back end of the application and helped design how to represent the map with edges and vertices.

Maintained and contributed to documents such as Use Cases, System Requirements, Design Use Cases, Sample Screens, and System Test Plan.


Elementary Institute of Science

San Diego, CA

Sept 2016 – June 2017

Part Time Instructor for Computer Science

Prepared lesson plans and hands-on teaching to teach introductory concepts of computer science.

Utilized online tools such as code.org to introduce basic for loop, methods, and code execution to elementary school students.

Instructed and oversaw mini coding projects for over 50 students.


CSVR - Group Project

San Diego, CA

Dec 2016 - April 2017

Software Developer

Virtual Reality Experience and an education tool where you can learn a lot of concepts and data structure of computer science.

Implemented the back end and the design of interactive data structure, such as stack and hash table in three different collision strategies in Unity using C#.

Leadership

Teaching and Learning Commons, UCSD

San Diego, CA

June 2017 - Present

Supplemental Instruction Leader

Prepares lesson plans and use collaborative learning techniques to present harder math concepts students struggled with.

Hosts problem solving session to further the students understanding of the material.

Instructs and oversees over 15 students.

CODE Camp, Glen A. Wilson Highschool

Hacienda Heights, CA

June 2017

Volunteer Instructor

Volunteered as the instructor at the high school I used to attend for an organization that’s dedicated introduce high school students with computer science and programming.

Lectured on the basics of web development, such as HTML, CSS, and JavaScript to 20 students ranging from 7th grade to 12th grade.

Coordinated and organized with the organization to make sure the camp runs smoothly and timely.

Skills

Languages

Framework/Library

Integrated Development Environment/Tools

Education

University

UCSD

La Jolla

Sept 2015 - June 2019

Bachelor of Science: Math and Computer Science

GPA: 3.51 | Provost’s Honors List

James R. Bunch Scholarship Awardee 2017-2018


I came into UCSD with a strong passion for problem-solving. At first, I was unsure about which major I would be interested in. But quickly, I have discovered that computer science was the right field for me. I love the thrill of solving a problem, coming up with an algorithm, and turning it into a piece of code, building projects and making magical things happen. I have been intrigued by these new topics I was introduced in the field of Computer Science and Math ever since.

Relevant Course Work

Computer Science

COGS 120
Human Computer Interaction

Software engineering and design. Work on a team to develop an mobile web application using technologies such as Node, Express, JavaScript, HTML, CSS.


CSE 8A/8B

Java

Introduction to Computer Science

Hands-on experience with designing, editing, compiling, and executing programming constructs and applications. Explore topics such as inheritance and exception handling. Using existing libraries and frameworks to create photo filters, games such as 2048.


CSE 12

Java, C, C++

Basic Data Structure and Object Oriented Design

Implemented and used binary search trees, hash tables, stacks, linked lists. Learned about and used object-oriented design including interfaces, polymorphism, encapsulation, abstract data types, pre-/post-conditions. Recursion.


CSE 15L

Git, Linux, VIM, GDB, Valgrind

Software Tools and Techniques Laboratory

Hands-on exploration of software development tools and techniques. Investigation of the scientific process as applied to software development and debugging. Emphasis is on weekly hands-on laboratory experiences, development of laboratory notebooking techniques as applied to software design.


CSE 30

C, ARM Assembly

Computer Organization and System Analysis C, ARM Assembly

Introduction to organization of modern digital computer. Understanding the various components of a computer and their interrelationships. Study of a specific architecture/machine with emphasis on systems programming.


CSE 100

C++

Advanced Data Structure

High-performance data structures and supporting algorithms. Use and implementation of data structures like (un)balanced trees, graphs, priority queues, and hash tables. Also memory management, pointers, recursion. Theoretical and practical performance analysis, both average case and amortized.

Implemented Binary Search Tree, Hash table, Ternary Search Tree, and Multiway Trie for dictionary look ups and autocompletion of a word. Used Huffman encoding and decoding to compress and uncompress large binary files. And given a data lists of actors and movies they were in, built a program to find how the actors are connected to each other (Six Degrees of Kevin Bacon).


CSE 101
Design and Analysis of Algorithms

Design and analysis of efficient algorithms with emphasis of nonnumerical algorithms such as sorting, searching, pattern matching, and graph and network algorithms. Measuring complexity of algorithms, time and storage. NP-complete problems.

Topics studied in this class include graph search, depth first search (DFS), breadth first search (BFS), directed acyclic graphs (DAG), strongly connected components (SCC), Disjkstra’s algorithm, Greedy Algorithms, minimum spanning tree (MST), Kruskal’s algorithm, Divide and Conquer algorithm, backtracking, and dynamic programming.


CSE 105
Intro to Theory of Computations

An introduction to the mathematical theory of computability. Formal languages. Finite automata and regular expression. Push-down automata and context-free languages. Computable or recursive functions: Turing machines, the halting problem. Undecidability.


CSE 151
Introduction to Artificial Intelligence: Statistical Approaches

This is a machine learning class that focuses on topics such as reasoning with probabilities (prediction problems), reasoning and learning with Bayesian networks, decision making under uncertainty, sequential decision making, statistical learning methods, and reinforcement learning.


CSE 110
Software Engineering

Software engineering topics associated with large systems development such as requirements and specifications, testing and maintenance, and design. Specific attention will be given to development tools and automated support environments. Work on a team to develop an android application.


CSE 191
Models of Computations

A continuation to theory of computations. This group reading seminar is intended to explore topics such as Register machines, recursive functions, lambda-calculus, Post correspondence systems.


Mathematics (CS related)

CSE 20
Discrete Mathematics

Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence relations, partial orders, and number systems. Methods of reasoning and proofs: prepositional logic, predicate logic, induction, recursion, and pigeonhole principle. Infinite sets and diagonalization. Basic counting techniques; permutation and combinations.


CSE 21
Algorithm and Systems Analysis

Learned about discrete mathematical tools needed to analyze algorithms and systems and enumerative combinatorics: basic counting principles, inclusion-exclusion, and generating functions, applied discrete probability.


Math 20A/B/C
Calculus for Science and Engineering

Foundations of differential and integral calculus of one variable. Functions, graphs, continuity, limits, derivative, tangent line. Applications with algebraic, exponential, logarithmic, and trigonometric functions. Introduction to the integral.

Integral calculus of one variable and its applications, with exponential, logarithmic, hyperbolic, and trigonometric functions. Methods of integration. Infinite series. Polar coordinates in the plane and complex exponentials.

Vector geometry, vector functions and their derivatives. Partial differentiation. Maxima and minima. Double integration.


Math 18

Matlab

Linear Algebra

Matrix algebra, Gaussian elimination, determinants. Linear and affine subspaces, bases of Euclidean spaces. Eigenvalues and eigenvectors, quadratic forms, orthogonal matrices, diagonalization of symmetric matrices.


Math 109
Mathematical Reasonings

This course uses a variety of topics in mathematics to introduce the students to rigorous mathematical proof, emphasizing quantifiers, induction, negation, proof by contradiction, naive set theory, equivalence relations and epsilon-delta proofs.


Math 180A
Introduction to Probability

Probability spaces, random variables, independence, conditional probability, distribution, expectation, variance, joint distributions, central limit theorem.


Math 103A/B
Abstract Algebra

A two quarter course on group theory and ring theories. Group theory topics include: definitions and basic properties of groups, properties of isomorphisms, subgroups. Ring and field theory topics include: definitions and basic properties of rings, fields, and ideals, homomorphisms, irreducibility of polynomials..


Math 184A
Combinatorics

Introduction to the theory and applications of combinatorics. Enumeration of combinatorial structures. Ranking and unranking. Graph theory with applications and algorithms. Recursive algorithms. Inclusion-exclusion. Generating functions. Polya theory.


Math 170A
Numerical Analysis


COGS 9

Python

Introduction to Data Science

Concepts of data and its role in science will be introduced, as well as the ideas behind data-mining, text-mining, machine learning, and graph theory, and how scientists and companies are leveraging those methods to uncover new insights into human cognition.