Inspiration
In computer science, many people often struggle to develop the intuition needed to approach difficult programming problems and struggle to see the bigger picture for tackling these problems. Developing this intuition early on in your programming career is essential to becoming a better problem solver and more perceptive. I believe gamifying the process for developing this intuition makes it much more enjoyable to tackle problems and satisfying when you achieve the optimal solution.
What it does
Optimal Operations is a fun game where the user has to change a starting number into the target number using a combination of four provided operations (+1. -1, *2, /2). The user has to perform the smallest number of these operations to achieve the optimal solution.
How I built it
I build the web application using React and Bootstrap for deployment. I used HTML and CSS for the frontend and Javascript to build out the logic for the app.
Challenges I ran into
Initially, when I had built out the application, I ran into rendering errors. Some Javascript functions were attempting to access HTML elements before the HTML elements finished rendering. Moreover, I hadn't fully utilized the functionalities of React, like useStates, and useEffects. I struggled in learning how to apply useStates and useEffects to my current Javascript functions and use them to change certain values and trigger specific events.
Accomplishments that I'm proud of
This project is the first web application I've built and is my first time using HTML, CSS, and Javascript in conjunction with React.
What I learned
I've learned a lot about useStates, useEffects, and components in React and the process in rendering different components on the webpage.
What's next for Optimal Operations
Next, I hope to add a feature that enables the user to keep track of their "best score", and another feature that automatically finds the optimal number of operations and compares it against the user's number. In addition, I hope to add a feature that provides insight into the user's problem solving skills based on the games they have played.
Log in or sign up for Devpost to join the conversation.