Second CB Reflection

Score: 38/39

Key Learnings, Hurdles, and Exploration of Concepts

2D Arrays

One of the first hurdles was a problem involving a two-dimensional array. I had originally rushed through, mixing the rows and the columns up. When it comes to iterating through 2D arrays, I will now take more precaution, and clearly notate the steps on paper, rather than in my head. The use of paper can be helpful for many more types of problems as well.

Class Inheritance and Interfaces

The problem involving Student, Athlete, and TennisPlayer classes was a practical test of understanding class hierarchies and the concept of polymorphism. I had used logical reasoning on this problem to arrive at the correct answer. But this problem is definitely a wake up call to ensure that my understanding of inheritance and interfaces is solid

Recursion

The quiz also provided a great refresher on the applications of recursion, and how to track it when it presents itself in a problem. A problem that involved a recursive method demonstrated the concept of a function calling itself with modified parameters. This was crucial in understanding how recursion can be used to solve problems in a more elegant way. Recursion in problems is always pretty hard to track, so I definitely will use paper to avoid stupid mistakes.

Boolean Logic

Questions involving boolean expressions, such as evaluating the result of (x || y) && x, tested my ability to logically deduce the outcome of complex boolean operations. That question specifically was also a bit of a reminder to be practicing with boolean problems. I was able to logic the problem out (the && means that so if x is true, x || y will be true, and so the problem just evaluates to x). But I have realized that I ahve completely forgotten about concepts like De Morgan’s Law, so I definitely will have to go and revisit those lessons.

Reflection

This quiz was a valuable reminder of the intricacies of Java, from the nuances of 2D arrays and class hierarchies to the subtleties of recursion and boolean logic. It reinforced the importance of methodical thinking and careful analysis, especially when dealing with complex concepts, and helped me find areas for further study and practice.