As an IT student it, certain things about the way IT is viewed by the rest of RIT. Not the least of which being why everyone I meet always says "Oh, don't you mean 'I Tried'?" when I mention I'm an IT major. I always feel like I need to defend my major, because really...in college we are defined very much by our majors, because once we graduate these will be our careers and we'll be defined by our jobs. Sorry,
Fight Club.As depressing as it is, though, I realize there's an amount of truth to the myth of I Tried. In some sense, anyway. I don't know a single washed out CS or SE that went to IT because they couldn't hack "real programming".
RIT's first mistake is using Java to teach Programming and OOP to IT students. At least in CS you're eventually exposed to C++, but that leaves a bitter taste with a lot of people. They get used to the language coddling them and holding their hand, which is what Java does. In addition, it's incredibly well documented which makes it easy to teach. But the way the sequence is designed, all you do is learn to write code...they don't teach anything about design, or WHY OOP, or the more groady low-down details of programming.
Not that I have any idea what would make a better language...Python maybe? The problem isn't the language, but how they teach it. They spoonfeed you things, and never teach you how to be a programmer. It sets people up to fail when they think they know how to code but don't actually know the finer points.
Since I am on the web track, I had to take RIT's programming for web class, but was lucky enough to be allowed to bypass it. I helped out tutoring some of the students and I was initially horrified at the way to class was taught. It taught students to use procedural, spaghetti code. Now while there isn't anything wrong with procedural code...make spaghetti of HTML and PHP is very bad. It's hard to maintain, confusing to debug, and makes it nigh on impossible to correctly design a large project.
Soon I moved from horror to disappointment when I realized that that was how I learned to code PHP, but I moved on. Unfortunately what I had that RIT doesn't (Maybe can't?) teach is the idea that there is more beyond this.
What they're not doing, is exciting people about programming. Now I'm not saying that they should be trying to get people to become programmers if they don't like it, but there's gotta be a decent amount of people in these classes...especially track courses...that already like programming or are just looking for a reason to.
In programming for the web, RIT should show off some cool stuff that PHP can do. CMS, templating code, sessions, security layers, image editing...interact it with some javascript. Make it do cool stuff on the backend, like talk to other services and send info back to the browser...and not just databases.
All they teach is code-by-numbers quizzes and blogs. Some basic "stick some PHP in here to pull from MySQL and bake a dynamic website" stuff. Yes it's simple and gives you enough to learn the basics of the language...but people need to know it's a spring board to REALLY dive in, and not the end of things.
RIT's failing us as IT programmers, and it's making us look bad. Not cool, dudes.
--PXA