Teaching Portfolio Narrative

Aaron Bloomfield


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.


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.

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.


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/.