I’m really rather disappointed with 418 this semester. I think it is mostly that the assignments have been a letdown, and the class project is annoying busywork on top of the actual research that I want to do.
The assignments so far:
- A1: SIMD. I liked this, though I felt the “official” solution was lame. I suppose that their general approach works unreasonably well in real life too, but it feels a little mindless. Not their fault though.
- A2: CUDA. I enjoyed this and thought it was the best assignment by far. However, the profiler didn’t work. In a class which is meant to teach you about profiling.. not so good.
- A3: OpenMP. It was interesting at first, but a little frustrating and arbitrary. You basically had to see two tricks and you were done, it was very binary on whether you got it.
- A4: MPI. This assignment is a big miss. The first part is trivial and the second part is solvable by a quick two-line hack, which to my knowledge receives full credit; it was suggested by a TA, at the least. We knew this and decided to do a task queue anyway, which is a little more respectable, but the entire assignment was absurd.
In isolation, assignments 1 to 3 were alright. Let’s not go into assignment 4. But notice, overall, that there is approximately 0 non-contrived “profile this because we tell you to” in there. No “I wrote something and had to really profile and optimize it to go further”. You go in, you do the obvious thing, it works, and you don’t end up profiling anything. I really looked forward to using stuff from the performance measurement and tuning lecture, but you just.. don’t need to. Granted, I tried to learn 418 by going through the slides on my own two years ago, but I don’t think I actually remembered enough of it to trivialize the course this much. I do not feel like I have been prepared to truly dig into performance problems.
On a separate note, I am increasingly convinced that TAs making rubrics is a rather bad idea. At least in courses with very few TAs. I think the reason it works in larger courses is because you get the few who really care, attend Iliano’s TA seminar on rubric development , and are invested enough to argue for hours on the basis of “How does this help students learn? What are we really measuring here?”  with the instructor and other students. There might not have been a consensus, but those rubrics were created with care. Ideally, of course, you consider what you want to assess before you create the assignment. But we can’t always have nice things.
And you’re not always so lucky, and sometimes there’s the whole graduate TA stereotype going on. The worst one I’ve witnessed personally is, “yeah I don’t know, here are the solutions (to the assignment that isn’t due yet)” as a response to a student question. Brazenly, in office hours, in front of everyone else. Do you AIV the TA? More commonly, though, they don’t seem to have bothered with pedagogy as an art, e.g., going to TA seminars, developing some kind of teaching philosophy and putting it into practice, stuff like that. Which, fair enough, is often a matter of misaligned incentives. But it does feel a little too much like they’re spitting on the efforts of the TAs who try.
I’m actually really happy with DB’s grad TAs right now though. They’re legit. No clueless grad TA stereotype there, AFAIK.
-  One of the few TA seminars that are really worth your time. Other notable staples include Kosbie’s and Eckhardt’s. There are a few new TA seminars that I couldn’t go to this semester, so there may be more now.
-  Good times. I gained a lot of respect for both the prof and the TA leadership on that day. Three hours for a single question is a little excessive though…
Well, it is three in the morning and I have a midterm in six hours. In absolute terms, I didn’t do so well on the last one, but I thought it was well-designed and fair. I’m also a little past obsessing over grades, (why can’t everything go away and leave me and my pet research alone?), so whatever will be, will be.