Blog Post #4

How do you work through being “stuck” on a problem?

Since this blog post is an assignment for a coding course, I’ll answer this question as it pertains to solving a coding problem. When I come across a bug and I don’t immediately understand why it’s happening, I’ll take a pause and step back to consider the problem – what do I think should happen that is not happening? what do I think should not happen that is happening? Do I understand the task well enough to identify the problem? At this point I’ll add some breakpoints and step through my code to get a better understanding of what’s going on.

When I first started coding, I would come across bugs often (as you do when you first learn to code) and my strategy was to throw every possible solution at my code and kept what allowed my code to pass the given tests. This often led my code to being the loathed spaghetti mess. Everything was a patch for something. At a certain point I learned it was better to pause and consider the problem at hand before attempting a solution. I learned that understanding the problem often gets you 3/4 the way to a great solution.

From here if I still can not figure out a solution, I will head over to the Ed discussion board/the student discord chat to see if another student has come across the same issue. If they have, then there is often guidance already provided to the given question. If I don’t see the question being asked then I will get the ball rolling and ask it on Ed. While I’m waiting for a response, I’ll review the modules, do a google search or ask chatGPT (if permitted by the course). If I find a solution, I’ll go ahead and update my Ed question and be on my merry coding way. But if by this point, I still have not gotten a solution then I will head over to office hours and asking for help from a TA or instructor base on availability – Sometimes just asking the question to someone I think will have the answer opens my mind up to more possibilities.

Ways I reduce getting stuck on a problem:

A big way I can reduce the chances of getting stuck on a problem is to test often and at every stage of development. That way, if I run into an issue I know where my program started breaking. Version control is also helpful since it allows me to revert to a version of the program that I know is working. Starting early can also be really helpful so I can limit the chances of the pressure of a deadline clouding my thought process. In the same vein, I also do my best to take care of my meatsack’s needs (exercise, quality food, sleep, and water) so that my brain can function at a higher capacity and be able to solve problems with speed and ease.

Do you use chatGPT or other AI tools? In what way?

When I don’t understand a given IDE error message it can be helpful to plug it into chatGPT so that the chatbot can describe what it thinks the error code is saying. This will often put me in the right direction to solving the issue. There have also been times when I don’t understand a word or concept and I’ll ask chatGPT. I find this to be better than a google search since I can ask follow up questions and can learn in a more conversational way.

Many times these are questions I might go to office hours for and so finding an answer via chatGPT reduces the office hour traffic so more people can be helped given the TA’s limited time and bandwidth. Sometimes my follow up questions will reveal errors in the response and if that happens I will research a more credible source on the topic at hand. Even when chatGPT gives me a wrong answer, I can often continue to look for answers with a better understanding given my conversation with chatGPT. My big takeaway from these experiences is that chatGPT is a good starting point but it’s important to exercise some critical thinking skills and not take everything chatGPT says as a end-all-be-all. Overall, I’ve found it to be a helpful tool when it’s limitations are taken into account.

Citations:

Image source: https://quotefancy.com/quote/1764256/Milton-Katselas-Within-the-problem-lies-the-solution

Blog Post #2

Why did you and your team choose the technologies you did?

For our project we are building a climate change study/game web app for an instructor of SUS 101 at OSU. We decided to go with the following technologies: Flask, Python3, HTML, CSS, and the gcloud library. We chose flask over node.js because we were all more confident with Python over JavaScript. We also chose the gcloud library to host because Asa, one our team members, is taking Cloud and is excited to implement what he is learning.

Our primary focus for the next couple of weeks is to get a fully functioning website up and running for the instructor to use with their students. This instructor has worked with CS 467 students in the past and has not gotten a functional product so we want to change that. Given that a functional product is our focus, we have decided to go full steam ahead on implementing a web app and if we have the availability to make a mobile app then we will do that as well. We are hoping that if we can make the web app, then the next 467 group can convert it into a mobile one. Even though I was excited to learn more about mobile through this course, I know I will have an opportunity to do so in the future. I am happy to put that aside to get this instructor a great product.

What do you like or dislike about your design modularity? Does it enable each of your to work independently?

After a few meetings to discuss our design and goals, a pattern came through and we were able to parse our project into three main parts: front end, back end, and hosting. We discussed our strengths and interest and it was cool to see how we all naturally got to take on the project chunk that we were most excited about. Last term I was apart of a group project where the communication was sparse and involvement from my team mates was not stellar. In contrast, it feels amazing to be apart of a team that has great communication and engagement. The way we have the project modularized allows us to work independently but also reliant on each other. For example we have set up git actions so that each pull request must be reviewed and approved by another team mate.

So far my experience working with my team and project sponsor has been wonderful and I look forward to creating a great tool for our sponsor to use.

Photo Source: https://memegenerator.net/instance/80595600/spongebob-squarepants-imagination-teamwork-makes-the-dream-work

Blog Post #1 – Introduction

Who Am I?

Hello all! My name is Kayti (Catherine formally) and I’m a post-bac student studying Computer Science at OSU. I live in Boulder, Colorado and when I’m not at my desk I’m usually out on a mountain trail. My previous degree was in Linguistics at UC Berkeley and I truly enjoyed my experience there. I wasn’t sure what I wanted to do with my degree so I ended up taking a customer facing desk job.

Why did you choose to go into Computer Science?

I worked the desk job for about 3 years before I hit the preverbal glass ceiling. I was living out a case of the region-beta paradox since it became just terrible enough that it pushed me to re-evaluate my options. It was around this time that a friend who worked as a software engineer recommended that I consider pursuing Computer Science. I was both excited and intimidated, but I was definitely more scared than anything else, which meant that I had to go for it. Now, I’m two terms away from graduating, and I’m still scared, but as Glennon Doyle Melton once said, “If you can’t beat fear, just do it scared.” So we’re doing it scared!

What do I hope to learn from your project?

I hope to learn how to make a mobile app since that is an area of interest. I’m looking forward to working with my team on a Climate Change Board Game and I hope to learn how to better collaborate with others using version control.

What type of person are you, in terms of a group dynamic?

I tend to fill a mixture of different roles given the needs of the group. If ideas are needed during the brainstorm phase, I generally have a plethora of ideas. If structure and accountability is needed, I can take lead. My favorite role to play in a group is a team player since I deeply enjoy focusing on a task and collaborating with others to create something awesome.

Sources Cited:

Featured image from quotefancy.com