Saniyah Shaikh

Computer Science Student & Developer

About Me

I am an engineering student at the University of Pennsylvania pursuing a BSE in Computer Science. I am currently an engineering research assistant for two projects on self-driving vehicles at the Center for Injury Research and Prevention. In my free time, I enjoy biking, swimming, traveling, and baking. Explore this website to find out more about my experience, research and interests!

My Skills

Java 90%

Python 85%

HTML/CSS/JavaScript 76%

Search Engine Optimization 62%

Projects

As part of CIS 350: Software Engineering & design, I will be working with a team of three other students to develop an Android app version of when2meet, a web app commonly used to schedule meetings by finding a common availability in a group of people.

This project was inspired because Food Network is sometimes hard to search for new recipes when looking for something with specific ingredients. With Recipe Finder, users can add the ingredients they have available and their quantities to the web app. Then, they can filter recipes based on ingredients and deviation (number of ingredients not in the Pantry that a recipe may have), tags, number of ingredients, difficulty level, time, active time, etc. The main tool I used for this project was web scraping with Beautiful Soup in Python. In the future, I plan to add more filtering abilities, use a database, add images of the recipes, and make adding ingredients easier.

The overall goal of this partner project was to create Sudoku playing and solving libraries in Haskell for the CIS 552 (Advanced Programming, Haskell) Final Project. To achieve this goal, we created four main functionalities: board generation, game play, game solver, and graphics. The game solver was implemented using inference with the AC-3 algorithm and backtracking (using a modified DFS algorithm) to create a solved board. Then, cells are removed from the solved board to create a game board of a specific difficulty. I mostly worked on the graphical interface for this project, which was implemented using the gloss package in Haskell. My GUI allows a player to select a mode and then click a cell and press a key to provide an integer input to the cell. The game ends once the cell is solved by the player, and then they can choose to play a new game.

During COGS 001, the professor spoke a little about neural networks. In particular, We learned about the linear perceptron model and 0-1 loss functions. To help me understand the model and see what it could do, I decided to code this model in Python. I ended up creating two neurons following the linear perceptron model, one that enable addition, and one that enables subtraction. Above, the program has printed the weights of the two inputs on each neuron followed by some test inputs and the result. In the future, I will explore the machine learning capabilities of packages like scikit learn and see what else I can do.

Sentimentex is a web app that uses machine learning and natural language processing to determine the emotions present in a given text. It uses Google Cloud ML and Natural Language Processing (nltk), with Machine Learning through sci-kit learn (SVMs, Random Forest, and Logistic Regression models). It can recognize seven different emotions, including anger, joy, disgust, and sadness, and determines what percentage of each emotion is present in the text. It was influenced by those who have Asperger’s that cannot discern the emotions in text easily and was created with a team of two other hackers during PennApps. I worked on web-scraping & feature extraction for this project by scraping an online thesaurus for synonyms related to each of the emotions and creating a function to assign a value for each emotion based on how many related synonyms to that emotion are in the input text.

For the final OCaml homework of CIS 120, we had to make the MS paint application. As part of this project, I implemented the ability to draw lines and ellipses by clicking and dragging, and the ability to draw a point or bunch of points by clicking. I also added a checkbox widget and a slider to change the thickness of the pen when drawing the shapes.

Involvement

I am currently working on the first year of a research study about kids using highly autonomous vehicles, and on the second year of research concerning safety during a transition from autonomous to manual control of vehicle. I program scenarios into the simulator in JavaScript, assist with testing & trials, and write data processing code in Python. I have also co-authored academic papers in the publication process.

The WiCS Mentorship Committee is in charge of connecting freshman and sophomores with upperclasswomen in computer science and related fields to advise & support them in their first semesters at Penn. I help to organize fun events for the mentors and mentees, and I also mentor two students myself.

The Ivy League Undergraduate Research Symposium (ILURS) serves to promote cutting-edge, undergraduate research and facilitate a community of research-oriented individuals across the Ivy League. As a member of the Technical Committee last year, I set up our social media presence and helped to design and code our website. I am also in charge of working on Search Engine Optimization for the website. In the next year, as the Director of Technology, I will oversee updates to the website, and the creation of Android and iOS apps to guide attendees through their symposium experience.

The Automated Target Research Center is a research group under the Air Force Research Laboratory which focuses on targeting, sensing, and high performance computing research. I interned with the center for two summers. As a Wright Scholar during Summer 2016, I integrated 3D models from drone imaging into Google Earth & converted them to a military format. During Summer 2017, I worked on a project inspired by DeepMind's AlphaGo by implementing the Monte Carlo Tree Search algorithm using Python, adding heuristics to the algorithm, and creating a simulation of drone swarming using it.

In high school, I was very involved with my robotics team, FRC #245 the AdamBots. I was on three subteams and attended the World Championship in St. Louis in April 2015 & 2016. As Marketing & Outreach Subteam Captain for 2016 FIRST Season, I led the organization and presentation of our third annual Meet the AdamBots and Cyber Cats Event, which gives sponsors, parents, and prospective members an opportunity to see the AdamBots building our robot and hear more about how our team works. I also created and updated pages on the AdamBots website, was the editor of a monthly newsletter for sponsors and parents, wrote blog posts and manage social media accounts, and worked on programming autonomous portion of robot motion as part of the Digital Media and Programming subteams. After graduation, I have stayed involved with FIRST by volunteering as a referee and judge at the FLL championships held at Penn.

Business Professionals of America is a career and technical student organization that supports business and information technology educators by offering co-curricular exercises based on national standards. I was involved with this club all four years of high school, eventually becoming Vice President of my school chapter in my senior year. It was my introduction to programming: I competed in Visual Basic Programming for three years at the regional and state level, placing in the top ten statewide twice. As Chapter Vice President, I organized the 2016 Regional Leadership Conference for our district, organized a coat drive to benefit One Warm Coat as part of the state service project, and was a voting delegate to the 2016 State Leadership Conference.

Hobbies

I love traveling to different cities around the world to experience different cultures. Some of my favorite trips include visiting the Eiffel Tower in France, the Colesseum in Italy, and the London Eye in England, as well as ziplining in Jamaica. I am really excited to be traveling to China over spring break this year as part of a Penn Global Seminar.