Posts

CST 370 - Week 6

 This week was about AVL trees, 2-3 trees, hashing, heaps, and heapsort. Something new I learned was the 2-3 tree. I had already seen it in college, but I didn’t understand it back then. This week, I was finally able to understand how it works, and it seems much simpler than I thought before.

CST 370 - Week 5

 This week was about Kahn’s algorithm, decrease and conquer, binary tree traversal and height, and the quicksort algorithm. I did some exercises on quicksort because I had trouble understanding the visualization of partitioning. I had practiced it before, but I think I had some problems. After this, I was able to understand it better, which helped me complete the homework.

CST 370 - Week 4

 This week’s topic was Merge Sort and the Divide and Conquer algorithm. It was also the week of the midterm. I felt confident when I studied, but unfortunately, I didn’t get the grade I wanted. There were some questions I felt bad about failing. The first one was detecting the binary search tree, and the last one was about finding the fake coin among 20 coins and determining if it was heavier or lighter. I answered that it would take three weighings, but the correct answer was two because the question asked for the minimum number of weighings, not the guaranteed result.

CST 370 - Week 3

 This week was a continuation of brute-force string matching. I think this topic is new to me, but it was easy to understand, at least the part that was mentioned. The same goes for exhaustive search. We also covered depth-first search and breadth-first search; I already had some idea about these. For divide and conquer, I was already familiar with it from sorting algorithms in videos I had watched before. Overall, this week included some topics I already knew, so I didn’t feel frustrated.

CST 370 - Week 2

 This week, something interesting I learned about is the analysis of recursive and non-recursive algorithms. In this week’s homework, I used non-recursive algorithms to solve my problems. My algorithms in both cases focused on sorting, then checking: in one case, finding the minimum distance, and in another, shortening the consecutive range.

CST 370 - Week 1

 For this week, I consider what I learned to be mixed because it was combined with week 0. It started with a review of linked lists, stacks, and queues, which I remember from my first data structures class. It also covered graphs and trees. However, one topic I do not remember from my past class, and would like to describe, is the Euclidean algorithm. This algorithm finds the greatest common divisor of two numbers by taking the last nonzero remainder.

CST 334 - Week 8

I guess this journal is more about what I learned over the whole course rather than just this past week. Looking back, I’d say I mostly got the basics of Docker. I understand how to use it to run and manage containers, but I feel like there’s still a lot more to explore. I also got more comfortable with C, which helped me understand how things work at a lower level. Throughout the course, I was introduced to some operating system APIs, which gave me a better idea of how programs interact with the system. One of the topics I found challenging was CPU scheduling. I get the general concept, and I can follow examples, but when it comes to doing it on my own, I’m still not fully confident. Another tough topic was memory management. I kind of get it, but I definitely need more practice. Even though it was hard, it was interesting to learn how the system handles memory behind the scenes. Things felt a lot more relaxed once we got to concurrency. I think that’s because I had already learned ...