One of the last topics we covered in CSC148 was run-time complexity. It was pretty easy to follow given that we covered Big-O, Big-Omega, and Big-Theta proofs in CSC165 a couple weeks previous. The practical take-away from this is that it’s important to consider what class of Big-Theta your functions are in and be sure Read More …
Revisiting Linked Lists and my self.super_next theory – Week 11 – March 31, 2016
In my SLOG post for week 5, I put forward a theory that you could add additional parameters to a linked list node that would allow for much quicker index lookup. If in addition to self.next_, you added self.hundred_next which would store the node 100 nodes deeper, you could essentially leap over the list rather Read More …
Balancing a BST – Week 10 – March 24, 2016
I decided to take it upon myself to create a Binary Search Tree balancing function. Although there may be a methodology like the delete function where you can just look at a couple nodes at a time, the ripple effects could potentially be unpredictable. And although you may be able to balance the tree a Read More …
Binary Search Trees: Removing Nodes – Week 9 – March 17, 2016
In today’s lecture after the test, Joe went over the theory of removing nodes from a binary search tree. There are essentially 3 cases to consider. The node is a leaf. This case is the most straightforward. All you need to do is remove the parent’s connection to this node. The node is an Read More …
Binary Search Trees: Week 8 – March 10, 2016
In CSC165, we started covering code efficiency (big Oh) and I see that two years ago, CSC148 also covered this by now (by virtue of looking at the midterm from then). So it’s pretty obvious that the efficiency of a data search relies not only on the search algorithm itself, but the data structure as Read More …
Musings on Object Oriented Programming – Week 7 – March 3, 2016
Today I’m going to talk a bit about Object Oriented Programming (OOP), though I really have little to no programming experience outside of Python as of yet (does HTML count?). The thing I like about Object Oriented Programming is that, as abstract as the logic loops in code can become, it often remains easy Read More …
Recursion has caused my brain to move backwards. Working as intended? Week 6 – February 26, 2016
It’s been a big week for CSC148. There are a lot of things I’d like to talk about including the assignment, the test, recursion, and the marking scheme vote. I will comment on the marking scheme vote in an unofficial additional post immediately after this one in which I will discuss recursion. RECURSION: Read More …
Linked Lists – self.prev_, self.next_… but how about self.super_next? – Week 5 – February 12, 2016
Reading stuff in CS related forums made me realize that Linked Lists are not just an exercise we’ve been doing in class but a concept with real applications in the programming world. But if the theory is that they can be superior to lists due to not having to be fully stored in memory, then I must Read More …
Efficiency pt 2 and Building up classes: Week 4 – February 5, 2016
My friends have often joked around about me being a robot due to the logical and calculated methods I often use in trying to solve problems. Now in approaching the challenges I face in CSC148, I’m definitely seeing that side of me as an asset. Since starting to study CS, questions that seemed easy Read More …
Introduction and thinking about efficiency: Week 3 – January 28, 2016
I did an online course in Python a couple years ago and then went over it again as a refresher. What’s been mildly frustrating is having ideas but not having the tools yet to bring them to fruition. I remember wanting to create a ‘guess a number’ game and not having any idea how to implement Read More …