Fall 2010 classes

After another summer of work, I find myself back at school for one more year. Classes resumed last Thursday, so I’ve had two periods of most classes to get a sense of how each one is going to go for the quarter.

iPhone SDK Development: While I’m not actually taking this class (I’m sitting in on it, for no credit, just because it looked interesting), it has the potential to be one of the most interesting things I do this quarter. It’s taught by a mechanical engineering professor, but despite his department he has a really good grip on the development process - as well he should, since it turns out he works at Apple over the summers. I haven’t done serious development since around iPhone OS 3.1, so it’ll be interesting to see how multitasking and the advent of Universal apps have changed the process. It’s depressingly early - 8am - but since I’m not actually enrolled, I can skip a day or two if I need to (and the same goes for pretty much every quiz, test, and homework assignment).

Intro to Math Modeling: This class looks less exciting, but is required due to some strange combination of my majors and choice to do a senior project rather than a thesis. It’s a very small class, though (only six people), and a good friend from the Learning Center is in it as well, so it should be good. I’m pretty happy about the professor, too - I wound up with one of the interesting and fun people in the math department, which was lucky. Plus, since I take notes in LaTeX, I’m already on his good side.

Programming Language Paradigms: This is the other big contender for “most interesting class of the quarter.” We’re running through three complete languages in ten weeks: Python, Haskell, and either Erlang or Go, depending on class vote. The class is focused on getting students to the point where learning new languages isn’t daunting, but instead is simply a matter of relating it to known languages and paradigms (hence the name). The professor is also likely to slant it heavily towards concurrency and functional programming, especially if we choose Go as the third language. The class also requires students to pick a fourth language, learn about it, and make a presentation on their own during the final week, so that classmates have at least minimal exposure to several extra languages outside the proscribed three.

Software Architecture & Design II: And here I thought I was done with 370-series classes. This is the final course in the junior sequence, and focuses on making revisions to existing systems to improve certain aspects (performance, reliability, etc.). I can already tell it’s going to be a tough class - it’s very much an SE course, and the lectures and projects aren’t going to be likely to hold interest for long.

Independent Study in Human-Computer Interaction: This is not strictly an independent study - it’s more of a mechanism to get credit for competing in a human-computer interaction contest that Rose puts a team up for each year. I’m part of this year’s five-person team, and our task is to come up with a system or service that encourages people to appreciate each other’s differences (no, really - the prompt is that vague). The team and professor leading the study are both awesome, but we’re a bit daunted by the scale of the task before us and the range of the competition - most other teams are from grad schools.

Senior Project: This quarter I’m starting my all-year senior project sequence with three other senior CSs and SEs. We’re working for Linn County, IA, developing a mobile mapping application for their trails system. The team is leaning towards iPhone as a platform for development, since we all have Macs, but we’re going to have to wait to make that determination until we get out to Iowa next weekend to meet with our client and see what the cell service is like out there. Android is also a possibility, though almost all of the team is less experienced in that platform. Regardless of which we choose, I’m psyched for this project - we put together a phenomenal team, and I can’t wait to see what we’ll do.

370-series TA: In addition to all the classes I’m actually taking, I’m working for the CS department as a teaching assistant in the junior project sequence, which I just finished last year. This quarter, I’m acting as a project manager for a team in Software Requirements and Specifications (CSSE371). I’ve yet to sit in on a 371 class, but it looks to be mostly similar to last year, so I’ll be in good shape.