Posts

CST370: wk 7

 This week we went over dynamic programming for collecting coins on a grid and Floyd’s algorithm for finding all-pairs shortest paths. The coin problem was pretty cool because it wasn’t just about getting the max coins, but also figuring out the exact path to take, and having to follow a weird tie-break rule where you pick left over top if they’re equal. Floyd’s algorithm made sense once I thought of it as letting more “stops” into the route one at a time and checking if that made a shorter path. I also got some practice handling -1 as infinity in the input/output. Overall, I feel like I’m getting more comfortable with DP grid problems and shortest path algorithms, and using Scanner in Java made the code way easier to read.

CST370: Wk 6 Trees, Heaps, and Hash

 So this week we covered AVL trees, max Heaps as well as hashing functions.   AVL trees are an interesting way to store data and to actively keep them balance and organized.  Heaps are useful to keep the highest value towards the top of the heap.   Hashing is interesting to myself in particular when it comes to dicts in python, since there is some kind of hashing function going on behind the scenes. 

CST370: Week Quatro (Midterm)

 Honestly, I felt good during the midterm, but was shocked in my results.  I think theres stuff I definitely need to review like calculating the TSP problems.  I must have just done some arithmetic error, im not sure what I did wrong there. I also forgot how to calculate logs on the calculator when its log base 2.  I missed some easy points there.. :(

CST370: ALGO Week Dos

 Interesting week in learning about time complexity.  I remember learning Big O notation in the past but wasn't aware of Theta and Omega notation as well!  I hadn’t realized before that Big O only tells you the upper bound of an algorithm’s growth rate, while Theta is for tight bounds, and Omega gives you the lower bound.  I remember my professor was mostly concern about the worst case scenario. It was a bit challenging to figure out the notation and remember what the math notations mean again.     Recursion is a difficult topic to understand and grasp and is something I still struggle with. The idea of a function calling itself makes sense in theory, but when it comes to actually tracing through code, especially with multiple recursive calls.  I start to lose track of what’s going on.  I tried to do many practice code online using codingbat, which helped but it still hasn't stuck with me.     Overall, this week was b...

CST370:Algo - Wk1 Intro

 So this week we covered the following topics Pseudocode Important Problem Types (sorting, searching) Fundamental Data Structures (linked list, stack, queue)  Graphs Algorithm Analysis framework    It was a good review of topics that I've seen in previous course work and I realize that an essential topic, graphs, is something I need to focus more attention on, since it is very key in developing efficient and effective algorithms.  Before I was told that graphs were important, but for some reason the reasoning never clicked in my head.  I definitely watched various videos online to gain a better understanding and pulled up my old notes from my previous discrete structures course!  

CST 462 Service: Learning Journal Reflections

  What went well? Triaging bugs for libreoffice went fairly smooth, though was challenging to figure some bugs since they were features that I didn't even know existed.   What would you improve? Im not sure what I would improve, since it went fairly smooth.  It was difficult on my part because I was traveling during most of it, but the supervisor was very accommodating and worked around each others schedules.  What was the most impactful part? Being able to support the open and free libreoffice office suite.  I was an early benefactor of the software when I was younger when the software was called openoffice.  So it was nice giving back the time :)  What challenges did you face? Scheduling and time do to me traveling during most of it.   What advice do you have for future SL students? Have fun and be curious :).  The fun part was figuring out bugs I had no clue about but was able to walk through steps to figure them out! 

wk7; Persistence

 There were many topics I've learned for this week, some particular topics I enjoyed learning was about RAID, which is Redundant Disk Arrays, which are used to make backups of harddrives but make them appear as a single harddrive to the user.  This allows the disks to provide redundancy and in some case performance improvements where data is spread across multiple harddrives to increase read and write speeds.   Another topic I heard before but never understood was journaling.  Journaling is a technique used in file systems to maintain the integrity and consistency of data by keeping a log of changes that will be made to the file system.  Journaling main goal is to prevent data corruption and ensure the file system can recover graceully after unexpected shutdown.