11 March 2011

What programming has taught me.

I’m a fairly new programmer to the programming scene.  I took a class about 6 months ago on C and haven’t stopped trying to learn since.  Since then I’ve taught myself Python (by which I mean continually searching on Stack Overflow and bugging Ivo Flipse).  I’m also working to try to understand Assembly (not by choice but for class) and I’m also looking to take up either C++ or C#.

But here’s the single most important thing that Programming has taught me thus far:  If you want to really learn something, YOU PROGRAM IT!

Take for example this past semester for me.  I’m taking 15 credits of pure engineering courses, one of them, the dreaded Probability and Statistics course.  I was having a difficult time understanding what was going on.  Between all the Weibull’s, discretes, Bournolli, HyperGeometrics and all other ways to use probability with statistics, I was getting lost. I would lose interest so quickly in class that I would fall asleep.  I pretty much felt like this:

The Following Program

However, one night while doing homework, this all changed.  I had a problem that required the use of the HyperGeometric Probability Model for 20 different values of population and 20 different value of success’s.  That’s over 400 calculation I had to do BY HAND!  I decided to take this to the next level. 

I fired up Spyder from my python(x,y) and started to program.  It took me about 20 mins to code and debug, and was only 39 lines of code.  I ran it, copied the results and turned in the homework as well as the code to my professor and was done.

The professor emailed me later, and asked if he could meet with me.  Believe it or not he was impressed!  Asked if I could put together some more code to share with the class and to maybe even present to the class on how to use programming and computers in Statistics. 

Well I did just that.  As class has been going along, I started writing more code.  The fact that I had to write something that worked, forced me to study more and pay more attention in class.  I now know when to use the Binomial model instead of the HyperGeometric.  I know what a Normal Distribution is and why it’s so useful! The list just keeps going on!  I actually know why this is funny now:

beatlegirlkatrinalawliet:<br /><br />(via fuckyeahmath)<br /><br />Haha.  I love/hate statistics.

Funny thing is, now I actually kind of enjoy statistics.  It’s fun to know that I can 33.32452% of the time somehow “predict” what’s going to happen in the future.  I also got a 100% on my last test in the class.  That’s a first EVER in my college career.  

Recently I was just given a project from my professor to create a program that is pretty intensive.  I had every right to say no, if I wanted to as he gave me plenty of opportunities to do so, but I didn’t  Why? because after this I’ll know exactly what “Probability Integral Transforms” are, and won’t have any problems for the next test.

So if you’re looking to understand a subject, and I mean really understand it in and out, then learn how to program.