When I began my teaching career I focused my teaching on how I learned best. I avoided doing all the things I did not like about my teachers' methods when I was in school and instead concentrated on how to make learning the most fun activity the students could do. Within the first few months, those ideas changed. As I went to faculty meetings, professional development conferences, and learned words like pedagogy and curriculum and what they really mean, I developed new focuses. While I still want to be a different teacher than some of the teachers that I had growing up and want my students to have fun and enjoy my classes, what I really want is for them to learn skills that when coupled with their interest in any subject will help them grow and innovate as good ethical and social citizens.
When I am preparing a lesson or creating an assessment I ask myself 4 questions, "Am I being clear and concise?", "Am I engaging the students in problem-solving?", "Is my approach working?" and "What critical ethical or social conversations can this encourage?" These questions help me focus on simultaneously increasing a student's knowledge of the subject, their skills as a learner and their moral growth. I will explain each in turn.
Am I being clear and concise? In computer science, I find that students spend considerable effort formulating a mental image of how parts of a computer program interact. As a teacher, it is my job to make my instructions clear and provide ample examples using diagrams, flowcharts, and demonstrations. Materials need to be clear and precise to best display the content as accurately as possible. I strongly believe we are all students and teachers and thus believe teachers should remain flexible and open-minded about how concepts are explained. I welcome student feedback at all appropriate times and am willing to reteach material from a new angle when students are not having difficulty understanding how it was previously taught. I often encourage peer to peer learning.
Am I engaging the student in problem-solving? Computer science, like many other subject areas, was founded on finding solutions to real-world problems. Since computers and programming techniques are complex, solving problems with computers is rarely a simple process. One of the reasons I like computer science is because there is always more than one way to solve a problem. I often do not share my solutions to proposed problems when working on examples or demonstrations in class. I prefer to start by asking the students what we should try first. I often tell my students that the science in computer science is because everything is an experiment. To quote a favorite childhood tv character and science teacher, Ms. Frizzle, "Take chances, make mistakes, and get messy!" After we try a few approaches and get our results, I then share my approach. This approach allows students to compare and contrast their approaches and experience that special sense of accomplishment when they successfully solve a challenging problem.
Is my approach working? When dealing with computers, which frequently get updated as technology grows and becomes more advanced, aggressive preparation is already a forgone conclusion. Discovering that different students and different groups of students learn in different ways was an awakening. Since beginning my teaching career I have changed the way in which I present material to students almost every year. I try to stay amenable and provide ample benchmarks for feedback and tinkering to my approach to best address gaps in students' understanding as well as their individual needs. This may involve, more/different visualizations, describing a concept with an analogy from their prior experiences, writing code with them or looking for more relatable real-world problems. Additionally, I allow students to collaborate on the more difficult assessments and sometimes allow students to expand assessments to provide them with requirements that engage their individual abilities.
What critical ethical or social conversations can this encourage? One of the big reasons I became a teacher of computer science instead of staying in the field as a software engineer is that I wanted to help educate students on the ethical and social issues surround technology and inspire students to become good digital citizens. While I know, not every unit will cause an ethics debate, I try whenever possible. Often, between units, I take a few days to pause and discuss an ethics in technology question. Topics include privacy and security, hacking and hacktivism, social media in school and workplace settings, and cyber bullying and terrorism. When very controversial issues arise in current events I will also pause teaching in a unit to discuss and debate. Always mindful to encourage students to think critically and deeply on the matter and try to see both sides of the issues and not just theirs. Ultimately it is my philosophy that teaching is about helping students grow as ethical learners and increasing their knowledge about a subject. Continually asking these four questions keeps my focus on both of these aspects.