Amardeep Sarang

Welcome to my portfolio.

Learn More

About Me

Motivated computer science professional. Passionate in the areas of data science, AI, and cutting-edge tech and software.

Hello, I am Amardeep Sarang

Computer Scientist and Software Developer

I have recently completed my computer science master's degree at the University of Waterloo. I am looking to join the workforce as a computer science professional. During my time at university, I have developed a deep passion for data science and AI. I have taken several courses related to this including intro to artificial intelligence, machine learning, data mining, image processing, and reinforcement learning. In these courses I have worked on several interesting projects including document subject classification, OCR, implementing HDR, and testing object detection models. You can check out these projects and others on my personal website and Github using the links below!

As well as computer science I also keep updated on the latest developments in consumer technology such as the newest smartphones and computer hardware on YouTube. I also like to play video games in my spare time, my favorite genres are management, strategy, and simulation games. I also passionately follow developments in the areas of aerospace, EVs, and autonomous driving technologies.

0+

Years of Programing Experience

0+

Programing Languages

0+

Project Collaborations

0+

Bugs Squashed

Interests

Here are some of the areas in and outside of computer science that I am most passionate about.

Artificial intelligence

A.I. is my favorite area of computer science. The ability to use vast amounts of data along with clever algorithms to achieve extraordinary performance in tasks once reserved for humans is incredible!

Security and policy

It is an interesting time to be alive when anyone and everyone can almost do or say anything online. I find myself highly interested in the security and ethical issue this new reality brings and thus I'm always interested in the latest developments in security and ethical policy surrounding tech.

UI Design

Sometimes I like to show off my creative side! Along with more technical aspects, I also have enjoyed the process of designing several aesthetically pleasing websites and apps.

Aerospace

Since childhood, I have always been fascinated with planes and rockets. I truly believe that the work being done to support space travel is some of the most inspiring engineering of our time. If I could work in a computer science position related to aerospace it would be a dream come true.

Cars

Following developments in cars is another hobby of mine. Specifically when it comes to the technological gains made in this area. I'm interested in the efforts made to transform our transportation using EVs and autonomous driving technologies.

Consumer technology

I always keep up with the latest advancements in phones, laptops, and other gadgets. I believe that creating technologies that can be used in these types of products that are used by millions is very satisfying and can help inspire, educate, and connect us all.

Non-Technical Skills

Here are some of my strongest skills that are useful for any project environment.

Leadership

I am often the one to take charge and lead my teams by helping to organize roles and encourage an early start on large time-sensitive projects.

Communication

Communication is key to any project thus I make sure to set up communication channels for my project team and I am often the one chosen to communicate with external stakeholders to clarify project details.

Time management

I sometimes had to deal with several of these projects at once. Despite this, I have a habit of starting projects early. I ensure that a plan is in place for the smooth and timely completion of each project well before the deadline. I plan to allow work to progress at a steady pace while allowing time to react to unforeseen challenges.

Collaboration

I would normally be the one to suggest how the work should be fairly divided and I like to ensure that the input of my teammates is taken into consideration so that each member of the team feels welcome.

Technical Skills

I am well experienced in several programing languages. Below is a summary of my technical skills and expertise

Programing Language Experience:

Python
Expert
Java
Proficient
C
C/C++
Competent
SQL
Proficient
HTML/CSS
Proficient
JS
Advanced

Areas of expertise:

  • Artificial intelligence
  • Machine learning
  • Deep learning
  • Reinforcement learning
  • Data mining
  • Object detection
  • Image processing
  • Text processing
  • Sklearn library
  • OpenCV library
  • Website design and development
  • Android app design and development

Recent Projects

Here are some of my recent cool projects, feel free to explore my work!

Object Detection and Testing - Generating Synthetic Winter Images

Languages and Libraries Used: Python, Numpy, OpenCV, Pytorch, YOLOv5

Created a framework called AutoSnow for generating synthetic winter image data from clear weather datasets. I used these synthetic images to test object detection models trained on clear weather data and compared the performance with real winter data.

View on Github

Affective text mining - Extracting Aspect-Based Emotions from Online Product Reviews

Languages and Libraries Used: Python, Numpy, NLTK, Scapy

Created AAMER, a method for aspect-based emotion analysis of product reviews. AAMER is a rule-based text mining approach to extract customer emotions towards aspects of a product from the product’s reviews on Amazon. The method then displays the emotions toward each aspect in an interpretable manner.

View on Github

Computer Vision - High-dynamic Range

Languages and Libraries Used: Python, Numpy, OpenCV.

Implemented the Debevec-Malik Method of generating high-dynamic range (HDR) composite images from multiple different exposures.

View on Github

HCI - Bold. Communicate Confidently. App Design Project

Tools Used: Figma, Miro

A project to design and prototype an app to help individuals who lack confidence in public speaking or interview settings. The app was designed to have several features including mock interview practice, instructional modules, user tips, and a forum. The project followed a detailed design process including target user surveys, user interviews, prototype evaluations, and design iteration.

View Design Blog

Exposure Website Project

Languages and Libraries Used: HTML, CSS, MySQL, PHP

Created Exposure, a prototype for an image sharing website targeted at people who enjoy creative and inspiring photography as well as people who have a passion for editing such photos. The website allows and encourages users to edit photos that other users have posted and features a robust web-based editor and ability to download images and reupload it after using your favorite image editor.

View on Github

Document Subject Classification

Languages and Libraries Used: Python, Numpy, Sklearn

Built software that used machine learning and text processing to classify news articles according to there topics. The performance of two machine learning algorithms, K-NN and Naïve Bayes, where compared. Different text preprocessing methods where also used.

View on Github

Clustering Political Tweets

Languages and Libraries Used: Python, Twitter API, Numpy, Sklearn

Collected the tweets of prominent political figures using the twitter API. Then used several unsupervised algorithms for clustering and then compared the usefulness of the results. Several preprocessing methods where also used to decrease the dimensionality of the data.

View on Github

N-queens Problem

Languages and Libraries Used: Java, Python, OpenCV

The n-queens problem is a problem where you try to place N queens on a NxN chess board such that no queen can attack another queen. In this project we attempted to solve the n-queens problem for large values of N using the min-conflict local search algorithm. We then visualized the solution.

View on Github

Parallel Programing - Julia Sets

Languages and Libraries Used: Message Passing Interface (MPI) using C, Python, Pillow (PIL)

Developed a parallel program to generate a Julia set data points, then use the data points to generate a high resolution image. The program was run on the graham supercomputer.

View on Github

Optical Character Recognition

Languages and Libraries Used: Python, OpenCV

Created an optical character recognition (OCR) software that used K-nearest neighbors' algorithm (k-nn) and 10000 handwritten digits from the MNIST digit dataset as training data.

View on Github

Computer Graphics - Solar System Model

Languages and Libraries Used: JavaScript, HTML/CSS, Three.js, WebGL

Use Three.js library to build a scale model of the solar system in WebGL. This model was intended to be used by a 5th grade teacher and features textured planets and to ability the speed up and slow down the speed of the simulation.

View on Github

Android Password Manager App

Languages and Libraries Used: Java, My SQLite, Android studio

Created Lanyard, a password manager for securely storing users' passwords for multiple websites. The app included the ability to create, edit, sort, and copy passwords to the clipboard.

View on Github

Brightspace bulk grade Project

Languages and Libraries Used: HTML, CSS, MySQL, PHP, Docker, Python

A Web application to extend a D2L Brightspace learning environment using the Brightspace API to bulk upload student grades and feedback.

View on Github

MobilityPlus booking portal prototype

Languages and Libraries Used: HTML, CSS, MySQL, PHP

A university web project where my group and I decided to create a prototype ride scheduling portal for MobilityPlus, the Grand River Transit's (GRT) on-demand accessible bus service. I was a user of the service and I was annoyed that the only way to book a ride was on the phone. I made the prototype of the portal with the intent of presenting it to GRT to encourage them to implement a similar system.

View on Github

Get in Touch

If any of my skills, projects, or interests have piqued your interest, please considered contacting me. I look forward to hearing from you!