I am taking two Udacity classes right now, in preparation for my fall classes at school. One of the classes is a review of C++ for programmers. While much of the material so far is a review of things that I already know, having a different instructor means that I am learning tips and tricks that I did not know before. I was pretty excited about how much I could sock away in a header file and gaining a better understanding of the compile process.
The other class that I am taking is linear algebra. The last math class that I took was Discrete Math in the fall, so I have not done much math since December. The great thing is that this class is both mathy and full of python! When I took Discrete Math, I relied heavily on python to help me solve my homework problems. Well, in this Udacity class, all of the lessons have a coding exercise, which the instructor solves in python. While my solutions are not the same as the professors, it helps me to learn how others code.
The linear algebra class allows me to review and improve my python skills – there is always room for improvement. So far, I have a lovely vector class with several cool methods. Today I wrote a method for magnitude and normalization. In the method I wrote for magnitude, I used a list comprehension, a lambda function with reduce, and of course, the math library. Honestly, I do not think I would have believed it if someone had told me five years ago that I would find this to be fun – but it is.