This
narrative is based largely on my experience during this past year
teaching at the University of Virginia (2004-2005), in which I taught
four classes, the same two each semester. The first course was an
introduction to computing class (CS 101), with 420 students during
the spring 2005 semester. The second course was a discrete
mathematics class (CS 202). The challenge in the former is managing
and running a class of that size; the challenge in the latter is
presenting some rather dry course material while managing to make it
interesting to the students.

Teaching
Philosophy

If you know the enemy
and know yourself, you need not fear the result of a hundred battles.

If you know yourself but
not the enemy, for every victory gained you will also suffer a
defeat.

If you know neither the
enemy nor yourself, you will succumb in every battle.

– Sun Tzu, Art
of War, chapter 3 (Lionel Giles' translation)

This
is a rather strong statement, and many might consider it's use in a
teaching narrative to be rather controversial – students should
not be referred to as “the enemy”, for example. Yet this
quote formulates the basic tenet upon which my teaching philosophy
(and much of my personal philosophy) is based. As with many things
that originate through a military purpose, it has significant
applications to non-military uses.

I
interpret this statement to mean the importance of understanding the
other side, whether that side is an enemy in a military campaign or a
student in your class. In a pedagogical context, suffering a defeat
means doing an inadequate job of teaching.

One
application of this quote is that an instructor needs to understand
the students' level of knowledge coming into the class, and what they
are capable of doing within the course – fourth year students
are more capable than first year students, for example. In my
introduction to computing class, none of the students have programmed
before. Indeed, some have never used a computer before. I need to
understand these various levels of knowledge so that I can
appropriately direct the lectures and make them comprehensible to the
students, for it is very easy to teach at a level far above what the
students are capable of learning. There are many professors who are
hard to understand – these are instructors who do not
understand their audience. While they might be perceived as
brilliant, they are not performing any pedagogically useful function.

Another
aspect of understanding my students is to understand their perception
of the class, so as to determine what areas need improvement. In my
discrete math class, for example, the students were not happy with
the homework grading policy, as they felt it was too harsh. Once I
realized this, I made the appropriate modifications, which fixed the
discontent. I attempt to obtain a large amount of feedback
throughout the course to better understand their point of view. For
each assignment in CS 101, the students fill out short surveys about
the difficulty of the assignments, as well as providing general
comments; I give out mid-semester evaluations (“how am I doing”
type of questions); I ask many more questions at the end of the
semester than the standard dozen questions. Indeed, the students
know how much I appreciate feedback: one student even prefixed her
comments with, “I know you like feedback...”. On my end
of the semester course evaluations for my 420 student course, I
received a 95% response rate – this was without requiring or
forcing them to do the surveys, and after adding 30 additional
questions to the survey. One of the reasons that I get such good
feedback rates is because the students know that I am interested in
the feedback, and that I take their suggestions seriously. They have
seen me make modifications during the semester based on their
feedback, and they appreciate this.

The
best way to relate to anybody is to understand their culture. For
faculty members who are well over a decade older (at least!) than the
students they teach, this can be quite a challenge, but it is very
worthwhile. As an example, two rap artists (50 Cent and The Game)
recently settled a feud. While I do not listen to rap music myself,
a lot of my students do. Knowing about the end of the feud (from
watching The Daily Show), I was able to mention it in class, which
surprised the students. The students thought it was 'cool' that I
knew this, and it helped me to better relate to them.

The
last line in Sun Tzu's quote talks about understanding yourself.
This means one needs to know one's own strengths and weaknesses. It
is easier, I believe, to see the former, yet the latter is what one
must work around in order to improve a course. As an example, I was
very bad with getting my homework solutions available to my students
in a timely manner. Understanding this as a weakness, I delegated
that task to one of my teaching assistants, which solved the problem.
In a further effort to understand and improve upon my weaknesses, I
constantly strive to improve my teaching – I don't believe that
anybody ever is perfect, and there are always improvements that one
can make. Initially, those improvements are big steps; later on,
they become small tweaks to one's teaching style. To this end, I
have participated in all of the teaching resource center workshops
offered since I started last as a faculty member.

Teaching
Methods

Over
the years, I have seen my share of good instructors and my share of
poor instructors. Distilled from that experience is my belief that
quality teaching is based on three fundamental and interrelated
principles: careful planning, good strategies, and personal
investment. Attention to all three allows me as a teacher to build
strong courses, explain core concepts in accessible ways, and reach
out to students with different needs. Together, they coalesce into
a commitment to caring: caring for the course as a whole, caring for
the subject matter, and caring for students.

Perhaps
the most obvious element to successful teaching is careful planning.
When I plan courses, I work to make all the components –
lectures, labs, homework, slides – into a coordinated whole.
Lectures, for example, should not only explore key concepts on their
own, but should interrelate concepts to form a foundational framework
which prepares students for further coursework and exploration.
Homework assignments, for their part, should not be a set of random
exercises, but rather thoroughly integrated into the course so as to
support and expand on material presented in lecture. Finally, labs
should not ‘make-up’ for things left out of lectures, but
should complement those lectures, offering students a more hands-on,
interactive learning environment. I provide a few assignments that I
created in appendix D. In all elements of the course, then, I work
to provide students with as many different ways of learning,
investing ahead of time in planning out how to fit all those parts
together.

Organization
is another aspect to careful planning – indeed, it was
paramount to ensuring that my 19 teaching assistants for CS 101 both
knew and performed their jobs properly. In this context,
organization took the
form of well structured meetings with the teaching assistants and
clear directions as to what their job entailed and what was expected
of them. Another part of organization is a well structured website;
I view the website not just as a reference to the class, but as one
of the main methods of communicating with the students. All the
homeworks, exams, labs, and grades are available to the students via
the website. The students appreciated the website, as evidenced by
this comment: “very well organized course and website which
made it easy to know what was going on and what needed to be done.”
The students also appreciated the overall organization of the
course: “well
organized worthwhile class”, “very
logically organized”, and “the
course was very very well organized and well planned” were some
of the student comments. Pursuant to my belief that course
organization is very important, I try to include as much organization
in my course syllabus as possible. The concern, of course, is that
by including too many rules and regulations, it will be a detriment
to the course, yet I believe that I have found a proper balance. The
syllabi and the websites for my courses are available in appendix A.
In an effort to improve the organization for my teaching assistants,
I developed an online grading system that was used for CS 101. This
system is described in appendix F.

Planning
activities designed to reach out to students in different ways points
to the second aspect of successful teaching: good strategies. To
some degree this is a question of adapting to different learning
styles. Students come to computer science courses with different
ways of learning. Some of these are accommodated well within
standard college courses, whether through lectures, recitations or
labs, homework, textbook assignments, office hours, etc. For some
students, however, standard methods do not work very well. My
challenge as an instructor, then, is to determine how
different students learn, and to structure activities and develop
strategies to work with and for those different styles. Central to
doing this is to see the subject material from the students' point of
view. One way to reach out to those new to the field is to build off
what they already know, either through analogies to their
non-computer related education, or by demonstrating the applicability
of a concept through specific examples. Teaching by example or
analogy alone is never enough: used well, however, it helps students
grasp the fundamental language, concepts, and paradigms of computer
programming. Taken together with attention to different learning
styles, examples and analogies provide the foundation for good
teaching strategies.

Finally,
successful teaching revolves around investing in students as
individuals. Good planning and successful strategies on their own
are liable to failure if the students do not sense a commitment to
them as learners and as people. As a group, students need to feel
empowered to explore new concepts. As individuals, students need to
feel comfortable asking questions, requesting assistance, and
expecting support. In courses where I have designed additional
materials to explain particularly difficult concepts, students in my
labs said that they felt more confident that they could make sense of
things, knowing that I was trying to help ensure their success.
Obviously not all students will ask for help in all courses or in all
contexts. And I do not believe in handing everything to students on
a silver platter; they need to work hard to learn the material being
taught. But they do need to know that they have access to the
support they need in order to master what is to many an entirely new
field. For it is that sense of confidence in them as individual
learners that will empower them to explore programming further.

Approachability
is another key concept in investing in the students – the
students need to know that they can seek help either in or outside of
office hours. I believe in being very available for the students –
in fact, I keep my office door open at all times for this reason.
This must have it's limits, however, especially in a class of 420
people. Although I direct students to my office hours, I will make
time outside of them when necessary. Indeed, two students needed a
significant amount of extra help in the course – one had never
used a computer before. I met with them for a total of over 10 hours
each during the semester, all outside of office hours. I try to make
my students comfortable coming to see me to ask questions. Towards
the end of the semester, a few students felt comfortable enough to
stay in my office after office hours to finish up their assignments.
This is the level of comfort I try to foster, as when combined with
the appropriate distance of a teacher-student relationship, allows
for greater student learning and investment.

Humor

Students
paying attention for an entire 75 minute lecture is simply not going
to happen, no matter how good the professor is who is teaching the
class. Students are used to constant stimulus in their lives –
from 24 hour cable TV news to the Internet to video games. Thus,
sitting still for 75 minutes in a lecture is a very difficult
situation for them to learn effectively. There have been studies
done that show that the average adult attention span is 20 minutes
(reference in appendix E). While many students may have an average
higher than this, it is unlikely that their average attention span is
the 75 minute length of a class. Understanding this, I take humor
“breaks” during the lecture, and try to have them every
20 minutes or so – thus, 2 or 3 a lecture.

Humor
is very important aspect of my life and how I teach. People enjoy
things more when they can laugh about them. The challenge, of
course, is how to make subjects such as discrete mathematics
humorous. The purpose for bringing in humor is two-fold. First, it
allows people to enjoy the learning experience more. I have had my
entire 420 person lecture hall laughing and applauding at some of the
humorous tidbits I bring into class (I'm not particularly funny
myself; I just bring in humorous or interesting asides that I've
found). Secondly, and perhaps more importantly, it allows the
students to take a break from the lecture material. This helps bring
their attention back to the material once the humor break is over. I
always explain these reasons for the humor breaks during the first
class. In particular, the breaks are often unrelated to the material
being discussed, as that gives them a chance to focus on something
else for a moment or two, so as to reset the mind so they can come
back refreshed to the course material. As one of my students phrased
it, “he understands that students do, in fact, have a limited
attention span, and his attention to giving humorous asides between
lectures keeps the class focused and attentive in general.” By
understanding the lecture from the students' point of view, I am able
to make the appropriate modifications to enable them to better pay
attention and thus to better learn. This also makes the lectures
more enjoyable, and causes them to be more interested in the class
material.

Much
of the extant humor relevant to my classes is very specific to the
field, and will not get much of a
reaction (if any!) from a large class. Thus, I often use humor that
is not related to the field I am teaching. Consider what was
recently voted on as one of the most funniest jokes:

Sherlock Holmes and Dr.
Watson go camping, and pitch their tent under the stars. During the
night, Holmes wakes his companion and says: "Watson, look up at
the stars, and tell me what you deduce."

Watson says: "I see
millions of stars, and even if a few of those have planets, it's
quite likely there are some planets like Earth, and if there are a
few planets like Earth out there, there might also be life."

Holmes replies: "Watson,
you idiot. Somebody stole our tent."

This
joke is humorous if people know Sherlock Holmes. This joke is as
clean as jokes can get, but it's really not all that funny. And in a
class of 420 students, it is not likely to bring more than a few weak
smiles.

A
line exists between what sort of humor is appropriate in a class and
what is not, and a lot of the really funny humor is on or beyond that
line. Consider the topics that professional comedians joke about –
most of it is very politically incorrect! I have even crossed that
line once or twice. While I do my best to say on the proper side of
that line, I feel that one must push the envelope to get the best
results. There is no point to bringing in humor into class if it is
not funny.

The
challenge, therefore, is to find humor that is relevant, funny, and
appropriate. Lacking the relevancy to the topic being taught, the
goal is to bring in funny material while pushing the appropriateness
envelope as much as is comfortable in order to gain humor value. I
have included a set of all my humor slides in appendix B; I show a
couple of these in each class. Not all of the slides are humorous by
themselves; but with the proper showmanship, they are all capable of
generating a positive response from the students.

These
humor breaks need not always be funny material, however – I
often bring in interesting tidbits to share, even if they are not
humorous. Some of them have been quite sobering. One example is a
list of the top software errors of all time – one of which cost
the lives of 28 servicemen and servicewomen in the 1991 Gulf War.
This manages to achieve the same goals as a humorous break – it
allows them to change their attention for a moment to a topic that,
if not humorous, is quite interesting. This example is particularly
applicable, as it also shows why we teach good programming practices:
so these sorts of mistakes won't happen.

One
my goals with the humorous asides is seamlessly working them into the
course material in the form of demonstrations. One example is when I
demonstrate the concept of binary search, an algorithm for finding an
element in a sorted list. To demonstrate this, I dramatically tear a
phone book to shreds in front of the class. And the students loved
it! They even applauded once I was done (and the phone book was in
tatters and strewn across the lecture hall). This demonstration
served so many purposes – it illustrated the concept precisely,
their attention span returned, and it was very entertaining.

The
students felt that these breaks have helped: “[the humor
breaks] immediately brought me back to focus and after they were over
I was able to maintain for the rest of the class”, “he
also understood that 75 minutes is a long time to sit and
listen to someone lecture so he broke class up with jokes which
really helped keep the students paying attention”, as well as
many other similar comments.

Evidence
of Teaching Success

I
believe there to be two aspects to being a successful teacher: making
the students learn, and making them enjoy learning. The former is
rather obvious, as that is the job of a teacher. Ensuring that the
students enjoy the material, though, is just as important as the
learning itself. If the students enjoy the class, they will want to
learn more, both within the class and outside of it. This too, is
the job of a teacher – to encourage learning beyond the
classroom. Consider this comment: “I just wanted to thank you
for a great class. I only took CS101 because I had to for my math
major, but I ended up enjoying it and learning a lot with your help.”
Although this student may not pursue computer science, she certainly
enjoyed the course!

The
student comments I have received also help paint the picture of my
success at teaching. Some of the comments are included here.

“The
instructor was a fantastic lecturer, and the material is definitely
worth learning”

“Aaron
Bloomfield was an excellent
lecturer. Well-prepared, very good slides, awesome humor breaks”

“Coming
into this class, I expected to really hate it. However, I ended up
actually enjoying it. Bloomfield did a really good job of clearly
presenting material and explaining it in depth.”

“Prof.
Bloomfield explained everything clearly in class, and was very
willing to help me outside of class. If he realized after lecture
that he had made a mistake or not explained something clearly, he
would go over it again in the next lecture, rather than passing over
it.”

“Bloomfield
is a most excellent teacher. I'm glad they let/made him teach
CS101.”

“Professor
Bloomfield was one of the best teachers I have ever had.”

“This
is my favorite class with my favorite professor here at the
University.”

With
only one exception, of all the comments I've received (I probably
received close to a thousand this past year) the only neutral or
negative comments have been about other aspects of the course
(lecture size, textbook, etc.). All of my student evaluations (not
just a few selected “good” ones) are available in
appendix A.

In
recognition of my teaching success, I have received a number of
teaching awards. In the spring of 2005, I was awarded the ACM
Professor of the Year award by the UVa student chapter of the
ACM (the computer science society). This award is voted upon by the
students, which makes it particularly meaningful to me. As a
graduate student at the University of Pennsylvania, I also earned two
teaching assistant of the year awards, one department-wide and one
University-wide.

Perhaps
just as important as my own success has been my students’: in
the courses that I’ve taught, my sections’ exam average
consistently beat the class average, sometimes by as much as 10%.
Finally, my students tell me that I have made a difference: there is
nothing more satisfying than to have a student come up to me after
years with many other instructors to tell me how much he or she
enjoyed my class. Great teachers have made a difference in my life.
I enjoy being able to make such a difference in other people's lives.

Appendices

In
an effort to make the size of this teaching portfolio manageable, the
materials in the appendix are available online, and are not included
in the printed (or PDF) version of this portfolio. The URL for the
appendices is http://www.cs.virginia.edu/~asb/portfolio/.