Education
Bsc. Computer Science (Honors), University of Victoria
Mobile App Development
Android Apps
Experience building mobile applications for android devices using the Android Development Kit.
Currently in the process of releasing Trivia M on the google play store.
Performance-Oriented Programming
Experience using :
• SIMD Intrinsics to manually vectorize code on Intel machines
• OpenMP for parallelisation on multi-core machines
• CUDA to expose massive yet work-efficient parallelism on Nvidia GPU's
Mathematical Optimization
Linear Programming
• Experience formulating linear programs to solve problems given their descriptions
• Able to programatically implement the Simplex Method and Revised Simplex Method
Developed a LP solver using the simplex method for a University Project. Currently working on parallelizing the solver, available on my Github.
Web Development
Websites, Web Applications
• Experience using the React-Redux framework to create fluid web applications
• Able to create responsive websites using HTML, CSS, Javascript
Data Mining
Machine Learning
Utilized libraries such as NumPy, SciPy and sklearn for :
• Classification of data with decision trees/random forests, naive bayes, nearest neighbor etc.
• Association analysis via FP-growth and A-Priori
• Cluster analysis using K-means and Hierarchical clustering
• Cross-Validation for evaluation/optimization of various models
Networks
Good understanding of Networking concepts including but not limited to:
• Application Layer - HTTP, DNS
• Transport Layer - UDP, TCP protocols
• Network Layer - IP addressing, routing algorithms.
For a project, implemented a custom transport layer protocol similar to TCP-UDP. Available on my Github.
Security Engineering
• Understanding of basics of Cryptography
• General knowledge of Database, Network and Web Security
• Can recognize and analyze security vulnerabilities in software-intensive systems
• Experience modeling security threats and designing defences
Software Testing
Automated Testing
• Able to construct automated test suites implementing specification-based and/or structural testing
• Experience using JUnit via IntelliJ IDE to extensively test java programs using parametrized tests, mutation testing, property-based testing, design-by-contracts, mock objects and test doubles etc.
• Familiar with web-testing via java's Selenium library
Programming Languages