Monday, August 26, 2013

Back to School!

I'm back, and I'll probably be posting here more often. I'm going to ask my professor if I can post my solutions here or commit them to github and link them here. I got a new job. I'm working as an EasyTech Associate at my local Staples. I don't get to touch computers, but I do help the techs when they ask for help. It appears I'm the only person there who is comfortable in a command-line environment. My job is to sell protection plans. I don't make commission either, we just have to sell plans to make our store look good (and earn the corporation some extra moolah). I feel ridiculously underpaid and I'm not given enough hours. But this blog isn't dedicated to complaining about retail jobs. This blog is about code.

So I'm back in school. I'm really close to graduating, I have two more semesters and I'll be able to get my Associate's in Computer Science. I'm not really sure if I'm taking the right degree, because I checked the "Computer Programming" degree and it says the highest math course required is College Algebra. I'm in Trigonometry and I took Pre-Calc/Analytic Geometry last semester. Who knows...

Anyway! So I get to Advanced Java, and the classroom is full of seemingly competent programmers. My professor is a nuclear physicist by trade, and the overall experience is something I'm not used to. But I really like it a lot. The first assignment was to code recursive and loop-based methods for generating Fibonacci numbers and calculating factorials. Right off the bat, I'm supposed to know about asymptotic algorithm analysis, and how to draw recursion trees. I've never had to draw a recursion tree, nor do I know what one is. I am currently collecting data in hopes of extrapolating the largest value of fib(n) calculable in 1 hour, 1 day, 1 month, and 1 year. I am currently still in the 1 hour zone. But I'm getting there. The recursive fib(n) seems to be in the order of n^2 aka O(n^2), but I'm really not sure what he means by "spatial and temporal performance." I googled these terms and could not find anything relevant. I also checked the books index and couldn't find anything. So I'm hoping he will clarify tomorrow. And I'm hoping I'm not the only person who has absolutely no idea what he's talking about.

Anyway! Here's a screenshot of my progress.

In the first window, I use my scripting language to compile and run the java program. The second window is the source. The third window is the USL interactive shell. I could easily use Python instead, but I really have grown attached to this language, and so I use it everyday as a general scripting language.

Anyway! The same professor also teaches my C++ class. And I seriously enjoy that class. I'm going to ask if I can post my source code here. I wrote a really awesome algorithm for converting Roman numerals to decimals and I'm very happy with it.

Follow me on Github!