Wednesday, May 7, 2008

The Grades Come Marching In

And it's official: I flunked my first final (or exam) in my college career. It will be the last time that happens, I guarantee you that. I got a 51% on the CS 160 (Java Programming) final. Ouch. Very painful and atypical of me to get such a low grade. But, as my sister Jessie says, "must be nice to break up the monotony of success with a little failure!" Next time I take a programming class I will spend a lot more time writing extra programs, and practicing writing the hardest programs I can imagine by hand. My grade, as it stands in CS 160, is a 77%. Hopefully we'll get some good curve action going, and see that get brought into solid B range. At this point I'd even be psyched to get a B-.

Also, in my fear of doing badly on the Econ 313 final, I didn't study much for my Stats final. Consequently, I didn't do well on it either. I got a 78% on it, and got an 89% in the class. Pretty sad because going into the final I had a 96% in the class. On the bright side, my professor said that he appreciated having me in class, and because I'd worked so hard over the semester he bumped my grade up to an A-. Much appreciated, Professor Hayes, much appreciated.

Math 103 has ended up being a bright spot on the transcript. I pulled in a 95.6% in the class for a solid A. I'm pretty proud of that accomplishment because there was a time when I realized that I'd put off the class for a very long time (it's self-paced) and had a mountain of work ahead of me. In fact, the course supervisor told me, frankly, that she didn't think I'd be able to get it done. Well, I did. And with an outstanding grade.

The two remaining question marks are Econ 313 and Econ 201. I take the Econ 201 final on Friday morning, and should be getting back my Econ 313 final grade and course grade tomorrow hopefully.

Econ 313 was another challenging class for me this semester. It's structure, style of learning, and content was difficult for me to learn, study for, and excel at. However, I was the ONLY freshman in the class. Everyone else was Juniors or Seniors. So, perhaps I did just fine considering I was a relatively new student swimming in deep waters. It was an excellent experience though in that it revealed to me that there are some areas I need to improve in. I need to learn how to study for, and master material that doesn't come with a lot of ready-made practice problem sets. Thus far my ideas include: reading the textbook religiously, taking notes, making flashcards, and writing my own practice problems.

This has been an arduous semester. It's been exhausting in terms of time required to even do as well as I did. The classes I took were much more difficult, in general, than the classes I had the previous semester (which were all 100-level and not too tremendously difficult, mostly rote memorization). I also had an additional 4 credits of workload. I guess--in the end--I just kind of ran out of gas, too. I didn't have much motivation left to study for finals when we got to finals week, and in fact went out drinking two of the weekend nights leading into finals.

Also, it didn't help that I worked the weekend before finals. That was a horrible idea and something I will never do again. It's simply not possible to count on getting much productive studying done at work--even when it's slow. In the future, recognizing that, I'm just going to have to financially count on NOT working the weekends before I have finals. I suppose if I hadn't had to work that weekend I'd have done much better about studying for both Econ 313 and Stats, and that probably would be more reflected in my grades in both.

As it stands, my grades aren't bad, but they aren't great either. I worked so hard throughout most of the semester, yet I made a few strategic mistakes which cost me in the end. But, lessons have been learned, and mistakes have been made which will not be repeated.

Right now: A, A-, C+ (?), B (?), B+ (?)
Anticipated GPA: 3.2

Tuesday, May 6, 2008

Dealing with Failure

Whoopsie. That's what you're supposed to say when you completely, utterly, bomb a final...as I suspect I did mere hours ago.

Oh, I didn't intend to fail it, no; in fact, I was up until 2am last night creating my two-pages of cheat sheets we're allowed to have for the tests. I crammed everything I thought would be on the test onto those two cheat sheets.

I figured there would certainly be roll-your-own-programs-that-do-XYZ on the test (there were), I figured there would be a lot of semantic questions (not so much), and I figured that there would be arrays (correcto).

What I didn't forsee is that our professor would drop the equivalent of a NUCLEAR BOMB and completely annihilate us. Apparently, last weekend, as he sat down to write the final, he thought something along the lines of, "I'm really going to screw these people over. Hah, tenure baby. Twoooo words: T.E.N.U.R.E. b.a.b.y." And then he proceeded to create the equivalent of an ancient form of torture as seen through the eyes of a modern day programming professor. Yeah, it was *that* fun.

There was not one, not two, but three or four (the trauma of it all is making my memory foggy) recursion problems. The two that asked us to create recursive methods to do XYZ, I didn't get to (20 points out of 100 down the drain). Then there's the recursive problem that I did get to which asked me to say what it would output (print to screen). I muddled through it, and I'm fairly certain I muddled my way to the WRONG ANSWER. I mean, *come on*, recursion is possibly the hardest concept in programming. And he puts it on the final in spades.

On the plus side, there wasn't hide-nor-hair of a mention of interfaces, polymorphism, or inheritance--so that was nice. It would've been nicer if I'd have left that stuff off my cheat sheets and made room for the Input/Output (I/O) notes I needed to be able to correctly write a method which throws and exception if it can't read a file, but otherwise reads from a file and outputs to a different file. Yeah, that would've been good.

So there I was, trying to keep my head above water, just trying to make the best of a bad situation, and then my classmates (geniuses that they are) start getting up to turn in their tests--HALF WAY THROUGH THE TWO-HOUR PERIOD. That's a little distracting because, oh, I don't know, it makes me feel RETARDED. I find myself distracted by thoughts like, "wow, they really know their recursion backwards and forwards. I guess it must've been all in their upbringing." It's just hard to focus with dubious thoughts like that running around my head.

The test is only worth 20% of our grade, thank goodness, since my other test scores are already low. I'd hate to change things up at the end or anything. Oh, sure, the professor coouuuuullddd pause to think, "hey, wait a minute, this Abe guy has got a 94% on all the programming assignments. Some of those were complete HELL, maybe, just maybe this indicates that my tests are too long, overly difficult, or that they're testing other factors other than ability to program. I should give this guy an A."

But that's being optimistic.

My email to the professor, entitled, "pre-emptive plea" would've had a fair shot of winning America independence from the British. But it might not be able to pry a B for me out of my professor's iron grip (those lifelong programmers have strong hands).

What could I have done differently?

It would've been smart to work as a Java programmer for several centuries before taking this class. Heck, maybe even help design the language. That probably would've done the trick. Hey, then I could've helped write the textbook--another good tip to all you aspiring programmers.

Short of that, I should've spent every waking moment eating Java-cereal, breathing Java-air, driving Java-cars, thinking Java-thoughts, and just generally having a Java-centric attitude. I should've written so many additional "fun" programs (I believe they call it "just for practice") during the week that I put Disneyworld out of business. All those people gathered around the madman writing thousands of lines of code *is* pretty entertaining.

Surely, I was wrong to expect that putting 15-20 hours a week of time into writing the programs actually assigned was all that was expected. Surely. Silly me.

But let's be pragmatic.

If the test was hard for me, it was probably hard for everyone. I mean, as strange as it sounds, we DID all take the same test. Historically speaking, when I've done badly on the tests, so has everyone else. So there's hope. Yay all you guys who suck at taking programming tests--like me. Maybe, just maybe, the curve will be so massive that I'll be relocated from Planet I-Suck to Planet I-Awesome. Not likely (frankly, things look pretty dismal when the PROBABLE score you anticipate is 30%), but possible.

If it's not curved, or the curve doesn't help much? What then? Well, I can say with no uncertainty that the world will keep turning, Abe (that'd be me) will continue going to school, and there will be other finals which will be equally as treacherous and painful (torture is an ancient artform that never goes away and is nurtured in thousands of forms on college campuses across the nation), and plenty which won't. I guess the point is that I could've done better, and I will in the future. Next time I'll take that job as a programmer before I attempt a programming class.

Oh, and if someone ever tries telling you that recursion is "easy" please bitchslap them for me. Recursion exercises are what a god would do for fun instead of crossword puzzles.