Sunday, February 9, 2014

Semester Two First Six Weeks

It has been a little over a month since my last comp sci blog and I have advanced a lot in that time, moving on to increasingly complex concepts like polymorphism, interfaces, inheritance, composition, and ArrayLists. My favorite concept we've covered in that period is ArrayLists because having the power to so dynamically modify arrays has proven itself to be extremely useful and saves a lot of time. I also like that we have moved on to longer and more complex labs like the pong lab, my favorite lab so far this year. I enjoy using the graphics library to actually create visual elements that my code modifies. It is much more satisfying than simply outputting written results to the console and allows for a wide degree of flexibility in how I choose to implement things as well as chances to do weird and funny things like randomly changing the ball's color, direction, speed, or visibility. The pong lab also presented a lot of frustration as Weston and I struggled with implementing collisions before finally figuring out how to detect collisions by projecting the ball's path forward and bouncing when it would hit in the next frame thanks to help from Evan. This offered a newfound insight into the challenges that can sometimes arise when creating more complex programs, although pong is relatively simple. However, this frustration made finally finishing pong that much more rewarding. In addition the new ways of structuring classes we are learning about, while sometimes confusing, are interesting. Before this I had never really considered the idea classes only defining what methods will go in a different class or what the purpose of such a class would be. I still don't entirely understand the use of interfaces but as I begin to understand them I also get a greater appreciation of how they could be useful, especially when working on larger projects. I also enjoy doing AP free response questions because they allow me to see what type of problems I will be asked on the AP as well as my progress throughout the year. Overall I continue to enjoy comp sci and look forward to continue to learn more java during the next two six weeks.