You win some, you lose some

It’s a good thing I’m never going to be making charts in Java, because I would probably be screwed if someone thought Excel wasn’t good enough and asked me to write a new chart program. We’ve had two tutorials now on working with these chart program, and in both of these tutorials I’ve spent an hour and a half trying to get past the first instruction. It certainly doesn’t help that every step in the tutorial is meant to somehow summarize half an hour of work - there are only four or five steps in each. Why couldn’t I just spend ten minutes accomplishing the same work with a little more instructions?

        It’s not like the notes are any help, either. Here’s the entirety of our notes in the “Graphics” chapter. Think you could make a graphing application out of that? So we have bad notes that probably teach less than the Java documentation does (educate yourselves hurr hurr and we’ll just take your money), and we have unclear instructions that are written with the understanding that you’ll waste your time doing it wrong for a while until you figure out the problem through trial and error. What makes it worse is that every tutorial begins with you downloading at least five pre-built classes and then trying to fill in missing functionality. Last week’s tutorial had… 14 classes to download. Most of these have variables like X_AXIS_OFFSET and YEAR_SEPARATION_WIDTH and they’re used in a few places without giving you any real explanation of how it’s meant to work.

        Last week’s tutorial was to draw the chart, and I couldn’t get that working. This week was to do some mouse stuff. Anyway, the chart drawing code was supplied this week, and here’s the formula for the (x,y) of the points on a graph that I spent an hour and a half trying to figure out:

X: ORIGIN_OFFSET_X + i*YEAR_SEPARATION_WIDTH


Y: Y_AXIS_OFFSET + DATA_HEIGHT - DATA_HEIGHT * histogram[i] / maxValue

        The code I had, which was drawing everything slightly off for no reason I ever figured out:

X: (i*YEAR_SEPARATION_WIDTH)+ORIGIN_OFFSET_X

Y: Y_AXIS_OFFSET+DATA_HEIGHT-(aDVDCollection.yearHistogram()[i])

        Why does that multiplication happen? What’s wrong with my code? I could have asked the TA to write it for me, but that really doesn’t help anything. At best I finish the tutorial without learning anything. Or, wait, what was I supposed to learn? How to use the drawLine() method? Or was I supposed to learn how to make a mediocre program after inheriting someone else’s code? It’s the destiny of your average software engineer, after all. Really, though, it’s not really a useful learning experience.

        So what I’m getting at with this boring little rant is this: last semester, I learned stuff in our tutorials and by reading the notes. They were written by the same guy. Clearly he just gave up trying to teach the second course, and figured we’d learn what we need to know through hours spent working on assignments. My instructor (a different guy) isn’t really teaching us a whole lot during class time, either. I mean, there’s some stuff he tells us that’s great, but he’s a professional programmer, not a teacher. If you’ve ever done any programming, you’ll know what I mean by this. You can probably figure out that watching someone do that for three hours every week would be boring as hell.

        So as for the title of the post, last semester was definitely a win, and this semester was pretty much a loss. Doing the assignments and looking at example code from class assignments and the notes has taught me plenty, but did I really need to pay six hundred bucks for it? Technically yes, because I need the course to graduate, but realistically, no. Sometimes you just don’t get what you paid for with post-secondary education. That’s the unfortunate truth.

        All in all, this just reinforces my decision not to specialize in computer science as part of my cognitive science degree. I may as well just teach myself everything I need to know with a tutorial and the official documentation. Maybe I should steal a few of the assignments for the other courses before they’re taken off the Carleton sites to give myself something to work towards…

Comments

comments powered by Disqus