What I Learned In College
I've been removed from RIT for about 8 months now, so I think I can finally write somewhat objectively about what it did for me. Obviously I took a route different than most in the sense that I spent many a night doing client work instead of hanging with the boys, but I still did my fair share of college stuff. Throwing 2' diameter water balloons out 5th floor windows at 3am, putting bars of soap in the microwave until they quadrupled in size and then exploded, destroying old computers with 2x4s, you know, the usual.
I thought pretty hard about the most important things I learned at college (related to academic stuff only, no inner-growing mumbo jumbo... I'll save that for another entry) and I think a Top 5 list is in order. Honestly, I would have done a Top 10, but I don't really think I could pull together more than 5.
1. The first two weeks of Java I where my mind was boggled with object-oriented programming techniques. The rest of Java really doesn't have any bearing on what I do now, but the first few weeks of the first course (of 3) were the most important. Friends of mine were telling me how badly they were doing in Java, how they didn't understand OOP or logic or conditionals or whathaveyou, and I basically told them to switch majors. If you're in a technical major (IT, CE, CS, SE, etc.) and you don't "get" encapsulation and polymorphism and all the rest of that stuff, then you're in for a world of trouble. OOP paradigms prepare you for every other type of code you'll be writing so if you don't get the early stuff then you'll NEVER get the later stuff. It's like learning how to hit a golf ball without learning how to properly stay back on the ball. If you continue to swing like you're playing baseball you'll never hit it as far as real golfers.
2. The second to last class of the only database course I ever took. I made the mistake of taking a 3rd year database course when I was still a budding freshman, and I got my ass solidly kicked with a C which was the only C I ever got in a course in my major. The first 8 weeks of the class (my college is on trimesters: 10 weeks courses) we diagrammed databases on paper. Every single assignment was a hand-drawn database schema, and every single quiz was drawing a schema based on a problem scenario. Not once in the 8 weeks did my idiot professor mention how databases were accessed or manipulated, until the 9th week when he was away and a substitute professor came in who was a database genius. She walked in, starting talking about SQL, and then immediately noticed that we all had a deer-in-headlights look upon our faces. After explaining that our professor never mentioned SQL the first 8 weeks of class, she cried a little inside, and then gave us a crash course that was 100x more useful than any of the high-level garbage our real professor ever taught us.
3. The entire course titled "Spatial Visualizations and Pattern Perception." So imagine me, three years into RIT, still carrying a great GPA, thinking I'm invincible and wanting to take on the world. Then, picture me signing up for a high-level psychology course with a cool title that has 3 pre-requisites for it that I didn't feel like taking. This course was one of the greatest courses I took at RIT, and I think it was because I actually learned new things. For most of the courses I took at RIT, I walked into the class knowing about 60-90% of the material prior to showing up. Blame it on being a really bright youngster who read books on science, language, and philosophy like they were going out of style... which they probably where. Anyway, this class was 100% all brand new to me, probably due to the fact that not only was THIS course new to me, but so were the three classes I needed to know BEFORE this one, so just imagine how much I had to learn in order to do well :) Nothing prepares you for a career as a designer more than knowing in excruciating detail how a light wave/particle moves from outer space, into your eyeball, and then into your brain. This course was responsible for posts like these :)
4. Introduction to XML. I was getting really bored with the undergraduate courses at RIT, so I decided to jump up to graduate level and take some stuff which was much more interesting. Intro to XML was the first graduate-level course I took (I think I ended up taking 4-5 more) and it definitely taught me a ton. I thought I knew about XML before walking into that class, but man was I wrong. Now I can handcode schemas like a professional, and my amazing professor showed me that XSLT is the greatest thing known to man.
5. Human Factors and Interface Design. Human Factors (or, HCI: 1) is the pre-requisite to Interface Design (or, HCI: 2) where HF is the theory part and ID is the design/conceptualize portion. I started getting into usability a few months before my schedule freed up for these classes, so I convinced some people to let me take both at the exact same time. Extreme usability overload! The best thing, apart from making interfaces that people can use and not vomit on, is that usability teaches you how to talk. I can now look at any design (analog or digital) and analyze it from every single angle in regards to 1) ergonomics, 2) visual aesthetic, 3) emotional attachment, or any number of other things. Learning about user-centered design makes you a better "talker" because not only can you now design cool things, you can also talk important people's ears off about them as well. This is very important when a client asks you "why does my current design suck?" or my favorite, "why does your new design do it better?" so you can stand up and have something to say instead of slouching and mumbling about color palettes or metaphors.
Well, 3 1/2 years of college all wrapped up into a nice little list.
The test if over with and I probably got some sort of an A on it. All thanks to this post! Yeah!!!!