Skip to main content

CST 363 - Week 5

This week,  I learned about b-trees, why they are used in database and file systems, and how to work with b-trees in a simple database implentation using Python.

B-trees are used widely in databases and file systems because they offer O(log n) run times for read and write operations. Because b-trees are always balanced and maintain a constant height, it takes few read and write operations to access or write data to a disk. I find it especially interesting how b-trees are like a combination of a linked list and a binary tree, albeit with special properties, and I can see how they are used in modern file systems due to their performance.

I also learned about how space is managed within a database system using pointers vs. occurrence tables with primary and secondary keys, and how pointers are faster in terms of runtime yet prone to memory errors and unintended read/write operations that can compromise data, versus indexed tables with primary and secondary keys which are harder to implement and require more resources, but at the same time can process data directly and are somewhat more user-friendly in terms of structure and layout.

I struggled a lot with this week's assignment, and unfortunately I did not get my delete function working quite as intended in the Index and UniqueIndex class. I'm planning to redo my code and look over where I went wrong in order to improve my skills and learn from my mistakes.

Comments

Popular posts from this blog

CST 300 - Week 4

Educational Goals My current educational goals are to finish my bachelor's degree in computer science while also gaining a deep understanding of the fundamentals along the way. I have always believed that a solid understanding of the fundamentals goes a long way in any skill since you always refer back to them. When I have gotten stuck on a problem or some skill in the past, I have always taken a step back, broken down things into smaller pieces and remembered my fundamentals, and doing so has helped me through a lot of academic and professional work so far. Although I already know basic programming and data structures, I want to learn more about them and discover new ways of thinking in order to solve complex problems.  Career Goals I started a career as a full-time software test analyst about two months ago. Even though my job doesn't involve a lot of programming, getting a degree in computer science would be really helpful in all aspects of my career, such as identif

The Final Journal

It's the end of a long, four year journey, and what a journey it has been. I never thought I could pull off finishing my second bachelor's degree four years ago when I first went to that introduction to programming class at my community college. I would like to thank all the friends I've made along the way and the people who have helped me through the last two years. Although it was difficult at times taking class while working 40+ hours a week, I'm proud of myself for making it through. I don't think I'll be a student enrolled in classes anytime soon, but I'll always be a lifelong student. See you all around.

CST 499 - Week 6

This week, our group made the last touches to CONVEE, our AAC application for our capstone project, and then we proceeded to record and publish the (first) draft of our video (if it's approved, it'll be the last draft). I'm very proud of the three of us and what we have accomplished a little over eight weeks. It's been rewarding to watch our application grow from the initial planning stages to what it is now. Abby plans to take over CONVEE after capstone and expand on it further, and I'm positive she'll do great things with it in the future. I might still help out with development and other related stuff once in a while. I also took the ETS Computer Science Field Test, which was a very disappointing experience. First, the test is too wide in scope, and it is littered with questions about specific niche topics not always taught in classes. Second, setting up the testing application was slow and awkward, and I had to wait 30 minutes for the proctor to set everythi