February 12, 2010 at 6:47 pm (Gaming, Programming/Development, Projects)

I’m starting a new “Projects” category for my blog. It’ll contain posts related to personal projects that I am working on.

First project to mention:

That’s right, I’ve decided to tackle a personal programming “unicorn” of mine, and attempt to put together a clone of the classic block-based puzzle game. When first getting into programming games, there were a couple times that I began throwing a Tetris clone together, but I could never quite finish it. I would get caught up with something like matrix rotation or handling the rows in the play grid.
I think I’ve finally gotten to a point where I can handle the problems I previously stumbled upon.
I’ll be using XNA for this project as it’s a solid framework with an easy to understand graphics system and many helpful libraries… plus, I haven’t gotten enough of a grip on DirectX yet! (That will be for version 2… ^_^ )

I’ll post the project on the “Projects/XNA” section of my site when it’s complete, and I’ll post status updates here when I can.

Stay tuned…

Permalink Leave a Comment

Oh, what’s in a name?

February 3, 2010 at 1:16 pm (Programming/Development)

As time goes by, I realize how many holes there were in my college education. Indeed, part of me is very proud of my alma mater and satisfied with the outcome of my undergraduate efforts – that is, I was able to use that degree and education to land a solid job at a great company. Unfortunately, another part of me is absolutely shocked that the school can label the degree, “Software Engineering”.

This brings to light the gross disservice that various colleges and universities are doing my using degree names interchangeably. Commonly, “Information Technology”, “Computer Programming”, “Computer Science”, “Software Engineering”, are all used to describe collegiate degrees involving the development of computer software. Sometimes a degree from one school called “Software Engineering” would be equivalent to another school’s “Computer Science” degree. Sometimes they are very different. Unfortunately, I don’t believe that the schools even know what to name the degrees.

For me, there is a big difference between computer programming and computer science. The former is more of a stereotypical “code-monkey” type of thing. A higher-level knowledge of programming, familiar with only the most common data structures, unconcerned with what is going on in memory and such. The latter is a lower-level study of programming and computer theory. Understanding how a language is built, how a compiler and linker work (and knowing that they exist in the first place!), how memory is managed, how and why certain data structures are implemented, etc.
There are certainly benefits to producing “programmers” and “computer scientists”, and I am not going to discredit anyone who would prefer learning one or the other discipline. But again, I think there is a difference and a very important one.

As I mentioned earlier, it can be a hindrance to students and employers alike when schools use curriculum names interchangeably. It is very hard to know what you are getting without detailed descriptions of the courses involved. Even then, it is hard as a new student with little or no knowledge of terms or theory. And employers are left wasting time and money sifting through various candidates for a position to find out who has the skills needed for their positions, despite having a vaguely named degree.

I feel slightly gypped after completing my degree. In hindsight, I believe there should have been more classes on lower level studies (memory management, data structures and algorithms in depth, compiler/linker design, etc). Again, I definitely learned a lot and that knowledge was invaluable as far as getting my job, BUT it could have been better.

Fortunately, all it not lost to those of us yearning for more understanding and seeking true mastery of particular topics. Our industry is one that is overflowing with great learning resources. From books, to web sites, to experienced coworkers – there is never a shortage of resources to learn from.
This is something that I embrace wholeheartedly. I am constantly taking in new and valuable information. Learning and growing from books and friends. I have determined not to limit myself to what was deemed sufficient by one school, but to constantly challenge myself with new material and projects.

For anyone else in my situation, here is a recommendation: set up for yourself a Personal Development Timeline and stick to it. Buy a few books, find some coursework, whatever will work for you, and write down what you will accomplish and by what time. I’ve done this myself and have found it incredibly useful. I have the next several months of my life planned out as far as personal development and education goes. It is encouraging to know that, just because I might have missed out on something, doesn’t mean that I have to accept it and move on.

As Mark Twain once said, “I have never let my schooling interfere with my education.”

I have the power and hunger to grow – and I will – and so does anyone else who wants to.

Permalink Leave a Comment