TL;DR - “Best Practices” of Student Learning (And how to bust them)
ments. Perhaps they are doing just-in-time
learning, or maybe they are getting by with
assistance from teaching assistants and/
or peers. More than likely they use another
substitute for actual learning:
(as in stackoverflow.com)
Programming, for many of our students,
begins with a Google/web search, followed
by copy and paste (see tweet from [ 4]). If
an electronic text is provided, then copy
and paste is still the preferred methodology
for writing code. Work on programming assignments typically begins with a scramble
to search for a solution online. Searching
for answers to programming problems invariably yields top hits on solutions posted
at Stack Overflow. Never mind that about
half the answers posted are often either
incorrect, or misleading. Better answers
offer links to actual reference manuals. But
then you still must read the description.
Unfortunately, as hip as our students may
be to the trendiest internet memes, RTFM
(read the manual) isn’t one of them. And,
we’re back to where we started.
So how to bust the TL;DR and
Stack Overflow habit?
Unfortunately, this is not an easy question to answer. I do believe that individual
motivation and engagement plays a big
role. Several in our community are using
the flipped classroom model. However, that
still leaves the responsibility for doing the
reading to the students. Many of us give
short quizzes to see if the students are
keeping up with the materials. These do, to
some extent, serve to remind students of
the importance of doing their homework.
I have also observed that, when faced
with impending graduation and the task
of starting a career, many students do a
whole lot of reading in preparation for
their technical job interviews. Obviously, it would be futile to try and cram the
past three years’ worth of readings into a
weekend of intensive readings. To prepare
for technical interviews, students are not
reading the texts we prescribed to them.
If they ever bought (or rented) the texts,
they no longer own them. Instead, numer-
ous books are now available that promise
to prepare you enough to “nail” or “crack”
technical interviews. With titles like, Crack-
ing the Coding Interview (now in its Sixth
edition!) and Elements of Programming
Interviews in Java, [ 1, 3], etc. Whether these
books work or not, or even if the students
read them, you certainly see
students clutching these while
walking around the campus
during recruiting season. Also, it should
come as no surprise that most of these
books essentially present the same core
concepts we try to teach in our courses.
Do we ever teach or provide an opportunity in our courses for students to find
and learn to read the reference manuals?
Often, we neglect to do that. It is important to recognize, even among ourselves,
that knowing the core algorithms and data
structures is different from knowing how
to implement them. We need to be more
deliberative about these distinctions and
prepare our pedagogical plans accordingly.
I have started holding closed-labs for my
classes, including upper-level courses. In
these labs, one can limit the use of web
searches and teach them how to use online
reference manuals for finding answers. This
is an important skill. However, the model
may not be feasible for large classes at
many universities. But, integrating reference lookups during lectures also helps.
Perhaps this might be a possible solution
to break the Stack Overflow habit.
We would like to believe that if our stu-
dents undertake all the requirements for a
computer science degree—take a dozen or
more computer science courses, complete
a capstone course in computer science,
perhaps even do an internship or two
along the way, participate in hackathons,
and at the end have a better than passing
grade point average—then they will be
well on their way to becoming a comput-
ing professional. For many of them, there
is proof in the knowledge that they have
secured a well-paying job in the industry.
And so, we can revel in graduation festiv-
ities, wish them all good luck, and bask
in the satisfaction of another successful
academic year and a job well done.
Dear reader, if you didn’t TL;DR this
column, thank you!
1. Aziz A., Lee, T-H, and Prakash, A. Elements of
Programming Interviews in java. Version 2.0.0. Self-published by authors. 2016.
2. Jovic. B. I’m graduating with a Computer Science
degree but I don’t feel like I know how to program;
revisions/43528/1 May 12, 2010. Accessed 2017 May
3. Laakmann McDowell, G. Cracking the Coding
Interview – 189 Programming Questions & Solutions.
Sixth Edition. (Palo Alto, CareerCup, 2016).
4. @nixcraft Another thank you note for the degree in
programming or CS. Twitter Tweet; https://twitter.
2017 May 10.
Bryn Mawr College
Bryn Mawr, Pennsylvania 19010 USA