About me
Prabhsimran Singh
I am a fresh graduate Software Engineering student from McGill University. Currently, working as a Full-Stack Software Developer intern at Oracle Canada. My skill set includes 5+ years of programming in Python, Java and database management. During my internship, I have done Full-Stack Development, worked on Restful services, automation and database. I have also worked on image and text classification, and regression problems using machine learning, data analysis, computer graphics and sentimental analysis.
My Skills
Languages :
Java   |   Python   |   PHP   |   C   |   C++   |   SQL   |   HTML   |   CSS   |   Node.js   |  Asp.net   |   Jinja
JSON   |   REST   |   Maven   |   Docker   |   Django   |   SQL   |   Javascript
Machine Learning Pacakages :
Scikit-Learn   |   NumPy   |   Pandas   |   PyTorch   |   Matplotlib   |   VADER
Google Colab   |   Jupyter notebook   |   Kaggle
Modelling Technology :
UML   |   EMF   |   ECore   |   Umple   |   XText   |   ATL   |   OCL   |   Acceleo
Domain Modeling   |   Feature Modeling   |   Model-Driven Engineering   |   Metamodeling
Software and Tools :
OpenGL 4   |   PyCharm   |   VS Code   |   Intellij IDEA   |   Selenium IDE
Eclipse   |   Netbeans   |   Oracle DB   |   SQL Server   |   MySQL
Soft Skills :
Great communicator   |   Teamwork   |   Leadership qualities   |   Time management
Decision making   |   Focus driven   |   Problem-solving   |   Fast learner
My Work Experience
Oracle Canada, Full Stack Software Developer Intern
Oct. 2022 – March 2023
- Full stack development of UI and soft ware development of core logic of GraalVM Download Service.
- Created full detailed project documentation.
- Performed code reviews, deployed to live environment, code testing and code optimization.
Dept. of Electrical and Computer Engineering, McGill University , Software developer, Teaching Assistant, and Grader
Sept. 2021 – June 2022
- Research Assistant in ECE Engineering Lab from May to June, 2022.
- Volunteered to develop Arduino code and responsible for the fullstack development of the website for recycling pioneers.
- Taught advanced software language engineering (ECSE 539).
- Graded exams and assignments for Software Validation (ECSE 429) and for Model-Based Programming (ECSE 223).
School of Continuing Studies, McGill University , Teaching Assistant and Course Assistant
Sept. 2021 – Dec. 2022
- Taught basic and advanced concepts of Java (CCCS 300) and Database Design (CCCS 330), to adult students.
- Took tutorials, office hours, answered students' questions, and additional meetings to help students learn programming concepts.
- Went above and beyond to help students learn Java and taught them extra Java concepts like hashmaps.
McGill School of Computer Science, McGill University , Teaching Assistant
Sept. 2021 – Dec 2021
- Taught foundations of programming using Python (COMP 202) to undergraduate students.
- Took tutorials, office hours, presentations, and exam review sessions.
- Invigilated and graded the exams and assignments.
VMM Education, Web Developer Intern
January 2020 – May 2020
- Worked with clients, to analyze their needs, then design, develop, and test the software in order to meet those needs.
- Full Stack development of multiple websites, one similar to Netflix.
- Point of contact with clients for requirement gathering, knowledge transfer, and implementation.
My Projects
Here are some of my projects that I worked on during my job and studies.
GraalVM Download Service (Internship Project):
- Contributed to UI and Core logic of Oracle's GraalVM download service project.
- Updated the design of multiple web pages, designed the 404-not-found page and introduced new table columns.
- Refactored code, added new features, updated dependencies and performed bug fixes like enabling the deletion of correct files.
- Added a new artifact status and a cronjob to trigger status change if the required files are uploaded to the correct cloud bucket.
Detection of Modeling Mistakes in Class Diagrams (Thesis Research):
- Developed a Mistake Detection System (MDS) using Java that automatically compares multiple class diagrams with a correct
solution and provides a list of mistakes to the student.
- The system can detect 97 different types of mistakes in a student's solution.
- Prepared a substantial test suite containing 382 tests to test the detection logic of the MDS.
COVID in Canada:
- Data analysis of tweets using python to understand the topics related to COVID discussed in Twitter Canada.
- Characterization of topics by computing the 10 words with the highest TF-IDF scores.
Introduction to Data Science:
- Developed projects using python and bash scripts involving Data Collection, Data Annotation, Data Analysis, and Interpretation.
- Hosted an online bokeh dashboard on AWS EC2.
Image Classification with Deep Learning Methods:
- Investigated the performance of supervised machine learning classification models to predict the total price of an image containing three clothing articles in the Modified Fashion-MNIST dataset.
- Implemented Neural Network(NN), Convolution Neural Network (CNN) and deep CNN.
- Explored the performance of the classifiers trained with Residual Neural Network (ResNet), VGG-16 and AlexNet. The model trained with VGG-16 had an accuracy of 97.88%.
Text Classification with Machine Learning Methods:
- Used the comments from the Reddit website as the text to be analyzed and predicted its subbredit or category out of 8 given subbredit labels or classes.
- Implemented Bernoulli Naive Bayes, Gaussian Naive Bayes, Multinomial Naive Bayes, Decision Tree, Random Forest, Bagging Decision Tree, Linear Support Vector Machine (Linear SVM), Logistic Regression, K Nearest Neighbor and Multi-layer Perceptron Classifier (MLP Classifier) algorithms.
- The model trained with MLP Classifier had an accuracy of 92.06%.
Methods to Improve the Performance of Logistic Regression:
- Investigate the performance of two-class logistic regression classifiers on two benchmark datasets “hepatitis” and “bankruptcy”.
- Techniques like normalizing the data, base expansion, transformation of variables and feature selection using filter method
and wrapper method were implemented.
- The model had an accuracy of 82.26% for "hepatitis" dataset and 77.28% accuracy for "bankruptcy dataset".
Advanced Software Language Engineering:
- Model-Oriented Programming and Code Generation with Umple,
EMF, ECore, and OCL.
- Model Transformation to User Requirements Notation using ATL
Transformation Language.
- Implemented Sirius, a graphical domain-specific language.
Generated Java code using Acceleo.
Model-Driven Software Development:
- Explored the Model-Driven Engineering (MDE) concepts of Abstraction, Modularity, Separation of Concerns and Reuse.
- Created a reusable Logging concern that can be applied to any design model whenever logging functionality is needed.
- Developed a variation interface (feature model + impact models) for Grocery store concern.
Ph.D. submission module for G.N.D University, Amritsar:
- Allows student to submit Ph.d submission details online.
- Add a system of feedback used by examiners and administration officials to interact and exchange thoughts regarding the evaluation of submitted Ph.D. thesis.
Online Streaming Plateform:
- This project is inspired by Netflix. Users can select from different packages and stream TV shows and movies. They can also add
comments to the content provided.
- This project uses NLP to identify a positive or negative review using SentimentIntensity Analyzer of VADER (Valence Aware Dictionary and sEntiment Reasoner).
- GitHub Repo : Online Streaming Plateform
Helping-Medicine:
- Software keeps track of medicine stock, their expiration date, purchase and sale history.
- Automatically notifies the owner about the medicine stock details, such as required stock, expired stock and expiry dates of all stored medicines.
- GitHub Repo : Helping-Medicine
Hotel-Management System:
- This project enables the hotel to manage the booking of all rooms and related facilities with a great efficiency.
- Enables room booking, cancellation and room management.
- GitHub Repo : Hotel-Management System
My Publications
SAM 2022
- Prabhsimran Singh, Younes Boubekeur, Gunter Mussbacher A research paper on Detecting Mistakes
in a Domain Model, 14th SAM Conference 2022, Nov. 2022.
MODELS 2022
- Younes Boubekeur, Prabhsimran Singh, Gunter Mussbacher A DSL and Model Transformations to Specify Learning Corpora for Modeling Assistants, MODELS 22, Nov. 2022.
REFSQ 2021
- Prabhsimran Singh, Gunter Mussbacher A poster presentation on Domain
Modelling Mistake Detection System , REFSQ 21, Essen, Germany as Virtual Event, April 2021.
ICMDE2021
- Kamaljit Kaur, Prabhsimran Singh, Parminder Kaur A Review of Artificial Intelligence Techniques for
Requirement Engineering , ICMDE 2021 at SRM University, Sonipat, India, Jan 2021.
Computer Society of India 53rd Annual Convention
- Harpreet Singh, Prabhsimran Singh, Parminder Kaur A Research Paper on Solving the Website Structure Optimization problem using Genetic
Algorithm, in Computer Society of India 53rd Annual Convention, Bhubaneswar, India, January 2020.
Extra Curricular Activities
At McGill University
- Part of 'Recycling Pioneers' team whose goal is to improve waste
habits at McGill University through education and technology.
- Student Volunteer in MODELS 2020 conference.
- Volunteering as a "Buddy"(First contact) in McGill's "Buddy Program".
- Volunteering to be a "Mentor" in McGill's "New Student Mentorship
Program".
At Guru Nanak Dev University
- Member of the Technical Team and Placement Team in
CESS(Computer Engineering Student Society).
- Coordinated placement/hiring drives. Actively help and guide
students regarding placement activities and getting into masterʼs
studies abroad through in-person and virtual sessions.
- Coordinated a gaming event in Polaris Tech-Fest at GNDU in Oct
2018.
- Part of a tree plantation drive held locally in my home city, Amritsar,
India.