Archives

Imagine
a first-year computer science concentrator (let’s call him Luis) e-mailing
friends and family back home after a few weeks with Brown Computer Science (BrownCS). Everything he
expected to be challenging is even tougher than anticipated: generative recursion,
writing specifications instead of implementations, learning how to test his code
instead of just writing it. Worst of all is the workload. On any given night, he’s
averaging –this seems too cruel to be possible– no more than eight or nine
hours of sleep.

Wait,
what? Everyone knows that CS students don't get any sleep, so eight or
nine hours is out of the question. Or is it? Recent findings from PhD student Joseph Gibbs Politz, adjunct professor Kathi Fisler, and professor Shriram Krishnamurthi analyze when
students completed tasks in two different BrownCS classes, shedding interesting
light on an age-old question: when do our students work, and when (if ever) do
they sleep? The question calls to mind a popular conception of the computer
scientist that Luis has likely seen in countless movies and books:

Hours are late. (A recent poster to boardgames@lists.cs.brown.edu requests a 2 PM start time in order to avoid being “ridiculously
early” for prospective players.)

Sleep is minimal. BrownCS alumnus Andy
Hertzfeld, writing about the early days of Apple Computer in Revolution in
the Valley, describes the “gigantic bag of chocolate-covered espresso
beans” and “medicinal quantities of caffeinated beverages” that allowed days of
uninterrupted coding.

Part 1: Deadline Experiments

The
story begins a few years before Luis’s arrival, when Shriram would routinely schedule
his assignments to be due at the 11:00 AM start of class. “Students looked
exhausted,” he remembers. “They were clearly staying up all night in order to
complete the assignment just prior to class.”

Initially,
he moved the deadline to 2:00 AM, figuring that night owl students would finish
work in the early hours of the morning and then get some sleep. This was
effective, but someone pointed out that it was unfair to other professors who
taught earlier classes and were forced to deal with tired students who had
finished Shriram’s assignment but not slept sufficiently.

“My
final step,” he explains, “was to change deadlines to midnight. I also began
penalizing late assignments on a 24-hour basis instead of an hourly one. This
encourages students to get a full night’s sleep even if they miss a deadline.”

This
was the situation when Luis arrives. The next task was to start measuring the
results.

Part
2: Tracking Events

Shriram,
Kathi, and Joe analyzed two of Shriram’s classes, CS 019 and CS 1730. For each
class, Luis must submit test suites at any time he chooses, then read reviews
of his work from fellow students. He then continues working on the solution,
eventually producing a final implementation that must be submitted prior to the
midnight deadline.

Part
3: Reality And Mythology

Given
these parameters, what work and sleep patterns would you expect? We asked professor
Tom Doeppner to reflect on Luis and share his experience of working closely
with students as Director of Undergraduate Studies and Director of the Master’s
Program. “Do students work late? I know I get e-mail from students at all hours
of the night,” he says, “and I found out quickly that morning classes are
unpopular, which is why I teach in the afternoon. Maybe it’s associated with
age? I liked to work late when I was young, but I got out of the habit in my
thirties.”

Asked
about the possible mythologizing of late nights and sleeplessness, Tom tells a
story from his own teaching: “Before we broke up CS 169 into two classes, the
students had t-shirts made: ‘CS 169: Because There Are Only 168 Hours In A
Week’. I think there’s definitely a widespread belief that you’re not really working
hard unless you’re pulling multiple all-nighters.”

This
doesn’t exactly sound like Luis’s sleep habits! Take a look at the graphs below
to see how mythology and reality compare.

Part
4: Results And Conclusions

The
graphs below depict test suite submissions, with time displayed in six-hour
segments. For example, between 6 PM and the midnight deadline (“6-M”), 50 CS
173 students are submitting tests.

This
graph is hypothetical, showing Joe, Kathi, and Shriram’s expectations for
submission activity. They expected activity to be slow and increase steadily,
culminating in frantic late-night activity just before the deadline. Generally
taller “M-6” (midnight
to 6 AM) bars indicate late-night work and a corresponding flurry
of submissions, followed by generally shorter “6-N” (6 AM to noon) bars when
students tried to get a few winks in. Cumulatively, these two trends depict the
popular conception of the computer science student who favors late hours and
perpetually lacks sleep.

These
graphs show actual submissions. As
expected, activity generally increases over time and the last day contains the
majority of submissions. However, unexpectedly, the “N-6” (noon to 6 PM) and “6-M”
(6 PM to midnight) segments are universally the most active. In the case of the CS
173 graph, this morning segment contains far more submissions than any other of
the day’s three segments. In both of these graphs, the “M-6” (midnight to 6 AM) segments
are universally the least active, even
the day the assignment is due. For example, the final segment of this type,
which represents the last available span of early morning hours, is among the
lowest of all segments, with only ten submissions occurring. In contrast, the
corresponding “6-N” (6 AM to noon) shows more than four times as many
submissions, suggesting that most students do their work before or after the
pre-dawn hours but not during them.

“I
wouldn’t have expected that,” Joe comments. “I think of the stories folks tell
of when they work not lining up with that, in terms of staying up late and getting
up just in time for class. Our students have something important to do at
midnight other than work: they cut off their work before midnight and do
something else. For the majority it’s probably sleep, but it could just be
social time or other coursework. Either way, it’s an interesting
across-the-board behavior.”

If
word of these results gets out, what can Luis and his fellow students expect?
“People will realize,” Shriram says, “that despite what everyone likes to
claim, students even in challenging courses really are getting sleep, so it’s
okay for them to, too.” Joe agrees: “There isn’t so much work in CS that you
have to sacrifice normal sleeping hours for it.”

Luis,
his family, and his well-rested classmates will undoubtedly be glad to hear it.
The only question is: will their own descriptions of their work/sleep habits
change to match reality, or are tales of hyper-caffeinated heroics too tempting
to resist?