Hi, I’m Karan!
I am a Recent Graduate with a Masters of Science Degree in Computer Engineering from the University of California, Riverside
The Way I Work:
A Focus on Problem-Solving!
I have been taught throughout my entire academic and professional career to seek the optimal answer to my problems. Whether it be an algorithms coding problem I am solving, or an issue I am facing in my life, I always seek to solve problems creatively and efficiently! Problem-Solving is core to who I am!
An Emphasis on Code Quality!
I firmly believe that code quality and code style are as essential as solving the problems software engineers are presented with! My code always has an additional purpose of being clean, maintainable, and scalable, allowing for smooth future changes/additions!
Attention to Detail & Improvement!
Detail and care is the difference between a good product and a great product! I’m a highly passionate person who cares a lot about the work I do, so I make sure to go the extra mile and make every little detail is as perfect and as presentable as possible!
Parallelism - For Myself and My Code!
Parallelism is a concept I’ve studied and worked with substantially throughout the past few years. However, it has become more than just a coding principle for me, but rather a way of thinking! When I lead teams, I prioritize dividing up the work into parallel chunks so that the team and I can maximize our throughput while all being able to work independently!
Parallel Quicksort
C++, OMP(Parallel Threading)
Take a look at how I was able to obtain such a significant speedup on quicksort utilizing parallel threads!
Key Projects
Real-Time Embedded System
C, Raspberry Pi, Linux Environ.
Bringing together Real-Time Operating Systems with an Embedded System creates a wonderful example of technology in the real world!
Cranium
C++, HTML, CSS, React, TypeScript
Using search algorithms as a basis of AI to help solve a real-world load-balancing issue that crane operators deal with when loading cargo onto boats!
Data Deep Dive!
Python, Numpy, Pandas, MatPlotLib
A deep dive into my Data Deep Dive project! View how I implemented several different supervised and unsupervised techniques!
Pac-Man Search!
C++, Python
Utilizing Pac-man as an initial basis and inspiration to study some of the most famous and important search algorithms that exist!
Elderly Personal Healthcare Unit (EPHU)
C, LCD Display, Sensors, LEDs
An embedded systems project inspired by my Grandmother that employs several different sensors together to create a product that serves our elderly!
Spatial Regionalization
Java
Combining two different research papers, My team and I came together to verify the validity of one paper’s algorithm with a separate paper’s problem!
GPU CUDA Ray-Tracer
C++, C, CUDA
Taking an already grand Ray-Tracing codebase, then applying CUDA code & a GPU to help dramatically speedup the runtime of the Ray-Tracing process!
Mini-Arcade Machine: Stacker and Snake Game
C, Microcontroller, LED Matrix,
An arcade-inspired embedded systems project that combines two of the most popular retro games of all time! All playable on the physical breadboard itself!
Head Teaching Assistant:
Assembly Language and Machine Organization
Most recently, I was the Head TA for an Undergraduate Course…
Where I had the pleasure to teach students binary, computer architecture, assembly language, and much more! The opportunity to teach students low-level programming for the first time is simply amazing. Being able to walk through the building blocks of the technologies and languages that we use on a daily basis (such as C++ and Python) truly bridges our understanding of how computers understand the code we write! Although assembly language and computer architecture are at a physical low level, the amount of knowledge necessary to fully understand these concepts is significant!
I personally feel that the beauty of computers lies within the simplicity of the building blocks. I love seeing students’ jaws drop when they learn that assembly language only has the “add” arithmetic operation, and no subtracting, multiplying, or dividing! I love the “Ohhhh!” moment when students learn about binary for the first time ever, realizing that it is simply adding exponents of 2 together!
“Karan is the best T.A. that I had so far at UCR. He could be argued for being one of the best TA's for computer science because he is very caring for every student and wants everyone to succeed in [class].’’
“Karan's personality is always positive and his presentations are very engaging and easy to understand…I would not have been as strong in assembly language if it wasn't for Karan's teaching.’’
-Anonymous Student Evaluations
HBO Max: Data Engineer Intern
Life at Warner Bros…
Working at a fortune 500 company, especially a company that is as renowned, respected, and recognized as Warner Bros. Discovery was beyond amazing! I was extremely lucky to be a Data Engineer Intern for HBO Max! Getting to work with the industry standard tech, along with learning plenty about the Scala language, creating new data pipelines, and using the tools available in the HBO Max team was astounding. I’m extremely grateful to have had the opportunity to intern at Warner Bros. Discovery. Getting to engineer changes that would improve the lives of millions of users was a privilege and a blast! I would love to especially give my thanks to Viju Kothuvatiparambil and Bharatiraja Krishnamoorthy for the fantastic mentorship and learning experience they provided!