Posts

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. 

wk4: The Illusion of Memory

 I remember during my intro to comp arch course at a community college, the professor always showed us and reminded us that the memory that the program sees is not the physical memory.  I appreciate  him teaching us about this early on as it gained my interest to learn how exactly the OS manages that. Memory virtualization is a topic that makes every process think they have their own playground.  This allows the OS to manage the memory allocation while the program itself can do what it was programmed to do.  I also learned about paging which allows the translation of the virtual memory space to the physical memory locations.    For as long as I remember I tried again and again I tried to learn linux systems and something that caught my eye was the step to make swap space on the harddrive.  I wondered why Id have to do such a thing since windows doesnt have it.  But the idea behind it to use the harddrive as a backup memory location makes...

wk2: Trust the Process

 In the year 2012, Kobe Bryant was having a season filled with injuries and ups and downs, but confidently he said to "Trust the process" in order to achieve his goal of another NBA championship.  While he wasn't able to get this sixth championship, his saying still lives on.  Though I'm sure Kobe wasn't aware that trusting the process lies within our computers that allows them to perform whatever we tell them.   I've learned the interesting bits about how the OS manages processes through the fork() and exec() commands, which appear simple but allow the OS to perform multiple processes.  I later learned about how the OS manages permissions between the user and kernel, so the user can temporarily access higher permissions through the use of traps. Also fun to think about the potential of traps if one were to gain access, they can run malicious code.

CST334 - OS - WK1

 The first week of CST334 has been interesting, since I've always wondered how computers bridge the gap between hardware and software, and it seems like the OS is the glue that holds it all together.  I remember back in the lower division course of Computer Architecture, the professor spoke about how data is placed in memory and seeing where in the memory this information is being stored.  He was careful to point out that the memory address that was seen is not exactly the hardware memory address because of virtualization.  Then in the first week of this course we were exposed to virtualization to see how the OS manages the flow of information.  I find that all the computer things I've learned in the past through online tutorials like setting up linux machines, etc, are coming together, to understand why that command I copy and pasted to change file permissions are actually doing!