My name is Osamah Ansari. I'm a first-generation college student studying Computer Science at The University of Michigan - Ann Arbor. I am from Livonia, MI, a city that is about 25 minutes north-west of Detroit, MI. I'm interested in software, web, and video game development. In my free time, I love learning new things, spending time with family and friends, playing video games, and watching/reading the occasional science or tech video/article.
Description:
Created this website to share my portfolio and show my self-taught web development skills. Used Github Pages to host and publish it. It is actively maintained and updated.
Applied Skills:
- Priority: Prioritized information based on importance to be displayed on the website.
- Creativity: Designed and stylized the interface for the website.
- Desire To Learn: Self-taught HTML and CSS through W3Schools.
Description:
Created an Arduino based 2D platform survival game for the final project of introductory computer science course with three other students. The players controls "Bread Man", a man trying to survive in a post-apocalyptic world by collecting bread while avoiding the incoming meteors and the pitfalls they create. Some key features included a point system with a leaderboard, full animations, and a game controller created with buttons, a potentiometer, and a joystick.
Applied Skills:
- Leadership: I led a team of three other students. I organized tasks and group meetings.
- Learned From Setback: Ran into issues with memory capacity. Rewrote the game two days before deadline, while accounting for the memory limits.
- Communication: Communicated with teammates regarding game design and implementation ideas.
Description:
Created a Terminal based Euchre Simulator. Allows the user to play with others locally or against computers. There are two different difficulty settings for the computer. Used concepts such as classes, vectors, and polymorphism during implementation.
Applied Skills:
- Time Management: I had to manage time appropriately to produce a working version prior to the submission deadline.
- Test Driven Development: Designed multiple test cases prior to beginning development. Tested and debugged code throughout the development process.
Description:
Wrote a program that calculates the shortest route between multiple Pokémon on a 2D graph taking into consideration land and sea constraints. Memory and time efficiency were taken into account when developing the path calculating algorithm.
Applied Skills:
- Test Driven Development: Designed multiple test cases prior to beginning development. Tested and debugged code throughout the development process.
- Desire to Learn: Researched existing algorithms and designed custom algorithms for the specific situations.
Description:
Co-created a single player puzzle adventure game using Unreal Engine 4. In the game, you play as Kin, the first Astrid Investigator, as he investigates the mysterious disappearances of several explorers in the city of Minstrox. Adventure and solve puzzles on your journey to discover what happened to the missing explorers.
Applied Skills:
- Unreal Engine 4 Blueprint Scripting: We utilized the node-based blueprint development system in UE4 to make the environment react to the actions of the user.
- Unreal Engine 4 Level Editor: We employed the level editor to design multiple individual levels and connect them together.
- Unreal Engine 4 Map Editor: We leveraged the map editor to create multiple explorable environments for each of the individual levels.
- Teamwork and Communication: We assigned individual tasks to each person and communicated on design decisions and task completion.
- Creativity: We designed the story, characters, and maps and brought them to life in the game.
- Desire to Learn: We started this project for fun soley to see if we could create our own interactive game. We learned as we went using online documentation and YouTube tutorials.
Description:
Undertook a massive project under the guidance of an experience developer. The end goal is to develope a website that allows a user to lookup any Arabic or English word and see the equivalent version in the other language with multiple provided definitions. Began using the Lane Arabic Dictionary as the primary source. Created a parser and tokenizer that would break the huge transcript into managable, readable chunks.
Applied Skills:
- "Large" Scale Project Development: Undertook a "large" scale project that will take many files and multiple years of development to complete. Broke the project into managable chunks, creating a plan for development.
- Test Driven Development: Designed multiple test cases throughout the development process. Tested and debugged individual functions as they were created. Added additional test cases as bugs were discovered and fixed.
- Desire to Learn: I learned how to work with Unicode through online documentation. I also researched into linguistic rules for the Arabic language in order to properly implement searching and sorting algorithms.