Your blog is really helpful for me as it describe the thing very simply and easy to understand for a new person in the market.
Favorite Computer Science Classes
Computer Science 3
Professor: Paul Tymann
When: 2002 - Spring Quarter
Having had almost no computer programming experience coming into RIT, CS 1 and 2 were grueling, despite being interesting and extremely educational. CS 3 is where you start to have fun. This class was great because you finally get to make programs that look like the things you use on an everyday basis - using powerful data structures, GUIs (graphical user interfaces), and network programming. The final project was creating an instant messaging client. It remains one of my all time favorite assignments to this day.
Professor: Margaret Reek
When: 2003 - Fall Quarter
Programming computers and knowing how to use them is all good, but if you can't communicate your work or knowledge to others, it's pretty useless. Profcom, as we called it, teaches computer science majors how to communicate within our own field. This includes everything from resumés to design documents. Furthermore, my professor was truly awesome and brought a lot of helpful tips to the table that I now use on an everyday basis.
Programming Language Concepts
Professor: Sean Strout
When: 2003 - Spring Quarter
One of the most frequent questions I get from prospective CS students is, "what languages do you learn?" While this is a valid question, it's not as important as it sounds. PLC is the class that teaches you that the strength of your CS education is not how many languages you know, but rather that the theory and ideas behind languages is what is truly important. How does it do this? You learn 3 different languages in 8 weeks - without missing a beat. All the knowledge that you acquired in the intro sequence of courses (read: freshman/early sophomore year) gives you the tools to know what's going on under the hood so that when something new comes along, it's easy to pick up. Nevertheless, having exposure to additional languages is a good way to bolster your resumé and this class added LisP, Perl, and Python to my répetoire. Furthermore, Strout was a cool guy and even showed us Red vs Blue while handing out course materials.
Professor: Zachary Butler
When: 2005 - Winter Quarter
Articificial Intelligence, as a phrase, has an almost mystical quality. The study of how to get computers to do things that humans traditionally do better. It sounds and actually is cool, but when it boils down to it, it's really just a lot of statistical analysis done by a computer to make good guesses. I remember "wowing" a few of my friends with my final project - which could accurately identify the author of an electronic book. The program would train itself on several works by two different identified authors and compute information about their writing style. Then, when you pumped in a work with an unknown author, it would figure out who wrote it.
Database Concepts (DBC) & Database System Implementation (DBSI)
Professor: Rajendra Raj
When: 2004 - Fall Quarter & 2005 - Spring Quarter
Call me a geek, but I love organizing data. That's what I did on most of my co-ops and that's what I did for my CS concentration (which includes these courses). The first course in the sequence teaches you how to use a database, Structure Query Language (SQL), and good database practices. DBSI takes you under the hood of a database to see how it really works. The projects were great experiences as well - with DBC having us use a Oracle to create a video game database and front-end for shoppers and DBSI requiring a contribution of features to an already existing open source database management system.
Professor: Axel Schreiner
When: 2006 - Fall Quarter
Programming Skills is a seminar-style course in which the topic changes every time that it is offered. When I took this, the topic was C# and Microsoft .NET 3.0. Anyone who has taken Dr. Schreiner for a class will testify that he is the toughest professor in the CS department and that the chances that you come out with more than a 'C' is unlikely. Despite this, you learn so much about the topic at hand, that you come out an immensely more knowledgeable person. After 10 weeks in this course, I genuinely feel that I came out a better programmer and am more knowledgeable about a great many things.