My Teaching Philosophy

I began my teaching career with several concerns at the forefront of my mind. The world was becoming more and more technology driven and an increasing number of college programs, careers, and other opportunities required an understanding of how to harness the power of this technology, if not also how to use it to create solutions to new, unanswered questions. At the same time, this advancement appeared to be dominated by a small group of people, leaving women, people of color, and others who didn’t match the image of the majority out of the conversation and from accessing new opportunities. I learned of the small number of schools that offered computer science education to students and began to investigate the issues of rapid growth, equity, and access facing computer science and STEM education more broadly. These observations empowered me to begin teaching, with the goal of then empowering young people to do the same and better themselves or their world. While my passion for computer science computer science education remains strong, my experience teaching me has led me to refine my understanding of how to achieve my goals and what my role is in that process.

I’ve now taught in a variety of different classes and contexts, and have found the same core principles to be important whether teaching Algebra II or Advanced Programming, new ninth graders or second year college students. In most situations, I view my role now as less of an instructor and as more of a strategist, facilitator, and resource for my students. While there are more considerations that go into my process, these core principles inform my teaching from the course development stage to the lesson planning and into the classroom with students:

  • Creating a safe, supportive, and equitable classroom environment where all students can engage deeply with the material

  • Facilitating learning through student-centered means including inquiry and collaboration

  • Developing ways to ensure I understand each students’ progress as an individual

In order for my students to engage with material, especially that might be new or challenging, they must first feel comfortable and safe to do so in my classroom. Creating an equitable environment is of utmost importance, especially given that historically many computer science spaces have not been equally welcoming to all. This need is compounded by the fact that students come to my classroom with a variety of previous experiences, whether from previous classes or just what they’ve picked up on their own time. To create a positive classroom environment, I work each semester with my students on developing, refining, and reinforcing classroom norms for the space. I also do not assume my students all feel equally comfortable or confident working with others in our classroom, so I work together with them to understand how to collaborate with others respectfully and helpfully, incorporating appropriate differentiated instruction approaches and support systems for each of my students.

In a classroom where students feel comfortable and supported, there is greater potential for student-centered learning to be successful. My experience has taught me that complicated ideas are best understand through exploration and discovery. To facilitate this, I use a variety of classroom strategies, tailored to what essential questions I hope my students to be able to soon answer. To recognize and encourage their individual motivations, I also constantly try to find ways for them to choose how they use and apply their knowledge. Not only do I provide students the opportunity to choose their topic and focus for their projects, incorporate a variety of different skills into assessments, which might include writing code, writing a process reflection, giving a presentation, holding a poster session, or some combination chosen by me and the student. Since we address collaboration skills and creating an supportive environment both before and during these projects, my students are able to work with each other to discover new ideas and give each other feedback.

Understanding and practicing student-driven education has been key to my development as a teacher. Instead of thinking what I will do in the classroom, I first think of what I want my students to leave the classroom with and then what they will need to do to get there. This led me to realize the importance of developing strategies to track and understand my students’ progress more carefully. While a quiz gives some indication of understanding and the amount of participation in class discussion might even too, I focused on developing informal strategies and formative assessments to ensure that I know what each student in my class learned each day. Especially in situations where students are working on a variety of self-selected projects, this became especially important. I’ve incorporated more discussion, more feedback, and more reflection processes into my classes to give me more data points to understanding where each of my students are on their journey to understanding computer science. I have also developed considerably in improving the types of questions I ask in class. In fact, questions are now one of the most important ways for me to facilitate my students learning. Through asking open questions, I can learn what my students understand, what their misconceptions might be, and what previous knowledge they are drawing upon. Instead of questions with correct answers, I now use questions more strategically, which also helps me push them deeper in their thinking and guide them towards discovery.

In all of these three core areas, my relationships with students have proven to be just as essential to teaching my students as my computer science knowledge and experience. While computer science is a skill too frequently kept out of the reach of many and dominated by the few, I’ve learned that just showing kids how to write code isn’t what it takes to empower them, nor is it my goal when I come to school each day. Each day I work to develop a supportive, equitable classroom environment where my students can explore and practice the many facets of computer science. I have found that with this framing of teaching, not only can all types of students learn the valuable skills that I first hoped they would learn, but also much more, including new problem solving strategies, better communication abilities, and a better appreciation for a diversity of ideas and approaches to problems.

  • A.N.Hansberry, January 2018