Saniyah Shaikh

Computer Science Student & Developer

About Me

I am a recent graduate of the University of Pennsylvania, where I earned my MSE in Computer Science. In my free time, I enjoy biking, swimming, traveling, and baking. Explore this website to find out more about my experience and interests!

View My LinkedIn

My Skills

Java 90%
Python 85%
Android Development 80%
HTML/CSS/JavaScript 75%
Image

Projects

Check out some of my recent projects.

Welcome to New York project favorites screen.

Welcome to New York Website
Python, React & SQL; CIS 550
completed, May 2020

As part of CIS 550: Database & Information Systems, I worked with a team of three other students to develop a website with combines and displays data from Airbnb and Yelp about New York City to inform tourists about places to visit and stay. I implemented the backend as a REST API made in Python to perform queries on Oracle SQL and MongoDB datasets and return information in JSON. I also set up hosting for the backend and frontend sites using GCP and used NoSQL to allow users to login and store their favorites (displayed in the map above).

View Project
Screenshot of the line tracking game

Personalizing Physical Therapy
JavaScript; CIS 400 & 401
completed, Apr 2020

For my Senior Design project, I worked with a team of four other students to help patients with upper limb impairments by creating a cognitively engaging format for rehabilitation. I worked on modifying a line tracking game in JavaScript to keep patients engaged in the repetitive motions of therapy by collecting and responding to game performance and EMG activation in the affected muscles. The game uses a probabilistic model with Laplacian smoothing to queue harder scenarios--which are particular movements a patient does while pulling or pushing the robotic arm--more often

View Project
Home Screen of Accio Search Engine

Accio Search Engine
Java, HTML/CSS & SQL; CIS 555
completed, May 2019

As part of CIS 555: Internet & Web Systems, I worked with a team of three other students to develop a search engine which crawled and indexed over 1 million web pages. I worked on the frontend and database aspects of the project, using Material Design Lite, Jtwig, & the Spark Framework to display the homepage (above) and results, and SQL to combine and retrieve the data from AWS RDS with an average query time of less than one second. Additionally, I implemented extra credit features such as location-specific results, image search, and displaying results from external APIs like Ebay and YouTube.

View Project
Home Screen of When2Meet for Android

When2Meet Mobile
Android & Java; CIS 350
completed, Apr 2018

As part of CIS 350: Software Engineering & Design, I worked with a team of three other students to develop an Android app version of when2meet, a web app often used to schedule meetings by finding a common period of availability in a group of people. We used Firebase to store the meeting data and Google Auth to sign in users to the app.

View Project
Recipe Finder GUI

Recipe Finder
Python, HTML, CSS, Flask; PennApps XVII
in progress, started Jan 2018

This project was inspired by my experience with the Food Network website, which is sometimes hard to search for new recipes which use 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.

View Project
Sudoku GUI

Sudoku
Haskell; CIS 552
completed, Dec 2017

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.

View Project
Neural Net Output

Neural Nets
Python; N/A
in progress, started Sept 2017

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 created 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.

View Project
Sentimentex GUI

Sentimentex
Python, HTML, CSS, Flask; PennApps XVI
created, Sept 2017

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.

View Project
Paint GUI

Paint
OCaml; CIS 120
completed, Nov 2016

For the final OCaml homework of CIS 120, students make the MS paint application using OCaml. 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.

View Project

Involvement

Here's what I've done for the companies & organizations I am passionate about.

CIS 555

CIS 555 Teaching Assistant
Teaching, Grading, Debugging

CIS 555, Internet & Web Systems, is an advanced programming course at Penn which focuses on the issues encountered in building Internet and web systems, including: scalability, interoperability, consistency, replication, and location of resources, services, and data. A main product of the course is the final group project, where students create a search engine. As a TA for a semester, my responsibilities included grading homework and midterms, serving as a mentor for four project teams, & answering student questions during office hours and online.

Read More
With the Android Pie Statue

Google Software Engineering Intern
Project Management & Android Development

As a SWE intern on Android Auto Embedded in San Francisco, I developed a functional prototype of a feature in the Android Open Source Project to save user temperature preferences for a vehicle & set the temperature automatically on a schedule. Over the course of the internship, I wrote design docs for the project with agreement from partner teams, completed my implementation, created a demo, and explored future directions. I also had a chance to explore SF with my fellow interns and helped organize a record-breaking global intern activity!

Read More
CIS 350

CIS 350 Teaching Assistant
Teaching, Grading, Debugging

CIS 350, Software Design & Engineering, is an advanced programming course at Penn which introduces the tools, processes, and techniques that are used by professional software engineers to create high quality software. A main focus of the course is a semester long group project which teaches collaboration and debugging skills through app development. As a TA for three semesters, my responsibilities included grading homework and midterms, leading discussions on diversity and mental health, & answering student questions during office hours and online.

Read More
CIRP Self-Driving Simulator

CIRP Self-Driving Research
Programming, Data Analysis, Technical Writing

I worked on two studies during my three years at the Children's Hospital of Philadelphia's Center for Injury Research and Prevention: one exploring safety during a transition from autonomous to manual control of vehicle, and one on kids using highly autonomous vehicles (AVs). As part of this research, I programmed scenarios into the simulator in JavaScript, assisted with testing & trials, and wrote data processing code in Python. I have co-authored academic papers, and presented my work at the 2018 AAAM Student Symposium.

CHOP Blog


Comm - AV Safety


Paper - Children in AVs


Visiting Mountain View

Google Engineering Practicum Intern
Website & Android Development

As an EP intern on a mobile testing team in New York, I created an internal web application for testing mobile ads which greatly reduces the complexity of adding tests and provides a more understandable GUI for users. The project was completed using Google App Engine, Python, HTML, CSS, Jinja, Flask, and Firebase, and then I integrated the web app with an existing Android app. I also had a lot of fun in the city, including visiting Coney Island and seeing two shows on Broadway!

Read More
WiCS Mentorship Event

WiCS Mentorship Committee
Organization, Mentorship

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 students myself. Recently, I assisted the FemmeHacks committee by leading the Intermediate Web Design Workshop with a new Flask tutorial at FemmeHacks 2020 (slides here).

Read More
ILURS Keynote

ILURS Director of Technology, 2018
Website & App Development, SEO

The Ivy League Undergraduate Research Symposium (ILURS) promotes undergraduate research and facilitates a community of researchers across the Ivy League. In 2017, I helped to design and code our website. As Director of Technology throughout 2018, I oversaw the creation of a digital Journal along with Android and iOS apps to guide attendees through their symposium experience.

Read More
CIS 120 Office Hours

CIS 120 Teaching Assistant
Teaching, Grading, Debugging

CIS 120 is an intro programming course at Penn which covers basic GUIs, data structures, code design and style while teaching the Java and OCaml programming languages. As a TA for three semesters, my responsibilities included: co-teaching a recitation section, grading homework, and answering student questions during office hours, review sessions, and in an online forum. In my last semester, I was an office hours TA.

Read More
Monte Carlo Tree Search visualized on drones

ATRC Summer Internship
Programming, Research, Presentation

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.

Read More
AdamBots Meet Grant Imahara at Worlds

FRC Involvement
Marketing, Programming, Web Dev, Social Media

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.

Read More

Hobbies

Here's what I enjoy doing in my free time.

At the Great Wall

Traveling

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 Colosseum in Italy, and the London Eye in England, as well as ziplining in Jamaica. Most recently, I traveled to Shanghai and Beijing in China over spring break as part of a Penn Global Seminar.

Pictures
Biking on Mackinac Island

Biking & Swimming

My favorite ways of staying active include biking and swimming. In the summer, my family usually goes to Mackinac Island to do the 8 mile bike ride around the island and enjoy some fudge!

Pictures
Biking on Mackinac Island

Baking

I love to bake! Some of my favorite things to bake include chocolate orange cookies, walnut brownies, caramel brownies, and fruitcake.

Pictures

Contact Me

Top