Horray! The Fall 2008 semester is finally over! Its been a long and grueling semester, and for those who follow my Twitter stream, you've heard me complain about it incessantly. Well, yesterday evening I took the last final of the semester, my CS421 Theory of Computing final, and was quite pleased when I completed it and walked out only an hour after I had started.
This semester was quite different from other semesters I've had a CalState San Marcos, as the semester presented new challenges for me. Not challenges in the way that one think may arise from the classes that I took (CS443 SQL and Database Management Systems, CS441 Software Engineering, CS421 Theory of Computing, and MATH374 Linear Algebra), but rather the semester presented me with logistical problems. You see, in order to continue going to school, I have to also work, and so time must be set aside to do that. However, in order to do both, I have to drive a lot, so much of my semester was spent going to and from school from work. It was an insane semester, and nobody could follow my schedule, except me and my phone, which coordinated and organized my quite messy semester. It was a challenge in that I had to face racking up a lot of miles on my car quite quickly, having to pay for gas, as well as trying to figure out when, where, and what to have for lunch each day. This semester demanded a lot from me, and my only hope is that I have been able to provide enough to pass.
Though I still have one more semester to go (given I pass all my classes this semester, of course), I still am very glad that the finish line is growing ever-nearer. Its been a very long time, and I am thoroughly exhausted. Can I say I've learned a lot? In terms of the hardware and how the hardware works, yes, but otherwise, not really. Having programmed since I was quite young, and having a very strong interest in software development, I've known a lot of tricks and methods for problem solving. Granted, not enough to say that I am well-versed in all the tricks, but enough to do quite well in the industry. Unfortunately, all the classes that interest me, such as graphics programming, network applications, artificial intelligence, etc., don't end up being available until you strive for your Master's Degree or Ph.D, which really sucks because I sit in my classes wondering how much longer I need to go through these mundane exercises.
Occasionally I'll do something impressive (at least to me), such as in my CS421 project where I was tasked to create a Turing Machine simulator that simulated the function f(x)=x+1 and that was it. Seeing as this was too easy for me, I decided to accomplish the task of the project by instead creating a generic Turing Machine simulator, able to execute virtually any given set of Turing Machine instructions (in the form of a table) with any given input string. Written in Java, it was quite impressive, and could most definitely be extended (the instructions were hard-coded into the executable, though the modularity of the simulator allowed for it to be extended to read in any parsed table and executed). Though it serves virtually no practical day-to-day usage, it definitely illustrated my understanding of the concepts. My only hope was that the professor saw that as well. I will be posting the simulator as it stands for other students with similar prompts so that they can understand the concept in code rather than the abstract nature that it was presented in the lectures. In fact, I may post the code to other projects that I've done this semester so that others may understand how I accomplished the tasks given to me during my tenure at the university. They will be copyright licensed, of course.
All in all, I am very pleased that the torture has stopped, at least for the time being. Though I do not look forward to yet another semester, I do look forward to it being the last semester I'll ever have to be there (given I can actually pass my Discrete Mathematics course that I'm having to retake).
I have posted a "scoreboard" for my grades here that will be updated as I receive my grades. In a later post, I'll post the link to the source code for my Turing Machine simulator.
Update 12/19/2008: Well, all my grades have been received. I passed! Yay! Time to celebrate... after work, though...