Thoughts on CS 374 (and the new CS 473)?

As one of the current instructors for the course, I thought I'd pipe in here.

  1. Thank you to everybody for sharing your thoughts/concerns/pros/cons/etc. This is the way we learn and adjust what we're doing.

  2. Here are the things we're aware of, and that I think are the most in need of improvement:

(a) A good source of solved hw problems.
In order for you to do well on the HWs, you need model solutions to past problems. We don't have a text that we're working from, so perhaps this was a mistake. As much as I hate to recommend/require a text due to the very high cost, in this case, as the course is in its early offerings, it might well be indicated.

(b) Faster turn-around time for grading. This is always a problem in CS theory courses. We had trouble finding as many graders as we needed, and ended up with what we thought was a minimum, but was adequate. We expected graders to spend up to 8 hours per week grading, which is what they signed up for. People are optimistic about their capabilities and available time. Next semester Chandra will be looking to hire 50% or more undergraduate course assistants, and this should help. If you've done well in the course, perhaps this can be you?

(c) Inconsistency in lab sections among course staff.
The following is generally true in many courses, ours is no exception: Some TAs are natural teachers, others are not. Some have a very strong grasp of the material, others do not. It is hard to find as many highly qualified TAs as we need in a more advanced course. This course is unusual, because it is advanced, and large.

One thing we did not have time to create, which I regret, is to have detailed lab section notes that TAs could work from, that would give complete solutions, pedagogy tips, instructions on how long to allow students to work on different parts, and hints to give out, etc. What were usually given were brief sketches of solutions. Having a more detailed "TA manual" along with solutions that could be distributed afterwards to students would help TAs, hence students, a lot. This might address (a) above as well. Some argue that if we hand out solutions to labs, then students won't come to labs and try to solve the problems; they'll just read the solutions. While this may be true, and those students would be missing A LOT in terms of developing their problem-solving skills, I'd rather give the resources and encourage them to use them properly. Next time I teach this course, this will be a priority.

(d) Inconsistency in what happens during office hours. I've only been to my own office hours (which I recognize now is a mistake - I should have spent some time in others), so do not know exactly how much "giving away" of hw solutions is going on. I will take your word for it.

In my office hours, I do not set out to solve the hw problems, but rather to act as a foil. Sometimes I will give hints. Through this interaction though, students, bright as they are, end up deducing the correct answer, or at least the path to it. I think this is probably a good thing, but sometimes worry that I've given away too much. Not sure about this; every problem is different, as is every student, and attempts to help/guide one student may be giving away too much for another.

(e) Difficulty in making the course a coherent whole. This is something that we knew going in was going to be difficult - merging two relatively different courses. On the whole, given the different needs/demands of the two different curricula, and the goal to streamline the number of specifically required courses, I think the balance of material is about right though. I also think we've done a reasonable job of integrating, or at least bringing together thematically, the material on reductions.

/r/UIUC Thread