Adapting

Week 2: 1/25 - 1/29

What did I do this week?

This week was settling in on the classes I have confirmed planned on taking. OOP was no exception. We continued our discussion about Collatz, but the main point was on optimizing our naive solution. I liked how Downing approached possible optimizations. He gave us the gneral idea of caching previous solutions and proceeded to discussing how various ways of utilizing this method. During this time, Downing was actively engaging with the students so that we were all on the same page. Not to regurgitate the lesson, but I was really intruiged with the idea of a meta-cache (precomputing the values and copy-pasting them in my source code). It was a really neat idea that sacrificed space for saved computation time. If these values are for sure going to be constant, this is a viable solution for future optimizations for my code.

What’s in my way?

Just like last week, my quiz scores were dismal. I didn’t do as well as I had hoped from last week. I studied for the quiz as I had planned to last week, but unlucky for me, I forgot that there was a reading we had to do. As a result, I missed most of the the quiz questions that were over the reading. This will be added to my studying for the quizzes. Though the readings have good quiz material, I just really hope the future quizzes will be more focused on the material taught in class. I feel like that would be more useful to know instead of, say, the history of OOP.

What will I do next week?

For this next week, I will be finishing up my Collatz project. I am currently running into issues regarding memory usage, so I’ll have to come up with a more clever method of caching. In addition, I have been losing track of my issues. I would fix one issue but also fix another issue without committing. Because of this, I am reverting a bit of my code so that each commit will fix a particular issue. So for the rest of this project and the following projects, I am resolved to pay attention to the issues I assigned. This way, each commit will be short and isolated - as what was taught in class.

Recent Discovery

For my side project, I found it really useful to plan every subpart of the project on paper. This way, I was able to clearly see how each component interacted with each other. This included writing the database table diagrams (with foreign keys and everything) to drawing what data structures would be tossed in between the front-end and back-ends. This gave me more confidence that my design was sound.

Written on January 31, 2016