Tuesday, February 16, 2021

Initial observations on splitting the two-week project into halves

I never followed up on my December frustrations about how CS222 is being offered this Spring. The short version of the story is that, after talking with some colleagues, I came to peace with offering the course in a rotational model. We're now at week five, and my two sections are each split into a Tuesday attendance group and a Thursday attendance group. It's not ideal, but it's what we have.

Today, I want to capture a few thoughts about a change I made in the course. This was inspired by an insight from my colleague Huseyin Ergin, who has taught CS222 just a handful of times. He came up with a clever way of helping students understand model-view separation early in the semester: during his version of the two-week project, he had the students first build a console application, then augment it with a GUI. Through this process, his students got to see that if they separated their model, they would reduce the redundancy in their code. I believe my colleague David Largent may have done this last semester, too, when he taught both sections of CS222. I decided to give it a shot this semester with my two sections.

I kept the overall course calendar that I usually use, but I divided the two-week project. Normally, I have the students create a GUI application that can pull in the latest changes and also sort by who made the most changes, as you can see in the Spring 2020 requirements. I knocked out the sorting requirement for simplicity, in part because I became aware that practically none of my students had ever built a GUI before. Usually, the instructor teaching the prerequisite course introduces some simple Swing or JavaFX, but this wasn't covered last Fall; hence, I wanted to give the students more time with the GUI.

At first, I only published the requirements for the first week. These requirements, as usual, expressed the functional requirements as a user story and the nonfunctional requirements as a checklist. I used a familiar context: reading recent changes from Wikipedia. I also added a required submission at the end of the first week, which I do not normally do: indeed, since it's "the two-week project", I usually just give students two weeks to do it. With the two-phased release, I decided to grade the first part, in hopes that the feedback would help them improve the final submission. At the time of the first week's submission, I released the additional requirements for the second week, which the students are working on now. The added requirement is to add a JavaFX GUI while maintaining the functionality of the console application.

In truth, when I first set up my assignments on Canvas, I didn't think critically about how I would grade the first week vs. the second week. It wasn't until we got into the project itself that I decided that the first week would be purely formative, and only the second week's grade would "count". However, Canvas just shows it as a deadline. This led to the predictable result: a few students nailed the first week's requirements with some minor problems, many realized that they didn't know what they were doing, and a few rushed in to push out anything that compiles right before the deadline. A few students expressed a kind of "woe-is-me" attitude in the submission comments, but most were actually quite positive. That is, they acknowledged that this wasn't what they wanted it to be, but they were eager for feedback to help them with the second week.

Now, I would not say I intentionally tricked them, but I never sound aloud, "The first week doesn't really count toward your final grade." It is actually ambiguous in the course plan's grading scheme since it doesn't say anything about how the first and second weeks are graded. Reflecting on this experience, though, I think it might be a useful deceit: the deadline encourages the students to get started and realize where they are rather than push all the work (and realization!) off to the second week. No one pushed back and complained that this grade would not count, which makes me think that they released a collective sigh of relief. I'm eager now to see how this second week goes and whether the overall performance on the two-week project is improved from previous semesters, and more importantly, whether it better prepares students for the more important final project.



No comments:

Post a Comment