Scott Shi

Developer

My Projects


Here's what I've been up to

These projects, both personal and professional, underline my most recent growth. See something you wanna know more about? Email me! From each experience, I take a little something away with me that shapes who I am and what I seek in my career. What better way to know someone than to see the projects he's worked with?

For the cold hard facts about me:

About Me


What's up! I'm Scott, nice to meet you. I'm pursuing a Computer Science bachelors degree at UCLA. I like back end development, and I'm particularly strong in C / C++. I've taken an interest in machine learning and seek to become more well versed in related subjects so that I can build my career on it.

I'm constantly trying to become the best person I know. Some of my favorite books that I draw influence from are: How to Win Friends and Influence People, Give and Take, and Freakanomics. I live by the quote, "What doesn't kill you makes you stronger." I push myself to focus on achieving small victories every day, to find positivity in all situations, and occasionally to reflect on and appreciate how far I've come in my life


Scott Shi

Experience


Education

University of California, Los Angeles

Oct 2014 - Jun 2018

Pursuing Bachelors Degree - Computer Science Technical Breadth Area: Engineering Management
Scientific Breadth Area: Statistics
Dean's Honor List (3.5 and above GPA) for past year
Inducting into honor societies UPE (Computer Science) and TBP (Engineering)
Los Angeles


Related Coursework

Computer Science 31/32


Key Project: Programmed a 2D shooter game

(C / C++) Introduction to OOP and Data Structures Introduction to object-oriented programming, Recursion, Pointers, Arrays, Strings, Abstract data types, Overloading, Inheritance and Polymorphism, Stacks, Queues, Lists, Trees and graphs (and associated algorithms), Algorithm analysis, Searching and sorting.

Computer Science 33


Key Project: I performed a buffer overflow attack

(C, UNIX, Assembly) Introduction to Computer Organization Computer architectures, Assembly language, Data representation, Control, Procedure, Data, GDB debugging, Memory hierarchy, Cahces, I/O, Exceptional control flow, Virtual Memory, Parallelism and concurrent programming, Optimization.

Computer Science 35L


Key Project: Multithreaded a ray tracing algorithm

Software Construction Laboratory Learned basics of commonly used software tools and environments. Weekly projects included use of Vim, Bash, UNIX, C, Python, GDB, OpenMP, Git, and Make.


Work

Wireless Health Institute

Jun 2015 - Aug 2015

Undergraduate Researcher INTRO: The first couple weeks of this eight week research program were dedicated to familiarizing myself with speaker recognition, linguistics, signal processing, Matlab, and WaveSurfer (software to show features of a speech signal). Then, I was given my task to utilize open source software Neurogram Similarity Index Measure (NSIM) to measure speaker difference between two speakers. This code was originally intended to measure speech degradation of a speech signal when it passed through a phoneline. It would compare the original signal with a degraded signal (they had algorithms to simulate degradation of a signal through a phoneline) by creating neurograms (Auditory Neural Network-generated graph representing response from a brain when hearing a sound) for the signals and comparing them as images, yielding a similarity index value.

WORK: The neurograms that were generated when I inputted two different speech signals into their algorithm were too noisy so I had to implement an averaging algorithm to yield more consistent results. I ran comparisons between speakers for a set of 45 speech samples, and compared my experimental results to human perceived results of the same set of speakers. NSIM is no go :(. Correlation coefficient was nowhere near 1.

OTHER: Since the computation of the NSIM code was heavy and took a lot of time, I offered to put my new web development skills to use. I redesigned my laboratory's website to be more visually appealing and navigable than before. See below. Los Angeles | SPAPL Website

Mango Garden

July 2014 - August 2014

Waiter This was my personal test of discipline. Worker turnover rate was two weeks, I stayed for three. ~50 hours every week, nonstop waiting for a busy restaurant lacking in waiters, and demanding customers / managers. I've trained a lot of patience out of this...and I know how to carry 6 plates in one hand! Cupertino


Leadership

UCLA IEEE C3

June 2015 - present

Project Colead Code, Collaborate, Challenge. This club is aimed to expose beginner coders to applications of programming. Right now our projects include teaching them how to create a personal website and creating a Markov chain sentence generator. We also aim to help them build a community amongst their peers to work on our projects together, schoolwork, and even their own personal project. We do this by hosting weekly coding hangouts where they are free to bring any work. Finally, we hope to inspire the members to start projects of their own. Our goal with is to track progress rather than completion, and help them stay motivated to build on their project incrementally. Los Angeles


Projects

OPS Sizable Rodent

May 2015

OPS Team Member INTRO: Our team of three had to build from scratch a "mouse" that would navigate it's way out of a maze. The mouse had to be able to sense how far the walls on it's sides were and stay on track to navigate out of the maze. When the PID controls for the mouse were completed, it was simply a race of which team's mouse could escape the maze the fastest. Our team ended up in the top 5.

WORK: On the hardware side, I got to learn how to design a PCB to hold IR sensors. We placed two sensors on either side of the mouse and one in the front. The rest of the hardware setup involved wiring the sensors, motor, and MCU together. On the software side, I used C to write the initialization code to get the sensors working with the MCU and the looping code to maintain a steady distance between walls when going straight and turning. Los Angeles

Myo-controlled Quadcopter

January 2015

Hackathon Team Member INTRO: I came to IDEAHacks, a hardware hackathon, skeptical that I would be of much use. I saw two guys who had a huge kit of tools and decided to go with them and see if they were in need of another team member. They wanted to make a project involving a quadcopter but they wanted to add another factor to it to make it cool. Since Myo armbands were the featured device at the hackathon, we decided to build a project off of that.

WORK: The Myo armband is a gesture control device that is able to detect when the user taps their fingers and is also able to collect a stream of pitch, roll, and yaw data. I helped with getting this data to the quadcopter. The Myo armband was able to communicate with a local computer through it's own separate bluetooth module. From then on, I helped with utilizing the Myo libraries to transfer the data collected from the armband to one of the serial ports on my computer where an Arduino was connected. My task was then to send the bytes collected on the Arduino connected to my computer to a radio module connected to the quadcopter. One of the other team members had already written PID controls for a quadcopter and I helped tweak some of the code to make sure the quadcopter could gain altitude steadily.

TESTING: When testing, we had to tether the quadcopter to make sure it would not go out of control. There were a number of hardware issues that came up when trying to get the quadcopter to launch, and I also helped to constantly tweak the paramers of the PID. In the end, one of our propellors broke during testing, and we were unable to get a suitable replacement in time. Our team lost to some guys who made a LED strip change colors when they shook it. Many lessons to be learned here... Los Angeles

Contact