Interesting, but crazy. It's the fastest-pace work I've ever done on final projects, and that includes the C memory allocator I wrote in three days flat. For one of the same professors, too! Dr. Chamberlain and parallelizing a sorting algorithm (unfortunately, my experimental algorithm didn't work efficiently, so I went all-out on a good analysis of what went wrong, why it went wrong, what might have helped, and why 8-node MPI-based parallel sort is inherently doomed relative to nonparallel quicksort anyway) instead of implementing a variant of malloc, but in its way it wasn't all that different. Heck, I even used similar linked list structures.
My Machine Learning final was a lot more interesting. (See previous post about the urge to stand up and yell "GROOVY" about one of its results.) It was pure fun. I took my favorite ML algorithm- decision trees- and thought of two ways to improve it. One of them worked a little, the other one absolutely freakin' rocked. It also made me glad I'd done all the assignments for the class in C#, designed to be generic, object-oriented, and maintainable, instead of throwaway one-shot code for the particular assignments; I found myself reusing parts from several of the other assignments, and being able to just plug the pieces in together and have it work was exactly what I needed.
It was definitely the right "last assignment" for me. All I have left are two final exams and college is over for me. But that final project felt more final than those exams will- I'm already thinking of them more as a formality than the real end of my four-year education.
It's not just the project itself, it's what it was and what it meant to me. I invented a new algorithm that, according to Dr. Smart, nobody had before or at the very least wasn't standard. I made it work. And then, in five hours, I wrote a twelve-page single-spaced paper explaining and analyzing it. And the entire time, as stressed as I was, it felt perfectly natural and easy to me- I knew what to say, I knew what my results meant, I knew what I was doing. I felt comfortable with the task. I would have appreciated more time- given that I was working about 14 hours a day on my assignments for the last week- but I didn't really need it, and I was fine with not having it. I was in my element. I knew then that the entire last four years were the right decision for me- I found something I was good at, found myself enjoying it, and developed my skills. I honestly feel comfortable describing myself as "a computer scientist", rather than "majoring in CS" or some similar construct- I've earned the title, because I know what I'm doing.
I don't know how to describe it. It's just that knowledge, a deep understanding that I am good at this and it's something I can and should be proud of, and it took that one assignment to make it really "click". And that's cool.
So I spent most of yesterday asleep, and I did nothing useful the entire day today, and after last week I figure that's exactly how it should be. I'll go back to campus for my exams (I'm at home now), and I'll worry about packing up my dorm and then packing up to move back to Redmond after that, but I think I'll just unwind until then. Tuesday's exam does not worry me- especially because it's basically irrelevant; whether I ace it or flunk it, I'm getting a C in the class, so it's kinda low-pressure. Wednesday's is for higher stakes, but I also predict it to be fairly easy, so I'm still not worried.
I've enjoyed college, but at the same time- I'm glad to have it done.
And now I get to unstack my e-mails some. I've hit a new record for sitting on an e-mail flagged "reply to this!!!" in my inbox, carefully keeping it on the front page, but never actually finding a chance to reply to it: message received Jan. 28. I think I'll take the chance to clear that one out within the next few days! And another message pressing two or three weeks...
After those two, which are the only ones I really had pending, I think I'm going to follow the most recent fad and decalre e-mail bankruptcy. Everything in my inbox, no matter why I left it idling in there, is getting dumped into the archive. It's obviously never going to get responded to- some of these are LJ comments I planned on responding to months or years ago- so I might as well stop cluttering up the screen! Just into archive, though, not deletion, so nothing relevant's going to get tossed forever...
I usually like to conclude my LiveJournal posts in some reasonable way, but this one's just sort of running out of steam, so I think I'll leave it here. The semester isn't done yet, but it's damn close, and I'm already in the period of recovery from it, given that I'm not worried about those exams! I'm not ready to go and be much more social yet, but I might start showing up occasionally on instant messengers again within a few weeks.