Skip to main content

Thinking Like an Algorithm in CST 370 This Week

This week, I learned about several important concepts in algorithms and data structures. From the recorded videos, I learned how pseudocode is used to describe algorithms in a clear and language-independent way. I also learned about different problem types, such as sorting, searching, graph problems, and tree data structures. Topics like graphs with vertices and edges, the Traveling Salesman Problem, and trees such as binary trees and binary search trees helped me understand how real-life problems can be modeled using data structures. The quizzes helped reinforce ideas like basic operations, time complexity, stable sorting, and graph properties.

One aha moment for me was understanding how binary search trees make searching efficient. By comparing values and choosing to go left or right, the search space becomes smaller very quickly. Another important realization was how sorting can improve searching performance, which explains why these two topics are often discussed together. I also better understood how pseudocode connects informal ideas to more precise algorithm descriptions.

For the homework, I chose C++ instead of Java, which I am comfortable with. Writing the palindrome program helped me practice handling strings, ignoring non-alphanumeric characters, and thinking carefully about algorithm logic instead of just coding quickly. Going forward, I want to focus more on time complexity analysis, especially understanding best case, worst case, and how different algorithms compare. I also want to learn more about graph and tree algorithms, since they seem very important and widely used in computer science.

Comments

Popular posts from this blog

Confessions of a Chronically Confused Note-Taker

Part 1: Review and Reflect Learning Strategy One of my strengths is making and revising a study schedule. I am good at planning my time and organizing my tasks, which helps me stay on track. I also do well at finding the main idea and important details when I read. This skill helps me understand the most important parts of the material. However, I need to improve in a few areas. Taking notes is hard for me because sometimes I write too much or miss key points. I also struggle with outlining textbooks since I am not always sure what to include. Another challenge for me is answering multiple-choice questions. Sometimes I overthink the answers and doubt myself. Part 2: Preview Time Management Skills Link:  https://docs.google.com/spreadsheets/d/1KNpOCEeEtB0whGXmduCl-BP1txBSaqMnxBG3fvfV-AE/edit?usp=sharing Part 3: Project Management Basics I watched three videos about project management. They helped me understand important concepts. The first video was about the basics of project man...

Balancing Beaches and Bytes: My Week 1 in the CS Online Program

Before the first week of my CS Online course started, I was happy to connect with my teammates early. I really enjoyed working with them. We shared ideas, created designs, and had fun being creative together. It was a great start, and working as a team helped us a lot. To be honest, when Week 1 of the course started, I was in Hawaii on vacation with my family. It’s not a usual way to begin a new class. At first, I wasn’t sure if it was a good idea. This course is very important to me because it helps me prepare for my future, and I didn’t want to fall behind. But at the same time, I knew that spending time with my family and making special memories in Hawaii was also important. So, I gave myself a challenge: Can I enjoy the vacation and still keep up with my school work? Here's a photo taken from my drone.  I’m really happy with how this course is set up . It has both group work and individual assignments. I enjoy working on my own because I can focus, but I also like working w...

Tourist by Day, Techie by Passion: My Week 4 Snapshot

My educational goal in the Computer Science program is to become a skilled software engineer who can design and build innovative, efficient software solutions using both strong programming skills and AI tools responsibly. I want to complete my degree with a solid understanding of core computer science principles, such as algorithms, data structures, and system design, so I can solve complex problems without relying only on AI. After graduation, I aim to work on projects that improve people’s lives by combining creativity and technology, constantly learning new skills to stay ahead in the fast-changing tech world. This goal excites me because I see myself growing as a confident, adaptable developer who uses both traditional knowledge and AI to create a meaningful impact. My career goal is to be a software engineer who makes intelligent and helpful technology for people. I want to work at a company that uses AI and new tools carefully and responsibly. I want to grow as a leader who helps...