Retrospective, Part I

As you might know, I plan on graduating from the prestigious Case Western Reserve University on May 17. I’ve been here for the better part of four years, and I’ve had good experiences and bad experiences. In the next few days and weeks I’ll try to write what I thought of this place. I’ll start, today, with classes.

Favorite classes

  • EECS 290 – Introduction to game design/development. (And no, it’s not because my professor for this class is on Facebook and probably knows when I post stuff and thus probably reads this blog.) This class was a throw-in this semester, but it turned out to be a very good class for a few reasons.

    First, it was just plain fun. Being able to write in C#/XNA was a big part of the fun. XNA is a very well thought-out framework, and I’ve been using C# for almost four years, so it was incredibly intuitive to just dive in. The assignments for the class were fun to think about, fun to write and mess with while writing, and really fun to show to friends and family.

    Second, it was really informative. For the first time, I used inheritance intelligently, and was forced to come up with really good object-oriented designs, something I hadn’t run into yet. Also, while I used to look at a game and wonder how it was made, now I can look at a game and know what’s going on, at least on a conceptual level.

    In essence, 290 was a class I almost didn’t take, and I’m so glad I did. In a semester full of homework, projects and other stuff, this class had the assignments I looked forward to doing.

  • EECS 393 – Introduction to software engineering. As much as I complain about projects when I’m near the end of them and I’m running low on sleep and such, I really like project-oriented classes, and this one had the second biggest project I had during my time at Case – a web application and service which turned into my senior project. During lectures we discussed stuff like version control, development techniques, project management techniques and other stuff that was genuinely useful to know as I enter the workforce.
  • EECS 341 – Introduction to databases. Databases are one of my favorite topics in computer science, and the project for this class (really my first real project where we had some creative control) was really fun too. The professor for this class was hysterical (although I don’t think he meant to be). During lectures we covered really interesting topics, ranging from the high level topics like SQL to the low level topics like how databases are stored on hard disks.
  • Honorable mention: EECS 391 (Introduction to Artificial Intelligence), EECS 325 (Introduction to networking), POSC 370G (U.S. Intelligence and National Security)

Least favorite classes

  • PHIL 304 – Engineering ethics. Complete waste of time. We spent half the semester talking about medical ethics and the other half discussing what people thought in the 1400s. I think ethics are important, but it’s not worth having a class over.
  • ENGL 398 – Technical writing. We read some interesting books in this class that dealt with freedom of information, but the final project and some of the homeworks (resume updating, etc.) left much to be desired. Waking up at 8:30 on Mondays to go to that pointless lecture was not appreciated. (The highlight of those lectures: when my future game design professor talked about (what else) creating video games.)
  • EECS 314 – Computer architecture. I’m not sure why CSes are required to take this course, but it really wasn’t all that useful to me. It did help bump up my GPA though – the computer engineers sure know how to bring a curve down.
  • Honorable mention: EECS 233 (Introduction to data structures), MATH 224 (Differential equations), every SAGES class

Best professors

  • Chris Butler, MATH 122. This guy provided as easy of a transition from high school to college as anyone could ask for. Tests were challenging, but fair, and there was ample review time. Lectures were very entertaining and useful.
  • Marc Buchner, EECS 290. The best professors are the ones that are passionate about their subject and passionate about teaching. Professor Buchner was both – his laptop had Half Life 2, Flight Simulator and other games installed, but he also was good at explaining concepts in class that could have been difficult. He also did something no other professor did during my time at Case: a live suggestion session. Very brave.
  • Andy Podgurski, EECS 393. Professor Podgurski was really knowledgeable about the industry, and when teaching software engineering that’s pretty important. Also enjoyed his dry sense of humor – it always came when you weren’t expecting it.
  • Honorable mention: M. Cather Simpson, CHEM 111; Jiong Yang, EECS 341; Jing Li, EECS 340, EECS 343

What are some other lists you’d like to see? Let me know and I’ll try and post them.

Commencement

I just had a very startling moment: I registered for commencement. I’ve known for a while now (or at least planning) that I’d be graduating this year, but the e-mail I just received that told me how to pick up my cap and gown made the idea seem very real. Today is March 4: I just finished my second-to-last midterm ever, less than three months from now I’ll be working full-time, and a little more than two months from now I’ll be finished with my undergraduate degree. Time flies, eh?