Recode Week 5/6: Final Project
Puzzles On Line: I have always really liked puzzles, especially the little mini ones that you can carry around that have really basic interactions. I think it lends itself really well to being put online. For my final project I want to create 3 “puzzles” or little games based on some of the major elements we’ve been learning about in class.
Slide Puzzle: The first puzzle I would make is a slide puzzle where the user has to rearrange blocks one by one to unscramble the image.
Strategy: Of course, Dan already made one for Coding Train so my strategy would honestly be to just follow this in all likelihood, haha. One thing that I learned about this is that I am currently “better” at the Decode process than at the Encode process. It is really hard for me to look at something or imagine in my mind how I want something to work and then “come up” with the logic or how the code would be set up. However, it is somewhat easier for me to look at lines of code and understand what they might do.
Rubik’s Cube: The second puzzle I would like to make is a Rubik’s Cube, but instead of colors or perfect alignment, I would like to have little words that you can make into phrases depending on how you arrange the sides. This is because I feel too much pressure to solve things sometimes and it’s not fun. I want this one to feel a bit like a Rubik’s cube mixed with kitchen fridge magnets.
Strategy: Again, Dan already did it! I think one thing I would try to descope this a bit is to not make it interactive in the way you can “solve” the Rubik’s cube, but maybe try something like the arrangement of the cube "refreshes” on a mouseClick or when the window is resized. Or maybe it’s more like a loading screen where it just constantly flips around and makes new phrases? I think I could take the interactivity out of the slider puzzle in the same way as well.
Etch-a-Sketch: The last sketch I would like to try is something like an Etch-a-Sketch but meant to help people figure out what parameters affect sin and cos and how.
Strategy: This site has something kind of close? While coding, I found myself trying to understand what sin and cos were doing and why the different parameters affected them the way they did. There were a lot of resources on the internet, along with some great visualizations, but one of the things that helped a lot was just being able to adjust the values of certain parameters to see the difference. I think it would be helpful to make something that visualizes this a little bit. Unfortunately, Dan didn’t already make anything resembling an “etch-a-sketch” but I’m sure with some digging I could find something good.
Share:
How do you go about learning a new function, sensor, technique, framework, etc? What helps you learn something new in this field?
I always need to search for things that other people have already done, even if the functions are in little pieces, and then try to put everything together. I think for these projects I may try to use ChatGPT a little more, or some combination of doing as much set up on my own as I possibly can and then using ChatGPT to “check” my work or see what differences there are, or to advance what I have already done.
As a beginner, I also watch a lot of videos.
What attitudes, methods, and resources help you persevere through challenging programming moments?
I always need to remind myself that I am learning and that it has been less than a year of experience. D: I also realized, that for better or worse, this moment in coding might be a little easier than later on because I don’t think I am solving any novel problems or thinking of things that are completely new. At this point, I’m just learning and it’s more about uncovering useful resources and practicing.
Do you have any insights into your process, e.g. do you ever find yourself getting stuck at the same types of roadblocks? Are certain aspects easier than others?
I always get stuck on “math” stuff. The “sin” and “cos” are difficult to really utilize deliberately, I feel like a lot of the pattern work that occurs for me is purely by happy accident, but I don’t know that I feel like I could make something that I imagined.
Did you gain an awareness of what you might need to do to become a more proficient coder or to reach your goals?
I think I probably need more practice and more exposure to what’s possible in the realm of coding. So pursuing many different avenues and just trying different projects seems like a good path forward.