A Public Substitution Announcement

For whatever reason, I have a tendency to write pau.edu instead of psu.edu when I’m writing in iOS. This happens at least a few times per day, and it’s really annoying… or at least it was until I remembered that I could use iOS’s text shortcut feature to reduce the pain. If you or anyone you care about suffers from this or a similar affliction (like typing gmial.com instead of gmail.com), this may help. Simply go to Settings > General > Keyboards > Shortcuts, and then enter the text in the example below. The best part is that this substitution will sync across your devices.

The new normal

Last semester I taught two sections of SRA 111, with a total of around 100 primarily first- and second-year students enrolled. For each of the six ANGEL-based quizzes during the semester, I have a policy that students can use a double-sided sheet of their own handwritten notes, but cannot refer to any other materials.

The first three quizzes were held in class and I was able to enforce this restriction. For a variety of reasons, I allowed the students to take the fourth quiz on their own, at their own convenience; but I made clear that the same rules were in effect and that I was placing trust in them to observe our academic integrity policy. After the quiz, I asked students to complete an anonymous survey; 81 of 97 did. The results were interesting:

  • 43 students referred to our course PowerPoints during the quiz
  • 8 discussed the quiz questions or answers with classmates during the quiz
  • 11 searched the Web for answers to the quiz questions

I received a lot of interesting open-ended feedback, as well. One response can be paraphrased as: “Though I’m not proud of violating the academic integrity policy, I’ve spoken to other students and we’ve decided that professors should expect this to happen. I took notes and studied, but there were things that I couldn’t recall, and even if I can get the answer, I am learning when I look it up.”

I also asked students if they preferred in-class or out-of-class quizzes. 64.2% strongly preferred or somewhat preferred out-of-class quizzes (I wonder why); 17.3% strongly preferred or somewhat preferred in-class quizzes; and 18.5% had no preference.

The attendance dance

(I apologize for the title of this post.)

In my eight or so months of teaching, I’ve been shocked to discover that I’m apparently fairly retrograde in at least a few areas. I think I’m more willing to lecture for longer periods of time than are some of my colleagues; I’m not a big fan of unproctored, at-home assessments; and I take attendance at every class.

As the end of the semester approaches, my attention turns to that last item. I use ANGEL’s PIN system to handle attendance for me (ANGEL provides a PIN for me; I put it on the board; students enter the PIN back into ANGEL; and ANGEL records the results), which more or less works well. 1 The problem is that the default attendance report ANGEL provides me is essentially useless:

The default ANGEL attendance report

The default ANGEL attendance report

As you can see, there is no tabulation of any kind, which defeats the entire purpose of the attendance regime (I would like to know how many times a student did not attend class; radical, I know).

It took me a while to figure out how to solve this problem, so I thought I’d share it here. First, from the Attendance Manager, click the Export link. I prefer CSV format:

Export to CSV format

Export to CSV format

Next, open up the file in Microsoft Excel:

The raw export

The raw export

Every row in the spreadsheet is a student name and the student’s attendance entry on that day (assuming the student entered anything; if he didn’t, then there is no entry!). I’m not sure why the export is prepared in such a non-useful way (at least from the perspective of my use case, which I’m assuming is the most common use case). However, we can very quickly and easily create a PivotTable which displays the data in a far more pragmatic fashion. I’ll assume that you’re cool and are using the Mac. Click the Data tab in the ribbon, then click the arrow next to PivotTable, and select “Create Automatic PivotTable”:

The final PivotTable

The final PivotTable

Instantly, you’ll be presented with a great report that provides tallies of student attendance by day (in the screenshot below, I’ve hidden some rows and columns so that you can get a sense of the entire PivotTable):

There’s a column for every student, and the last row in the column shows the number of times a student was present in class. If I need to know the number of times a student was absent, I can get a count of the number of days where attendance was collected by counting the date rows in the first column, and finding the difference.


  1. There are some problems, of course. First, ANGEL doesn’t allow me to IP filter student PIN entries, like it does allow me to IP filter student assessment submissions. Second, students will forget to enter the PIN, which results in an e-mail to me and then me having to log into ANGEL and click a dozen or so links to manual edit the student’s attendance. Lastly, when there are days when I specifically don’t take attendance (like quiz days, where the quiz submission itself is proof of attendance), I still need to remember to go into the ANGEL Attendance Manager and set a default of “Excused” for every student, or else at the end of the semester students will think that ANGEL screwed up by not recording their attendance.

CODE 2600

Last week I had the great pleasure of hosting a screening of CODE 2600, a documentary about the rise of the hacker culture. Rather than rambling on about it here, I thought I’d just link you to a press release about the event, and include a few pictures below. My deepest thanks to everybody who helped out with the event and to everybody who attended.

Filmmaker Jeremy Zerechak

]2 Filmmaker Jeremy Zerechak

Q&A session

]3 Q&A session

Our lucky “volunteer”

I’m reasonably satisfied with the level of classroom participation in most of my classes, but sometimes getting a volunteer to raise a hand can be a little bit of a chore. At the same time, I’m not too eager to call on students by name — or rather, I should say I’m not too eager to be blamed for picking the student to call on. So as is my wont, I wrote a little script (as part of an Alfred workflow) to get what I want, but also to not look like the bad guy.

I haven’t had to use this too much this semester, but when I need it, here’s the procedure:

  1. Fire up Alfred (I set my keyboard shortcut to “double-tap ⌘”) and enter the three-digit code of the course (in this example, “220” for IST 220 – tweak as needed if there are multiple sections of the same course):

    Alfred window

    Alfred window

  2. Press Return.

  3. See a cool notification with the randomly-selected student’s name (which is also shown on the classroom projector):

    Our lucky volunteer

    Our lucky volunteer

If you’re looking to use something like this yourself, it’s pretty easy to set up:

  1. Get yourself Alfred, of course.
  2. Create a plain-text file which contains one student name per line (ANGEL or eLion can help you export this pretty quickly).
  3. Download my workflow and modify it by updating:
    • the pointer to the text file (see the line beginning “set nameFile” in the image below)
    • the keyboard shortcut
    • whatever else you want
The script

The script

Teamwork Tips

I just added a new page, Teamwork Tips, that will be a living document reflecting my best attempt to advise student teams on how to function most effectively. I’ve shamelessly stolen it from Dave Mudgett, at least to start, but will be tweaking it throughout the remaining 200 to 300 years of my life (hopefully?).

You can book me

Like most instructors, I have a few scheduled office hours per week, but I try to make myself available to students as much as possible. On the other hand, I usually prefer to work from home, or somewhere other than my office, whenever possible; I just find that I get more done without the comforting distractions of my own office. To balance these somewhat-conflicting goals, this semester I’ve been experimenting with scheduling student appointments using youcanbookme.com (see my scheduling page at friedenberg.youcanbookme.com). So far, the results have been fantastic, and I encourage anybody with similar needs to give this free service a shot.

This system provides the most value to me in one common scenario: right before or after class, when a handful of students (or more) invariably converge on me and ask about setting up an appointment. In that time-crunched environment, when I’m trying to set up my classroom technology or pack it up so I can turn the classroom over to the next instructor, I can just say “go to friedenberg.youcanbookme.com and pick a time of your choice.”

When students visit my scheduling page, they see something like this:


Main page at friedenberg.youcanbookme.com

The dates and times that are listed as available or busy are determined based on the following settings that I modified in my youcanbookme.com account:

  • Any events that are listed in my linked Google Calendar. In other words, friedenberg.youcanbookme.com updates in real time based on the events that are in my personal calendar (including, of course, other student appointments that have been scheduled with youcanbookme.com). Yes, you must use Google Calendar – and yes, this might involve transition costs for some people. But it has been well worth it for me.

  • Detailed settings of when I would like the system to list me as available (subject to the above). Obviously I don’t want to have students scheduling appointments with me at 3am on a Sunday, so I use the youcanbookme.com management interface to set specific times for each days of the week when I’m “open for business.”

  • Minimum and maximum booking times. Again, there is a simple interface for this. I currently have my minimum and maximum as 5 and 30 minutes, respectively.

After a student (or you, I guess…) clicks on a time, here’s the next screen:

youcanbookme.com booking details screen

The booking details screen

I love this screen. It’s quick and easy to fill out, and I was able to customize it by asking for notes (what the student wants to talk about in the meeting) and the course(s) in which the student is enrolled (I’m ashamed to admit it, but my lookup table between student and course is woefully incomplete).

After the student fills out the form, both the student and I get a confirmation e-mail (see below for mine), and the appointment (including the notes and course) shows up instantly on my Google Calendar. I can easily cancel the appointment (and include a short explanation) if needed.

Scheduling confirmation from youcanbookme.com

Scheduling confirmation from youcanbookme.com