Tuesday, November 18, 2025
CST438 - Week 3
There are a lot of great features of Git, such as simplifying code publishing and updates, enabling the creation of separate working branches, and merging those branches into the main branch.
One issue with Git's merge feature is that it does not flag a conflict if the same line of code was not edited in a different branch. For example, if Developer 1 updates a variable from X to Y, and Developer 2 did not make changes to that line in their branch, there would be no merge conflict. However, the change itself would give an error for Developer 2's code if they tried to use the X variable.
Tuesday, November 11, 2025
CST438 - Week 2
In terms of the strengths and weaknesses of React, I've only scratched the surface so far, but it seems there's a bit more setup involved and a steeper learning curve. I'll definitely need to read more and watch some videos to gain a better overall understanding.
On the positive side, I really like how React manages UI elements and JS in a single file, making everything easier to maintain and test. The React website also provides plenty of helpful resources and information.
Tuesday, November 4, 2025
CST438 - Week 1
Tuesday, August 12, 2025
CST370 - Week 7
Next, we went over Warshall's Algorithm and Floyd's Algorithm, which look quite similar but have different purposes. Warshall's algorithm finds the transitive closure; in other words, it determines whether there is a path between two vertices. In contrast, Floyd's algorithm is used to find the shortest paths/minimum cost between vertices.
Tuesday, August 5, 2025
CST370 - Week 6
A heap is a special kind of binary tree with two conditions:
- It must be a complete binary tree, meaning every level is completely filled except possibly the last, which is filled from left to right
- It must follow the heap property. In a max heap, each parent node is greater than or equal to its children. In a min heap, each parent node is smaller than or equal to its children.
- First, build a max heap from the list of numbers.
- Then you repeatedly remove the largest number (which is at the root) and move it to the end of the array. After (n-1) removals, the numbers are sorted.
Overall, this week introduced a few topics I'd plan to revisit to strengthen my understanding. I plan to review the lectures on hashing and heaps, and watch some supplementary videos to better grasp the material.
Tuesday, July 29, 2025
CST370 - Week 5
This week, we were introduced to the Quicksort algorithm, which is an efficient sorting technique based on the divide-and-conquer strategy. It works by selecting a pivot element from an array and then partitioning the remaining elements into two subarrays, one containing elements less than the pivot and the other containing elements greater than the pivot.
Additionally, we covered binary tree traversals and how to calculate the height of a binary tree. We also learned about the decrease-and-conquer technique, which involves reducing a problem to a smaller instance of the same problem and applying the solution recursively. An example of this is binary search, where the list is reduced by half at each step.
Lastly, we explored topological sorting using Directed Acyclic Graphs (DAGs) and Kahn's Algorithm, which relies on tracking the in-degree of each vertex and a queue. The in-degree represents the number of edges directed into a vertex. For instance, if vertex C has edges directed at it from vertices B and D, its in-degree is 2.
In the programming homework, we implemented topological sorting using Kahn's Algorithm, as well as calculated the height of a binary tree. Overall, I felt that my understanding of this week's material was strong.
Tuesday, July 22, 2025
CST370 - Week 4
This week, we primarily focused on preparing for the midterm exam, but we were also introduced to a new sorting algorithm: Merge Sort. Merge Sort uses the divide-and-conquer technique by dividing the input into two halves, sorting them, and then merging them back together to form a sorted array.
As for the midterm itself, I wasn't too happy with my performance. I didn't sleep well leading up to the exam, so I felt a bit out of it. My biggest regret was not practicing more recursive algorithm problems beforehand. I had a general understanding, but I blanked during the exam and messed up the process. Besides the recursive questions, there were a few problems I didn't quite understand how to approach, and I accidentally misclicked the wrong answer on one question because I rushed a bit at the start.
Moving forward, I plan to review all the problems I got wrong during the exam and make sure I understand how to solve them, so I’m better prepared.
CST489/499 - Week 16
This marks the end of my journey in the CSUMB CS Online program. I will officially graduate and receive my bachelor's degree in Computer...
-
What project milestones did you accomplish this week? If you're working in a team, please list what you personally contributed, not the ...
-
This week, I completed IBM's Introduction to Agile Development and Scrum course through Coursera. Link to view completed certificate The...
-
In the final week of CST489 before we transition to the capstone class CST499, I spent some time reviewing a few more AWS topics in preparat...