Posts

Showing posts from January, 2026

cst 370 - week 3- learning journal

This week deepened my understanding of how different algorithmic techniques work and how to analyze their efficiency. I learned how brute-force approaches can lead to worst-case behavior when repeated comparisons occur, and why smarter strategies are often needed. Graph traversal became clearer through understanding breadth-first search, which explores vertices level by level using a queue and guarantees the shortest path in terms of edges. I also gained insight into divide-and-conquer algorithms, where problems are recursively split into smaller subproblems and combined to form a solution. Finally, learning how to analyze recursive algorithms using recurrence relations and the Master Theorem helped me confidently determine time complexity without relying on lengthy expansions.

cst370-week 2- learning -journal

This week’s module focused on analyzing algorithm efficiency using asymptotic notation and understanding basic problem-solving strategies such as brute force. I learned how to identify a basic operation in an algorithm and count how many times it executes in order to determine time complexity. The examples on finding a maximum value and checking uniqueness helped clarify how to analyze both best-case and worst-case scenarios, especially when nested loops are involved. I also learned how brute force approaches like sequential search and selection sort prioritize simplicity over efficiency, often resulting in higher time complexity. This helped me understand why brute force is usually a starting point that can later be improved with more efficient algorithms.

cst370-week-1- learning-journal

This week I worked on Lab 0, Homework 1, and an algorithmic puzzle that helped strengthen my understanding of both programming fundamentals and algorithmic thinking. In Lab 0, I focused on setting up my development environment correctly, compiling and running Java programs in VS Code, and following strict submission guidelines such as file naming conventions and source code–only uploads. This lab reinforced the importance of attention to detail, since small mistakes in setup or formatting can prevent programs from compiling or being graded correctly. Homework 1 required designing a program to determine whether an input string is a palindrome. Through this assignment, I learned how to preprocess input by removing non-alphanumeric characters and ignoring letter case before applying the algorithm. I also practiced using a two-pointer technique to efficiently compare characters from both ends of a string. Additionally, the fake coin puzzle demonstrated how algorithmic strategies can reduc...