Tuesday, January 4, 2022

Winter Course Revisions 2022: CS222 Advanced Programming

Regular readers may recall that, in the summer months, I write a series of Summer Course Revision posts. Here is a quick and uncommon Winter Course Revision post. A few days ago, I shared a reflection about Fall's CS222 class and pointed out some places to tighten the bolts. Over the last two days, I've pulled together some revisions to CS222 for Spring's two sections that I will be teaching. You can find some of the changes already on the course site, but others will wait until the course is underway.

The lists of activities have been reorganized into numbered assignments. Many students last semester used ad hoc numbering in their submissions. This made me realize that the activities really didn't have any number or name, which made them hard to reference. Organizing the first three week's activities into seven distinct assignments also means that it's clearer to students what is eligible to be resubmitted: rather than refer ambiguously to "non-quiz activities," I can simply reference "assignments."

The two first-week quizzes have been rolled into existing assignments. Realistically, I don't expect anyone to resubmit these assignments, so that's not an issue. What is an issue is that Canvas' quiz-grading interface is awful, especially if you mix objective and short-answer questions. That problem can be avoided by just having students submit traditional assignments instead.

The two-week project, while not yet posted, will go back to its original form of having the same set of requirements for the whole two weeks. I've experimented with a colleague's idea of changing requirements halfway through, specifically of adding a GUI to a console application, but I think I want to instead emphasize making simple GUI applications. These are more motivating to the students, and you can still talk about model-view separation.

I added two achievements. One is Tool-Maker, which is awarded for writing a program that computes CS222 course grades. Some students worry about this, and this achievement gives me a place to point them that should serve two purposes: satisfying their obsession and giving them practice. The other achievement is one with a tongue-in-cheek name, Venerator of Elders. This can be earned during the final project by a CS222 team having a capstone team help with acceptance testing. I had a team last semester do this, for what I think was the first time, and the results were amazing: the upperclassmen had sympathy for the CS222 students but also knew how to pound on their software to show them where it needed fixing up. I hope that codifying this into a relatively easy achievement will make it happen more often.

I also tweaked some other achievements to let them earn more than the usual number of stars. Previously, an achievement like Jammer (which is earned by participating in a game jam or hackathon) said it could earn an extra star, but that's not equitable with respect to a student's investment in time: participating in a game jam takes much more time than, for example, interviewing a capstone team or going to the career fair. Now, Jammer and Open-Minded both clarify that they can earn significantly more stars—double or more. I don't know if this will encourage more students to, say, participate in Global Game Jam, but at least it will adequately reward those students who do.

For the final project, I plan to have the students submit weekly status reports, similarly to how I handled them in the back half of CS315. I have not yet decided if I want to replace the self- and peer-evaluation system with something that is zero sum.

I decided not to switch to specifications grading. I may reconsider this over the summer, but my inclination keeps taking me back to the fact that I have thought a lot about grading already, and triage grading has great advantages, despite not being trendy. Indeed, maybe not being trendy is an advantage when it comes to education.

Last Spring, we had no Spring Break, which gave us an extra week between semesters. That was nice. I am feeling fairly well rested from the break, although there are several things on my to-do list that didn't get close to done. I started but didn't finish an experimental game, and I didn't pick up my paints at all. Still, I can feel the semester coming, and I'm eager to meet my students and see my colleagues again.

No comments:

Post a Comment