Skip to main content

Two weeks to go (#1248)

Topics/tags: Autobiographical

Grinnell classes start on August 24. That’s a Thursday [1]. I don’t teach on Thursdays, so my first classes are on the 25th. In either case, I have about two weeks to go until classes start. I’ve reached panic time [2]. Michelle will tell you that this is always panic time for me. Why am I panicking? The usual reason: I have a surprisingly large amount of work to do, even though I’ve tried to get ahead. New work also keeps appearing.

Let’s start with the positives. I’ve done some things. Perhaps even some significant things.

  • I have settled on the draft learning objectives for CSC-151.
  • I have set up the draft schedule of topics and draft syllabus for CSC-151.
  • I have set up the draft schedule of topics and draft syllabus for CSC-207.
  • I have set up the draft Web site for CSC-281, Learning from CS Alumni.
  • I’ve invited some folks for CSC-281, Learning from CS Alumni.
  • I’ve made plans to get students to the 2023 CMD-IT/ACM Richard Tapia Celebration of Diversity in Computing.
  • My fellow Program Chairs and I have invited reviewers for the 2024 SIGCSE Technical Symposium in Computer Science Education.
  • I’ve vacated my office in Goodnow and started to rearrange my office in Noyce. As part of that, I had to rebuild my desk, which fell apart as I tried to move it around.
  • My kids helped me remove and discard some stuff from my lab.

That’s not a bad start. But I still have a significant amount to do. Let’s break it up across domains. I’m primarily considering the significant tasks, but I’ve included a few smaller ones.


For CSC-151, Functional Problem Solving

  • I have to update the course to use the Scamper implementation of Scheme rather than DrRacket. Scamper is Grinnell’s new implementation of Scheme.
  • To do that, I need to learn to use Scamper.
  • I have to update Scamper to handle the kinds of image computation I’m doing in my section.
  • In preparation for that work, I need to figure out an appropriate revised model (or, more precisely, a set of models). I’ve started a preliminary musing on this issue, but it’s getting complicated and is taking a lot of brainpower.
  • I need to prepare the first two weeks of readings, labs, and assignments. (I’d prefer more, but I’m trying to be reasonable.)
  • I should work with my colleagues on using Scamper for autograding. We don’t do all the grading with autograders (style and design are essential!), but it’s nice for students to get some feedback on potential correctness.
  • That’s a good reminder to myself: I also need to set up Gradescope. And I need to add my students to our course Team.
  • I’d like to start putting the textbook materials I’ve written on Runestone Academy. I’m not sure that I’ll have time to do so.
  • I should set up meetings with my Scheme Squad. That’s a relatively minor task.

For CSC-207, Imperative Problem Solving, Data Structures, and Algorithms

  • I need to develop a clear mastery grading model for the course, particularly given the large number of learning objectives. I expect that I’ll be splitting the associated assessments of those objectives between worksheets (small things that students fill out in class) and what I’d call portfolio assessments (provide evidence that you’ve mastered this topic). There will also be weekly projects. Will I require students to turn in daily labs? Daily reading responses? There’s good evidence that those help students learn. But they need recording and feedback. I have 28 students in 207, 24 in 151, and 28 in 281. Do I have time to do all this assessment and recording? [5]
  • I need to learn VSCode for Java. I suppose I could stay with Eclipse. However, given that it’s been four years since I’ve taught the course, I assume Eclipse has changed significantly. My offspring tell me that VSCode is much more popular than Eclipse these days.
  • I need to learn Maven or some other build tool. I’ve used Maven a bit, but not in recent years.
  • I need to learn version 5 of JUnit. I’m pretty sure JUnit was at version 4 the last time I taught the course [6]. JUnit seems to change significantly between major versions. I suppose that’s why they are major versions
  • I should better incorporate the course’s two mini-themes into the syllabus and schedule. What are those mini-themes? Accessibility and interview prep [7].
  • I need to get the first two weeks of readings, labs, and assignments ready. (I’d prefer more, but I’m trying to be reasonable.)
  • I should figure out Java autograding on Gradescope. That should be more straightforward than Scamper.
  • And yes, I need to get Gradescope set up for this class, too.
  • I also need to get the class Team set up.
  • I’d like to start putting the textbook materials I’ve written on Runestone Academy. I’m not sure that I’ll have time to do so.
  • I had considered including LLM-based code generators as a topic in the course, probably as a homework assignment. However, my initial experiments failed. That is, I was hoping to get not-quite-correct code in response to some of my questions. Unfortunately, I got code that is better than many students write. I still have to think more about the role of tools like GitHub Copilot and ChatGPT in CSC-207. I’m still asking students not to use these tools in most cases; they learn from doing basic tasks even when tools can do them. But there’s some value in students exploring the use and misuse of the tools.
  • I should set up meetings with my mentor and graders. Again, that’s a relatively minor task.

For both of those classes

  • I should write new versions of the pre-exam, post-exam, pre-assignment, and post-assignment metacognitive surveys.
  • I have to update my grading script. I shouldn’t do that until ITS approves it. I’ve already waited four months for that approval. I don’t consider that reasonable.
  • I want to determine how to write meta-questions for mastery grading using something like PrairieLearn. Or maybe I have to write the code myself. The latter isn’t happening before classes start.
  • There’s something else I need to do for all my classes, but it’s not springing to mind at the moment.

For CSC-281, Life After Grinnell: Learning from CS Alumni

  • I need to build a library of sample interview questions.
  • I need to schedule the alums.
  • I need to invite more alums.
  • I need to write a few more bits of guidance for the students in the course.
  • I need to configure the Microsoft Team for the course. I have to do that for the other courses, too. However, it’s likely to play a more significant role in this course.

For the SIGCSE Technical Symposium

I’m one of the three Program Chairs for the 2024 SIGCSE Technical Symposium, the flagship conference in Computer Science Education. Unlike my two co-chairs, I did not receive a course release or equivalent to do this work [8].

  • We’ll need to assign reviewers to papers. I’m told that will take a significant amount of time. We’re assuming that we’ll have about 500 paper submissions (about the same as last year), and our goal is to have about 550 reviewers and 72 meta-reviewers (also known as APCs). If all goes well, that will permit us to assign 3–4 reviewers per paper.
  • Unfortunately, we don’t have enough reviewers yet. A surprising number (about 100) of folks who indicated that they were willing to review have ignored their invitations. That’s one of the dangers of trying to grab reviewers at the end of summer: People are on vacation and not paying attention to email [9].
  • We’ll also need to work on Desk Rejects. That requires skimming all the papers to ensure they meet the requirements. I do not look forward to this process. I hope we can make it kinder and gentler [10]. Update: I’ve agreed to quickly check submissions when they arrive and email the authors if there are issues. I’ll probably stop on the last day of submissions.
  • We’ll need to finish the training and guidance material for reviewers and APCs. We’ve made a lot of updates, but there’s more to do.

Those are the three main things to do for the TS before classes start. Of course, I also have to manage the daily email, the weekly meetings, and the work that will happen after classes start, particularly selecting the papers that will make up the program. I’m told that selecting papers will take a full weekend. There’s also a visit to the conference site and a few days of setting up the conference schedule, but those will happen during fall break.


For the broader CS community

  • I have one external department review to complete.
  • I have two individual tenure and promotion reviews to complete.
  • I have contributions to make to a chapter for Curricula 2023 on Computing for Social Good in CS Education.

For the department

  • I need to work on the job description for the students who will support our Broadening Participation in Computing Initiative.
  • It appears that I’ll need to participate in some meetings about supporting the high school.
  • I don’t think that I have anything to do for departmental participation in MINK-WIC. Oh, maybe I’m supposed to set up a panel. Damn. Oh well; I think that can wait until after the start of the semester.

Major cleaning

  • I had hoped to remove everything from my lab before the start of the semester. That’s not going to happen, but I should still try to make more progress.
  • I’d like to ensure that my work office is comparatively straight (although chaotic) before the start of the semester.
  • I’d like to make sure that my home office is comparatively straight (although still chaotic) before the start of the semester.
  • I need to clean my stuff out of the family room before the start of the semester.
  • I need to do a lot of weeding and tree trimming.
  • After the weeding and tree trimming, there’s stuff to get to the brush dump.
  • I have to clean out my car to make it available for one of my offspring.
  • We also have a variety of other household tasks to do.

I haven’t been keeping my to-do list up to date, so these are just the things that come to mind. I know that there are others that I’m forgetting.


Deep breaths. Stay calm. It’ll be okay.


[1] Why does Grinnell start Fall classes on Thursdays? Because we want to make sure that we have fourteen occurrences of each class day in the Fall, and we don’t have class on Thanksgiving Thursday or Black Friday [3,4].

[2] More accurately, I reached panic time at least a week ago. I just wasn’t up to musing about it until now.

[3] When I was an undergraduate at UofC, we had classes on the day after Thanksgiving. I believe that Chemistry even had classes on the Saturday after Thanksgiving.

[4] I’ll admit that I’d prefer that we start classes on Wednesday and also give students the day before Thanksgiving off.

[5] I don’t mind using graders for projects and lab writeups. But I should be the one to grade reading responses, learning assessments, and metacognitive surveys.

[6] And version 3 the prior time.

[7] Nope, there are no real connections between the two. Well, perhaps they are connected because traditional technical interviews are not particularly accessible.

[8] Grinnell’s refusal to offer a course release bothers me. On the other hand, my department probably couldn’t have dealt with me having a course release.

[9] I should learn to stop paying attention to email during vacation.

[10] I think we’ll succeed.


Version 1.0 of 2023-08-10.