-What was the problem you were solving in the projects for this course?
This course covered many important topics, including how to design, analyze, and implement algorithms. I learned how to measure the efficiency of algorithms using Big O notation and worked with key data structures like arrays, linked lists, stacks, queues, trees, and hash tables. I also explored different techniques like sorting, searching, and recursion. The course focused on using these ideas to solve complex problems and provided a solid foundation for further studies in computer science.
-How did you approach the problem? Consider why data structures are important to understand.
I started by studying and doing my best to understand the fundamental concepts of data structures, algorithms, and Big O notation. Regular practice is essential. I take my time to break down each problem, plan my approach with pseudocode, and write my code incrementally while testing along the way. Understanding data structures is essential because they organize and store data efficiently, allowing for quick access, manipulation, and processing. Choosing the right data structure can greatly improve a program's performance, making your code more optimized and scalable.
-How did you overcome any roadblocks you encountered while going through the activities or project?
If I had any problems or difficulty I would start by breaking them down into smaller parts and taking my time to make sure I understood every single part of the problem at hand. Once broken down into more managable parts, I start to rebuild the problem backed by lots of research and information from the resources in Brightspace or I will search online to get different perspectives. I will not move forward until I'm positive that I have a full understanding of what I'm doing. Lastly, I take breaks when needed; sometimes stepping away and returning with a fresh perspective can make all the difference.
-How has your work on this project expanded your approach to designing software and developing programs?
Working on this project has changed how I design and develop software by helping me better understand how to choose and use the right data structures and algorithms for different tasks. I've learned to plan more carefully, thinking about how to make my code efficient and able to handle bigger tasks from the start. This experience also showed me how important it is to break down complex problems into smaller, easier steps and to keep improving my solutions.
-How has your work on this project evolved the way you write programs that are maintainable, readable, and adaptable?
Working on this project has helped me write better code by focusing on making it easier to maintain, read, and adjust. I've learned to organize my code more clearly, use simple names for things, and add comments to explain what my code does. I've also become better at designing my code so it can be changed or expanded easily in the future without needing to start over.