To be honest, I did not do very much computer science last week. I worked on adding a set order for subjects in protocharts, I learned about typing in Haskell, and I started an attempt to recover a project that I worked on after completing the computer science AP during my freshman year. APs are just around the corner, so I have been using some class time to finish tests and do some studying. Next week, I will be taking the calculus BC AP as well as two physics APs. Our calculus teacher finished teaching us material around a month ago, so we have been taking two tests every three days for the last two weeks. As a result, I feel prepared for the calculus AP. In physics, on the other hand, we only finished covering material during our last class period. I am a little bit worried that we have not been prepared for the physics APs, so I have been teaching myself a little bit of extra physics (we did not cover any fluid dynamics). For fun, I have started reading Richard Feynman’s Caltech lecture series (which can be found online here. Feynman was a very intelligent physicist, and he explains things in a way that you would otherwise never think of. For example, he starts by defining energy and its conservation, and he then proceeds to use that to solve problems that in a physics classroom, we would normally solve in many more steps using force diagrams. His lectures are broken up into three volumes, and I plan to read all of them before going to collage, as I love being able to see things in new ways. In addition, when I learn something in a way that makes more sense, I love it when I can show the clear logic to a classmate who is struggling with the subject. This week during forum, a peer in my class was struggling to understand electron orbitals according to the Bohr model. I explained it to him using conservation of energy and comparing electron orbits to those of planets. It feels good when you can help someone who is struggling understand a topic.
I have also been working on putting a few things up on my github page, such as some random functions I have been writing in Haskell and, more importantly, a Quiz Bowl AI that I created during my freshman year. Using Machine learning, the computer collects data on key words and clues, and can use this data to answer quiz bowl questions. As this project was written during my freshman year, it is in Java (the only language I knew at that time), and the code is very messy (for IO, I am using a text to speech program). For now, I want to get it online, as it is a cool project that I have devoted time into, but at some point in the future, I might want to clean it up, and maybe talk about integrating it with protobowl. I might also consider rewriting it in another language, such as C++. For now though, I am trying to figure out how to recover the code from my old laptop that is running windows XP. I have successfully moved the Java code over, but I need to reconfigure all of the external Jar files.