Ramandeep Saini

Brampton, ON · (647)-785-3411 · RamandeepSaini3411@gmail.com

Honours BSc in computer science. Love for data science and analytics with a proven ability to succeed in a team environment.


Technical Skills

Languages

  • JavaScript
  • CSS
  • HTML
  • TypeScript#
  • C++
  • C#
  • C
  • Java
  • Python
  • R
  • SQL
  • Matlab
  • VBA

Tools

  • AWS
  • Azure
  • Git
  • Bash/Shell
  • Spark
  • Hadoop
  • React
  • NodeJS
  • .NET
  • Jenkins
  • CloudBees
  • Adobe Suite
  • Microsoft Office

Education

Wilfrid Laurier University

Honours Bachelor of Science Computer Science with Big Data Specialization

Main Courses

  • Algorithm Design & Analysis
  • Software Engineering
  • Data Mining
  • Programming For Big Data
  • Machine Learning
  • Data Visualization
  • Probability & Statistics
September 2017 - April 2022

Projects

Hand Writing Neural Network

A screenshot of the network's predictions and actual results. Along with the images that were predicted on.

I created a neural network to determine what handwritten digit an image contains using Python. The network is 96.76% accurate when tested on 10,000 images. I used libraries such as TensorFlow, Keras, NumPy, MNIST and Matplotlib.

TensorFlow was used for its image recognition capabilities. TensorFlow analyzes thousands of images and the technology can learn to identify a handwritten digit it has never seen before.

Keras was used as the machine learning library. From this, I used Sequential which was used as the Artificial Neural Network Architecture, Dense which was used to get the layers and neurons for the network and the to_categorical method to transform the data.

NumPy was used for arrays because I could use functions such as reshape. This made it easier to feed the data to the network.

MNIST library was used to get the dataset of all the handwritten digits. It contains many images of which I used 60,000 to train the network and 10,000 to test.

Matplotlib was used for visualizing my results. This helped me see where the network was making mistakes and to see what digits were giving it trouble.

2019 - Present

Stock Price Prediction

A screenshot of a graph that shows the data trained on, the actual stock price and the predicted stock price for Tesla Inc.

I used an artifical neural network (LSTM) to predict the closing stock price of a corporation using Python. The network is 68% accurate when trained on 7 years of data. I used libraries such as Pandas, NumPy, Keras, SKLearn and Matplotlib.

Pandas was used to get the stock price history from the web.

NumPy was used for arrays because I could use functions such as reshape. This made it easier to feed the data to the network.

Keras was used as the machine learning library. From this, I used Sequential which was used as the Artificial Neural Network Architecture, Dense which was used to get the layers and neurons for the network and Long-Short Term Memory (LSTM) for optimal prediction.

SKLearn was used to scale the data between the values 0 and 1.

Matplotlib was used for visualizing my results. I was able to see the corporation's closing price history and how it compared to the network's prediction.

2019 - Present

Mario Maker

A screenshot of the level editor with a small exmaple of item placement.

A group of peers and I developed a 2D platformer game in JavaScript that allows the user to play, create and share levels.

The menu is the root and start of Mario JS. From the menu you have 3 options that can be launched. First, the user can select to play a built-in level or one made by other users. From this option, they can complete as many levels as they please while collecting coins and avoiding enemies. Next, the user can choose to enter the level editor. This is a big part of Mario Maker JS as it allows the user to custom create a level to their liking. They will be allowed to add all blocks and enemies and position them where they want. They then save this level and can play it if they so choose. Finally, the user can download levels that have been created by other users and try to beat them.

I handled all the documentation that was required for our game. This includes Project Charter, System Specification Requirements, Design Document and the Testing Document. Each document features various descriptions, explanations and diagrams/models that helped with the creation of the game.

2019

Health/Fitness Application

A screenshot of the stats that appear when user selects to view.

This application was made using VBA. The application welcomes you by presenting you with the option user form which has 4 options.

Here an individual may choose to either input from a Microsoft Access file or add a user to an existing file. The individual will also be able to view existing data already inputted. This option will take them to a sheet where they will the have the option to choose a name and a date and see all fitness related material for said person.

The third option, on the welcome user form, is the BMI calculator. This option takes you to the BMI calculator user form and asks for the individual’s weight and height then proceeds to display the result.

The fourth, and last, option is a calorie intake calculator. This option takes you to a user form where an individual is to enter their weight, height, age, and gender. This option presents you with recommended calorie intake for your current measurements.

Away from the options is a button which allows you to view a BMI chart which was made entirely on excel. The chart will be outputted to a word document. The application will also allow individuals to select a name form a list box and a month. Form this they will be able to view the health info of this person in detail along with a history of their weight to allow tracking.

2018

Pong

A screenshot of game play.

I created a the classic game Pong using Java.

The ball starts in the middle of the applet and is set to have a random speed and direction when the user decides to start the game.

The "A.I. paddle is set to have three different levels: easy, normal and hard. The A.I. paddle moves according to the Y-coordinate of the ball. As the difficulty went up the paddle would move faster towards the direction of the ball.

The human-controlled paddle moves based on the up and down arrow key which was implemented using the key listener. The paddle is to set to stop when it reaches the very top or bottom of the applet.

2015

Snake

A screenshot of game play.

I created a the classic game Snake using Java.

The snake is controlled by the up, down, left and right arrow keys. The user is able to go around the entire applet collecting tokens until the snake colides with itself or a wall.

The tokens appear at a random location when the previous token has been collected by the user. Each token collected results in a point which is added to the total score.

2015

Interests

Apart from being an aspiring data scientist, I enjoy most of my time watching sports. I love to analyze statistics across all major sports leagues and predict everything from game results to player performance.

I follow several different genres in television shows, but love animated comedies. I spend a large amount of my free time exploring the latest technology advancements in the tech development world.