Hi, I'm Abel Yagubyan.
A
Self-driven, quick starter, passionate programmer with a curious mind who enjoys solving challenging real-world problems.
About
Welcome to my page! I am a Bachelor's graduate in Computer Science and Applied Mathematics from UC Berkeley. I have a particular passion for Machine Learning, Distributed Systems, Databases, and Security. Building on this passion, I pursued and successfully completed my Master's of Science degree in Computer Science at Northwestern University. I have previously worked on technologies like Python, C/C++, Golang, Java, MySQL, MongoDB, Flask, and x86/RISC-V during my Bachelor's/Master's. I am passionate about developing complex applications that solve real-world problems impacting millions of users within my intended areas of interest.
- Languages: Python, Java, C/C++, Golang, Rust, Swift, PHP, JavaScript, Bash
- Databases: MySQL, PostgreSQL, MongoDB, Firebase
- Libraries/Frameworks: Keras, TensorFlow, PyTorch, CUDA, UPC++, GPU Programming, MPI, NumPy, Pandas, OpenCV, Flask, Django, Node.js
- Tools & Technologies: Git, Docker, AWS, Heroku
Looking for an opportunity to work in a challenging position combining my skills in Software & ML Engineering, which provides professional development, interesting experiences, and personal growth.
Experience
- Contributor to Professor Dongning Guo's and PhD student Yiming Zhang’s project titled as "Deep Reinforcement Learning for Scheduling, Power Control, and Rate Adaptation in Cellular Networks".
- Currently speeding up project simulations using GPU programming.
- Tools: Python, GPU programming, and CUDA
- Working with the Pagoda Project team at Lawrence Berkeley National Laboratory on UPC++, a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming, to:
- Develop and deploy automated performance regression testing for UPC++ using crons and Python.
- Implement benchmarks in UPC++ (OSU micro-benchmarks, Parallel Research Kernels, Bale benchmarks) and compare to other libraries such as MPI and SHMEM. Tools: Python, Flask, C++, UPC++, MPI, SHMEM
- Worked as a Research Assistant for the world-renowned Professor Alex Filippenko to implement an ML Classification model using CNNs that use image data from Caltech's ZTF program to accurately classify different types of supernovae and transient objects.
- More mentioned in the Projects section.
- Tools: Python, JS
- Teaching Assistant for CS61C: Computer Architecture and CS161: Computer Security courses.
- Project lead for CS61C's numc, a project that implements a simple numpy library and achieves up to 20x speedup (in comparison to dummy implementation) with the help of OpenMP, SIMD, and Loop unrolling.
- Project lead for CS61C's CS61Classify, a project that implements a simple Neural Network model using RISC-V assembly code (similar to x86).
- Project lead for CS161's Dropbox project, a project that implements an encrypted, safe, and scalable file sharing system using Go along with Cryptography.
- Tools: Python, C, Go, Assembly (RISC-V and x86), JS
- In collaboration with Apple and UC Berkeley's CS61C: Computer Architecture course (myself as a Teaching Assistant for that course), introduced Computer Architecture-based projects to 4000+ HBCU students by implementing the source code with the help of C, Python, and Assembly.
- Project lead for numc, a project that implements a simple numpy library and achieves up to 20x speedup (in comparison to dummy implementation) with the help of OpenMP, SIMD, and Loop unrolling.
- Project lead for CS61Classify, a project that implements a simple Neural Network model using RISC-V assembly code (similar to x86).
- Tools: Python, C, Assembly (RISC-V)
- Introduced new online examination features to 3,000+ students with 100% satisfaction by implementing an interactive RISC-V compiler to PrairieLearn, an online examination platform, for UC Berkeley Computer Architecture courses using a combination of Python, Assembly (RISC-V), C, JS, and Docker.
- Published paper with Prof. Garcia for the SIGCSE '22 Technical Symposium.
- Tools: Python, Docker, Assembly (RISC-V), C, JS
Projects
![Curated News App](/assets/img/fibonai_black.png)
The premier legal AI-powered workspace that transforms in-house legal operations
![Efficiency in Deep Neural Networks](/assets/img/dnn.jpeg)
Introducing efficiency in Deep Neural Networks
![SN1A Classification](/assets/img/cosmos.jpg)
Supernovae type classifier using Convolutional Neural Networks (CNNs) and Random Forests
Education
Evanston, Illinois, USA
Degree: Master of Science in Computer Science (Concentration in Deep Learning and Distributed Systems)
- EECS 473: Deep Reinforcement Learning
- MATH 450: Probability Theory & Stochastic Analysis
- CS 440: Advanced Networking
- CS 446: Kernel and Other Low-level Software Development
- CS 449: Deep Learning
- CS 468: Programming Massively Parallel Processors - CUDA
- CS 497: Deep Learning in NLP
Relevant Courseworks:
University of California, Berkeley
Berkeley, California, USA
Degree: Bachelor of Arts in Computer Science and Applied Mathematics
- CS 61B/170: Data Structures and Algorithms
- CS W186: Database Systems
- CS 188: Artificial Intelligence
- CS 189: Machine Learning
- CS 194-26: Computer Vision
- CS C267: Parallel Computers
- CS 294-82: Machine Learning in Multimedia data
Relevant Courseworks: