Quiz #5 posted!

Quiz #5, the penultimate quiz of the summer, has been posted. It is due Sunday night at midnight. It is open-book, open-notes, closed-Java, closed-other-Websites, open-calculator and timed at 45 minutes. It must be taken completely on your own, without any help from others.

Overview/index page of all classes

When you point your browser at your Google Cloud instance’s Javadoc, you can get to a summary/index page of all the classes by going to this URL:


instead of:


(where “x.x.x.x” is your Google Cloud’s external IP address, of course.) This is nice because otherwise it just pops you to the first class in alphabetical order, with no obvious way to navigate to the others.

Just a life hack for your day today.

HTML tags reference

Tommy Gold was asking whether things like what the various HTML tags do are worth memorizing. My answer is that it’s kind of like slang: the slang words you’re exposed to and hear a lot are the ones you’ll pick up, even without explicitly trying to do so.

Here’s a reference I often use to look up what the various HTML tags do.

Team design assignment #3 posted!

Team design assignment #3 has been posted, and is due next Friday!

A couple notes on this assignment:

  1. We haven’t actually covered the material for this in class yet. (We’ll get to it Monday.)
  2. However, it’s in chapter 18 of the book, which you are encouraged to read as soon as possible.
  3. And anyways, you can get started by simply creating the stubbed-out versions of your classes and methods before you attempt to write the Javadoc. This should be your first step anyway. Forget about the actual purpose of the assignment for a little while, and just write/commit/push/pull your stubbed-out code.

Btw, if you’re not familiar with the term “stubbed-out code,” it means a placeholder for a class or method, with just enough code to successfully compile, but not with any actual implementation (method body) yet. For instance, here is a stubbed-out version of a TeleportEvent class, with its constructor and .trigger() method:

class TeleportEvent extends Event {

    TeleportEvent() {

    String trigger() {
        return null;

This code doesn’t actually teleport anybody, obviously, but it compiles, and serves as a placeholder for when you add the Javadoc later in phase 2, and the actual code in phase 3. Creating these stubs is actually a modest amount of busy work, which can occupy quite a bit of time between now and Monday, if you choose to wait that long before commencing on the Javadoc.

Note, by the way, that I needed the “return null;” line in the .trigger() stub because it wouldn’t compile without that.

Send questions!

Stephen’s Zork III solution posted

Two of the teams struggled to get Zork III working and will need to use my starting point to proceed with Zork++. The file stephenIII.git is available from the “Files” tab in Canvas for this purpose, but it’s a little tricky because you may or may not want to replace your entire github repo with the contents of this bundle. Representatives from those two teams (you know who you are) should discuss this with your team and then send me an email (Cc:ing your teammates as usual, of course) specifying whether or not there’s contents in your team github repo that you want to keep. If so, tell me which file(s) those are so I can make sure to include them when I replace your repo with this bundle.

Quiz #4 posted!

Quiz #4 has been posted to Canvas, and is due on Tuesday, June 30, at midnight. It is open-book, open-notes, closed-Java, closed-other-Websites, and timed at 45 minutes. It must be taken completely on your own, without any help from others.

Important note about Zoom recording

In order to conserve space, the IT folks have asked us to record only the main “active speaker with shared screen” view of our Zoom calls. I have abided by this. The only downside is that I MUST remember to take a screenshot of the “gallery view” in order to award Webcam carrot points, or do the hateful and laborious “please send me a Webcam carrot point email” procedure.

So, how about this: if you want you and your fellow students to get webcam carrot points from now until the end of the summer, it’s on you guys to remind me each lecture. Just somebody saying at the start of class “hey Stephen don’t forget to take your screen capture” like Bennett did yesterday will do the trick.

Also, if anyone has been relying on Zoom recordings and feels strongly that they do need access to some of the other views (beyond “active speaker with shared screen”) please let me know so we can negotiate. As of next Monday’s lecture, those other views will not be available unless I hear gripes.

Carry on…