CS 467 - COVID-19 Changes

Course Updates

Our new situation brings with it a raft of changes to the way that the course will be conducted. Rather than editing the syllabus and revising history, I decided to place all of the changes to the mechanics to the course in one place.

2020-04-27 Update #3

One of the things that came out of the latest check-in (from those of you who participated, was doubt about exactly what passing (getting credit) looked like. I was hoping we wouldn't have anyone riding that edge, but it is clear that for several of you, motivation is slipping and I'm starting to see folks in the "if I pass now I bail" camp.

So, I am going to try to make a definitive guide.

Here is a summary of what you need for each tier. I have put this in terms of what you need rather than in terms of what you can skip now that the counts have settled. This includes one more response yet to be assigned.

tier sketches practicals responses assignments sophisticated participation
competency 4 6 3 6 0 1
proficiency 8 7 4 8 1 3
mastery 14 9 6 8 3 5

Credit, which I will assign a C- for when I enter it, will be below the competency tier by one assignment or any two items from sketches, practicals, or responses. So, you could lose an additional assignment, or two practicals, or a practical and a response, etc...

In addition, I will accept the exchange of one response for a practical, or vice versa. So, for example, if you were doing fine on the assignments, but the practicals were a problem, you could turn in 6 assignments, 4 responses, 3 practicals, and 4 sketches and pass.

Hopefully this will provide a balance of additional clarity while retaining flexibility. Let me know if you have any questions.

2020-04-07 Update #2

After a week of trying on the new updates, and the addition of new information, I am making these further modifications to the course:


I am making a slight alteration to the policy for submitting assignment for re-evaluation. The one week restriction on revisions is now removed. My preference will be that they are still within a week, but it is not a hard deadline. I will also make official something that I had been doing in some cases, and allowing multiple passes at getting a satisfactory.

I will endeavor to return work faster, but at the cost of doing deeper reviews of your code (which I was trying to provide). The long review period also means I can't release solutions. So, I am offering optional code reviews. If you would like to discuss your code, we can sit down and walk through the code together. In truth, these would probably be more helpful than the comments I leave. I strongly suggest these for those of you who are a little weaker at JavaScript or are finding practicals and assignments taken many hours more than maybe they should.


Sketches seemed to be a subject of great concern. It is true that few of you are where I would have hoped in terms of the number of sketches produced at this stage. With that in mind, I am turning down the requirements. The new requirements are now:

  • competency: 4 sketches
  • proficiency: 8 sketches
  • mastery: 14 sketches

I also think it would help to add some more clarity to what the sketches should be and what my expectations are. There are a couple of factors that have led, I think, to a misapprehension of what a sketch should be. In the Processing world, almost everything is referred to as a sketch, and if you go looking online you will find very polished work that are called sketches. Our muse Zach Lieberman's work all feels fairly polished as well. In drawing and painting, however, sketches are quick, rough, and typically considered unfinished (in truth, many of Zach's sketches are pretty rough -- they are exploring a single technique and not worrying too much about making a finished piece).

In the same spirit, sketches don't need to be finished or successful. They are your place to try things out. For example, let's say you were developing a new action for your agent for an upcoming assignment. You may have gotten quite far into the development of the piece, and you decide you want to add a new action. This would be a good moment to make a sketch to try out the action in isolation before you put it in your main piece.

I also heard from some of you that you had ideas in your head, but couldn't figure out how to make them code. Try a sketch. You may not get what you wanted, but you will have learned something in the process. This also gives you a great opportunity to share the sketch and ask how to get it closer to your vision.

One of the stipulations that seems to be a sticking point is that the sketches be "unique". This was taken to mean that you could start from an in class example, practical or assignment. This is absolutely not the case. I have no problem with you starting from one of those (or even from one of your other sketches). What I was hoping to avoid with that stipulation was some wiseass writing a simplistic sketch (like a single colored circle), and copying it 18 times, possibly changing the color of the circle and claiming that satisfied the requirements (though that in itself could be considered a subversive work of art). Variations are okay, and if you are unsure, just ask.


Another area that raised some concern was the requirement to share and critique. While our Teapot sketch last week was a great start, it doesn't seem to have had much momentum behind it. It also seems that half of the class is aiming for the competency tier, which carries no requirement for sharing. There was also some concern that removing the attendance requirement actually hurt if a better than required attendance record could help buoy student above the tier.

In light of this, I am removing the critique requirement and adding a new participation requirement which subsumes sharing, critiques, and attendance. You will earn a participation point by:

  • sharing a sketch
  • writing a critique
  • asking a question on Piazza
  • answering a question on Piazza
  • starting a discussion on Piazza
  • participating in a discussion on Piazza
  • participating in a discussion session (more details soon)

Also, remember that sharing a sketch doesn't mean it has to be done -- you can share to get help and perspective as well.

I will also count all existing sharing and critique activities as participation points.

The new requirements are for each tier:

  • competency: 1 point
  • proficiency: 3 points
  • mastery: 5 points

2020-03-28 Update #1

Class conduct

In our very last class I indicated that I was contemplating conducting our class synchronously, just switching to online. I have not contemplated it -- we will not be trying to carry on lectures as usual.

I will still set up a Zoom meeting for our new class period (TTh 3:30p-4:45p EDT). These are no longer mandatory. These will be something closer to open office hours. I will be available to answer questions about course materials and practicals.

The course content will now take the form of short video lectures, readings, and practicals.

In this vein, I am adding a textbook to the class. We previously read a section out of it, but we will now pull from it more extensively:

Daniel Shiffman, "The Nature of Code", 2012. online

We will also pay more attention to practical deadlines since we won't have an "in class" to be doing them in.


Programming assignments will continue in much the same vein as they have.

The reading responses will change slightly. There will now be readings that are not associated with an accompanying response. There may also be occasional "responses" that are not connected directly to a single reading, which I will be using to gage understanding of both readings and lecture material.


As hopefully everyone saw, I have changed the deployment of the sketches. You no longer need to deploy them on basin. I have an automated process that is pulling from all of your repositories every half hour. So all you have to do is push your new sketches to GitHub, and they will eventually show up on the course website. Please let me know if it has been more than 30 minutes and you still don't see your sketch posted.

I note that some of you have very few sketches, while others have been more productive. The more of these you do, the easier it will become. Try setting weekly goals to spend time on these. You don't need to labor for hours on sketches.


An important aspect of the sketches is our critique/sharing process. I think we were finally starting to get to the point where we could say interesting things, and I don't want to lose that. We are moving the critiques to Piazza. I have added a new 'critique' tag for Piazza posts. Please share your creations by posting a note tagged with 'critique'.

I would like to move our sharing away from show and tell and more to a helpful forum for improving our art. So, if you are sharing a sketch, please ask questions or point out aspects you aren't sure about. That said, it is perfectly reasonable to not explain what you were thinking in your initial post to gage reactions, so I won't require you to explain your piece and what you were going for. I would also like to see some thoughtful reactions. Even if you don't have ideas about how to improve things or take them farther, please don't just post 'that's really cool'. Tell us why you think it is cool. Try to describe what about the sketch appeals. Or what is off-putting -- hopefully this class is now comfortable enough with each other to be able to air differing opinions. You can also ask questions about how it was made.

To facilitate this process, please do not post a new sketch if there is one that lacks any substantive comments.


I suspect many of you will take the P/F option, but until letter grades are completely taken off the table, we still need to have criteria for earning them. For the most part the tiers will stay intact, but course attendance will no longer be taken into consideration.


This is a difficult time for all of us. It seems likely that many of you will struggle to find the motivation to put in much effort to the remainder of the semester or may have difficulties being able to work at the level you could while on campus due to different living situations and family distractions. It is the same for those of us who are now trying to teach under conditions that most of us never imagined. (It is also possible that without the distraction of extracurricular and social events you will find you know have more time than ever before)

Unfortunately, our new online world means that more of the burden of responsibility is going to fall on your shoulders. You can't rely on us to make your schedule for you, and to detect from your expression in class if you are getting it. You will need to make the time to read posted materials and watch videos. You will need to speak up when you don't get something (I hope that Piazza takes on a greater role in your learning now -- don't feel you can only post homework questions and critiques).

I am drawing my motivation from the fact that I care about my students and that I really enjoy this material and want to share it and get others excited about it as well. The "easiest" way for you to get motivated will be to find ways to make this something you want to do rather than something you have to do. Of course, that is easier said than done. I have been trying to instill that in you all semester, trying to develop examples and assignments to catch your interest. I will continue to do that, but the ball is in your court now as well. Use the sketches and creative aspects of assignments to find what interests you about making visual art. Use it to say something about how you are feeling. Try bringing in your favorite aspects of computer science (or anything else for that matter). As you have seen (and will continue to see), generative artists grab on to everything and anything as both components and inspiration.

Above all, make art. If you have to schedule times to do it initially, that is okay. You do the work, you will find the inspiration.

"Remember, I'm pulling for ya. We're all in this together!"
-Red Green