Student Evaluations: Analysis

Procedure

  1. I type all information on the evaluations.
  2. For questions with multiple choices, I run quite a bit of numerical analysis. Another page shows you rough averages for these questions. For my analysis, I also look at quite a bit of other data to answer these questions:
  3. Because the free-form comments are so numerous, just reading all of them isn't really enough to interpret them. It's really necessary to categorize the comments. So I split each comment into constituent parts and categorize them. Another page lists all free-form student comments in their categories. (Yet another page includes the raw student comments, without my interpretation placed on them.)
  4. Now I can interpret everything and try to determine what shouldn't change, and what should change. Below, I've placed in green my comments about what I would change; the rest is merely commentary about what students wrote.

Overall

In general, overall evaluations are up slightly from last year. I find this surprising, but then my impression is tempered by the fact that for me personally the course is slightly stale, as this year's version had very few modifications from previous years.

I am extremely gratified, though, by what people wrote on evaluations. That so many people found the course extraordinary is very gratifying!

A perennial worry for me is that either beginners or advanced students would feel left out... On the whole, it doesn't look like this is the case. (There were mild indications of this, but nothing beyond ``we moved too fast'' or ``things were a bit boring'').

I also appreciate the several comments that mentioned that, after this class, they wanted to do more. That's what I want to achieve - I'm not out to get people into computer science, but I'm happy if I can enable them to learn more about it.

Course staff

By far everything written about staff was positive... The only negative comment is that there aren't really enough for us. Were I to do it again, I'd push for more TAs, but honestly there is a problem because there aren't a lot of CS applicants. (We're competing against the many summer industry jobs available to CS students.)

Numerically, TA ratings are up from last year, which I think reflects the fact that overall TA expertise this year was up.

The stick figures were very popular. But one person wrote, ``CBurch, you're a really cool guy, but what's up with those stick figures?'' (This was my favorite evaluation comment.) I was surprised to learn that people are split on their favorite - Spot, Krunch, and Carrie all seem to have their own supporters. There is also some speculation on Alice and Bob's relationship, but why people think I would know anything about their private lives I have no clue.

On a personal note, this year I made a much more dedicated effort to meet students at social activities. I was happy to hear from a few students that they appreciated this, but for me the motivation is purely to have fun and to get to know my students - and on the whole I feel much closer to the 2000 class than the 1999 class largely because of this. (Doing team projects helped with this too.)

Cluster hours

The numerical cluster hour ratings are still the highest-rated portion of the course, which I think is entirely appropriate. Several people commented about cluster hours that the understaffing was too apparent at times... to a large extent this was misprediction of when people would be working on assignments, but also sometimes, even with all of us there, there were some staffing problems.

Assignments

Class administration, and in particular class assignments, has always been my long suit in teaching. So I wasn't surprised that, overall, people seem to find them very helpful and rather interesting.

There were two major changes from the assignments from last year: I revamped the Assn 0 program into a more difficult game question, and I moved the recursion question from Assn 2 to Assn 1, changing it to drawing a recursion tree. Additionally, I attempted to make Assn 2 easier.

These changes were wholly positive. Overall, students found the assignments easier and more interesting, which I attribute mostly to the revamped Assn 0 program. (Interestingly, even though it was much more difficult and the rest of the assignment remained unchanged, the average difficulty rating decreased from 3.17 to 2.99. But the average time spent on the assignment jumped from 1.70 to 2.92.)

It is very difficult to come up with interesting but simple assignments, but in general people seemed to enjoy them - and especially Go Fish.

I've always found it surprising how few students in their comments begrudge the amount of time they spend on assignments... I think it very important to reduce the time. This year, things seemed pretty good. The average time on Assn 2 was rather high, but this was wholly attributable to the advanced students spending more time on it. Beginning students worked as much on it as they worked on Assn 0.

Changes that I would make given another chance:

Self-study

On the whole, this is great in concept and good in practice. Changes:

A few people wanted another level between what happens in lecture and what happens in self-study. I agree that there is a major unfilled gap in between there, but I'm not sure what to do about it. It definitely merits some further thought, and I'd love any suggestions on what should happen here. (Self-study itself was not my idea, but an idea from a '97 student.)

Lecture Sessions

In contrast to assignments, lecturing is my weak suit. But it is improving. Ratings were significantly up, and this year marks the first year that a significant number of people said that lectures were enjoyable, although there remains much work to be done. (That lectures were very dry was also a frequent comment.)

It is clear that during the programming portion, I need to do a better job of explaining concepts, and not simply explaining pre-written programs. Several people said something about this, and I had noticed this disturbing trend myself during class.

There was a significant split in student opinion on whether the course was too fast or too slow, although more tended to say it was too fast than otherwise.

Some people desired some in-cluster sessions on programming. I'm considering adding an optional in-cluster TA-driven review session toward the end of the first week for beginning students to practice concepts with very simple programs.

Another thing I'd change would be to get a Monday session. The reason for this is wholly because of CS Lab, which would profit from having its students one day ahead of where they currently are in the core course.

Textbook

Since I had very limited resources last year (I was volunteering in the Bronx and had very limited access to resources), I couldn't change the textbook at all from the previous year. Interestingly, it was the one aspect of the class whose rating decreased significantly.

I attribute this to the required readings, which gave the textbook a much harder-to-swallow flavor. People found the readings slightly irrelevant, although I definitely was able to go faster because of them. (Actually, I was considerably uneasy because I hadn't actually said some things.)

Were I to do a textbook revision, I would certainly work harder to make it more interesting, and I would add more simple exercises. I was definitely impressed by the students who told me the exercises were too difficult; I'm happy to hear that those that I included were valued.

Web page

Web page ratings are up, even though here again I things were mostly unchanged from last year. I attribute this to the Bio Web page page, which, coupled with the Discrete Math Web page, meant that people paid closer attention to Web content overall. In the clusters I definitely saw students who were trying to hit each class's Web page nightly to get updates.

People appreciated the posted lecture notes. I would post the lectures notes further in advance. I haven't done this in the past because I didn't really know the pace. But now I'm much more confident of exactly where we'll be each day.

Topic Distribution

Things look good here. In general people want to do more programming. But then that's because they want to understand the course as a programming course, and that's not really what it's about.

My goal with the course is to introduce students to computer science as an academic discipline. Programming fits into this goal because understanding its fundamentals is necessary in order to talk about computer science to any real depth.

The one topic that people desired, and which I would add, is more about debugging programs.

Besides, even if I wanted to emphasize programming more, it wouldn't do any good, simply because the three assignments couldn't address them. CS Lab does a good job of covering more about programming, and giving much more practice.

The least-favorite topic is algorithms. This is actually my favorite part of the course. A lot of people appreciate its inclusion, though, so it will stay. (Many wanted more, and all I can say is that previous iterations contained more, and I've halved the amount in response to student frustration with it.)

Another common most comment was that the course should cover less and do more in depth. In fact this comment was what prompted me in 1998 to revamp the course - a mere survey of computer science wasn't enough. It was then that I decided to emphasize programming fundamentals, recursion, algorithm analysis, and network programming. I am now generally happy with the balance of quality vs. quantity - and I affirm that the course falls on the quantity side, but as a survey course it must.

I appreciate the numerous, considered comments written on the evaluations! Thank you!