Fall Quarter In Review
If you have any questions about specific material covered in the class, feel free to post them as comments and I'll be happy to answer.
Introduction to Computer Science Theory
One might look at the name of the class and find it slightly ironic that I'm taking this during my last year. CS Theory is really the study of the mathematical concepts that that led to the first computer programs and programming languages - meaning, some of the ideas that were precursors to the computer itself. I love algebra and calculus, but discrete math (counting, number theory, etc.) has always managed to scare me. With CS Theory borrowing heavily from these areas, I tried to push off this course throughout my CS career. Despite the anticipation of excruciating agony, I really enjoyed this class. The binding concept of the class is languages, but not languages in the sense of computer programming languages - it was more mathematical in nature. To describe it on a very high level, I would say that it's the theory behind of how software organizes information (ex. like binary numbers or computer programming languages) and how they might process or recognize it. Sounds like it might be boring, but it was quite fascinating.
Here's a picture of a Turing Machine that I had to construct for a homework assignment that diagrams how one might multiply two numbers encoded into 1's and 0's.
Programming Skills is a course offered by Dr. Axel Schreiner every fall quarter that covers a current topic or new technology in the computer world. This fall, the topic was covering the C# (pronounced C-Sharp) programming language and software design patterns using C#. For those of you not in the know (or not quite as geek-oriented as myself :-)), C# is a programming language developed by Microsoft over the last few years. It's really taken off in developing Windows and web-based applications (run on a web server) because it has really good libraries (pre-written code that can easily be re-used) and a good development environment (Visual Studio .NET 2005). Most RIT students are very familiar with Java and C# "sharply" resembles it. Therefore, the class chose to hit on many of the differences between the two. More interestingly though, we frequently used the preview release of C# 3.0 (also called LinQ) to do our projects - so it was neat being able to use a technology that isn't even officially released yet and see where programming languages are likely to be heading within the next few years.
The other aspect of the class was design patterns. A software design pattern is basically a blue print for how to write your code in a way that makes it easily scalable and reusable. In this sense, scalable refers to the how little your code has to change whenever you have to modify or rework a given area of your software. Reusable means making your code generalized enough to be able to be used for similar, but still different, tasks. Software design is covered in other classes and the Software Engineering is essentially built around the study of design patterns - however, this particular class focused on specific patterns that C# lends itself to.
In the end, this was one of the more difficult classes I've taken just because of the shear amount of information that was covered and the professor's high expectations. Nevertheless, I came out learning so much and I feel that being able to talk about the things I learned in this class went a long way during my job interviews.
This intro level class is geared towards introducing students to the ways of the mass media. With this class completing my minor in Communications, it was simply boring. The material was very basic and bordered on common sense so much so that I think that even without studying, I would have been able to get the same grade that I did. *Enter sarcastic tone* However, there's absolutely no way I could have known that TV is a more visual medium than radio before taking this class *end sarcasm*. There's probably more tactful ways to describe this class, but I'm in a blunt mood and am just going to say that it was a waste of time. Glad to be done with it.
History of Journalism
I can honestly say that this class was one of the best courses that I've taken at RIT. I remember that it was a bit awkward on the first day, having walked into a classroom with only 5 other students in the class. Classes within my major at RIT tend to have between 20 and 30 students, so it was very different to be in a much smaller setting. Nevertheless, the professor, Dr. Barbara Smith, was absolutely amazing, bringing experience and enthusiasm to the classroom. For each class, we had to read several chapters out of the textbook and discuss what we thought about it. Now, with such a small class, there's definitely a lot more pressure to participate so that the "awkward silence" doesn't kick in. While discussions were sometimes slow on days when we had a paper or take-home test due (heh - I wonder why :-)), most days resulted in very relevant and fascinating talks.
The class itself focused on the rise of the mass media in American culture from the pre-revolution days up to the modern day. This covered everything from newspapers, radio, television, books, comic books, video games, the WWW - you name it. People say that history repeats itself and it was interesting to see how trends cycle even in our sources of information and enjoyment. Our class discussions also tended to reflect this by constantly drawing corollaries with things that are happening now with those that had occurred in the past.
In short - take this course if you're at or coming to RIT. You'll feel challenged and enjoy it at the same time.
I wrote my term paper on 1920/30s news magazines, so I felt compelled to show the first cover of Time.