Frances Perry - Teaching Statement
I can best describe teaching as the process of refining collaboration skills.
Successful teaching happens when both students and teachers increase their understanding and improve their ability to
communicate problems, solutions, and the
thought process in between.
One class in particular has shown me that teaching is a continuing process.
While at Cornell, I was very involved in the third course for computer science majors: Data Structures
and Functional Programming. I went through this course five times — first as a student, then as an undergraduate consultant,
and finally three times as a teaching assistant. Each iteration gave me a chance to improve my understanding and communication,
until I could think as a student and a
teacher at the same time.
One of the fundamental difficulties I find in teaching is
taking a concept that I know incredibly well and even take for granted, and breaking it down and explaining it
to someone with little or no background in the area.
When I first became an undergraduate consultant at Cornell,
I could help students convert a general feeling of confusion into a concrete list of questions,
because I had just worked through the same problems myself six months before.
But although I understood the questions and their solutions,
I had trouble helping students find the connections for themselves.
As I took other courses
in compilers and programming languages, I was able to draw on that knowledge to develop cleaner explanations of the basic concepts.
Whenever I teach, I keep this progression from student to teacher at the front of my mind. Our goals
as teachers cannot be realized unless we can see a concept from the students' point of view as well.
Each person thinks
and understands in a slightly different way, and teaching methods must reflect this.
Since
I don't always know the individual background of each of
my students, I can't know exactly what explanations will work.
At Cornell, I had a unique opportunity to start out as an "apprentice" teaching assistant.
With two teachers, we were able to explain confusing concepts from different angles
until every student understood.
Now I listen to my students to gain those alternate views. When a student explains something in his own words, it
gives me yet another slight twist or new example to
use when helping another student grasp the concept.
I am a firm believer in group work, but
the benefits come from the
additional communication when
students must constantly articulate their thought processes and justify their decisions to each other.
Given that students are busy, there is always the temptation to divide group assignments arbitrarily, meeting
only moments before the deadline to attempt to glue the pieces together.
To avoid this, I encourage students to work together as best fits the project:
for lower-level courses, pair-programming can help students
become familiar with the language and find bugs more quickly;
in upper-level courses with large projects, each group needs to define clean interfaces
and decide on a division of tasks so that the project can be divided into modular chunks.
At Princeton I have continued to be involved with teaching. I have been a teaching assistant for two undergraduate-level
courses, as well as a mentor for a summer program that gives prospective undergraduate
majors a chance to choose and explore a large project. As a McGraw Teaching Fellow this past year, I was
responsible for training 21 second-year Computer Science graduate students who
were about to be teaching assistants for the first time. This gave me an opportunity to reflect on and
communicate my teaching philosophy, while applying it at the same time.
I am qualified to teach courses in programming languages and compilers, as well as general
undergraduate courses on introductory programming, data structures, discrete math, and logic.
I plan to develop graduate seminars
focusing on program analyses and language-based security. I especially look forward to working
with both graduate and undergraduate students on independent research projects.
Having experienced many different approaches to teaching, both as a student and a teacher, I constantly
evaluate what works for me as the teacher, and more importantly, what works for my students.
I look forward to continuing to improve my teaching skills and having the opportunity to design and refine courses.