Things I want all students to leave my curriculum believing:
1. Computer Science is fun.
I majored in Computer Science because when I first was given the power to change bits on registers I was filled with glee. I’ve always loved logic puzzles, and enjoyed solving problems. The reason I got into Computer Science Education is that I had so much fun programming and I wanted more people to get the chance to have as much fun as I did. It is easy, amidst discussions of “economic needs” and “social justice” and even “computational thinking” to forget that the reason I got involved in the first place is “fun.”
It is the job of the curriculum developer to find the “fun” in what they are teaching, and share it with their students.
Inherent in this idea is what makes something “fun.” I believe thoroughly in what Seymour Papert calls Hard Fun. Things can be fun because they are hard when they are also motivating.
2. Programming makes things.
While programming for it’s own sake can be fun for some people, (me, for instance) generally when people are programming it is because there is a thing that needs to be made. These things can be expressive pieces of visual art or music. These things can be silly fun for fun’s sake. These things can revolutionize the world, they can make our lives easier. The important thing is, they are “things.” CS doesn’t exist in a vacuum. Therefore, classroom CS should not exist in a vacuum.
The Girls Who Code Clubs program, for instance, starts with the students defining their communities, a way that community might need to be impacted, and an audience for some computational product that can create that impact. All computer science concepts they learn, they learn because they are creating this project.
3. People “like them” program
I don’t necessarily believe “You can’t be what you can’t see,” but it’s certainly a lot easier to recognize that you can be something you have seen, and there are plenty of good examples of diverse people in tech.
The main picture of a programmer most people have in their heads is a sci-fi loving cisgendered heterosexual white male from a rich suburb. I’m glad people like that program, but there are so many other types of people who do as well! There are many diverse people working in programming. They have diverse interests (musicians, politicians, dancers). They have diverse job descriptions (data scientists, designers, backend developers). There are racially diverse programmers. There are programmers around the world. Women are a huge part of the history of computers. You are almost certainly not the first person “like you” to have become interested in programming.
Knowing this can help students identify as computer scientists, and spark their interests.
It is our job as educators to expose students to role models that they may not otherwise have known existed. We can question students’ preconceptions of who a programmer is, what they look like, and what they do, just with the examples we give in the classroom.
4. As a matter of fact, it is imperative that people like them program
Programming is a tool. People can only use tools they know exist. Therefore, we need people with all kinds of backgrounds and interests that know how to program so that all kinds of different problems can be solved with this powerful tool.
It took a musician (Imogen Heap) to create gloves that let her create music expressively with her hands using MiMo gloves.
It took a Native American man (Darrick Baxter) to create Ogoki learning, an app that helps Native American children learn their language.
It to a trans woman (Tegan Windmer) to create Refuge Restrooms, which helps trans people find safe gender neutral restrooms.
5. They are capable of programming as long as they persevere.
Every programmer eventually hits a roadblock where the programming is hard. What makes a programmer is staring that hard thing down, embracing it and figuring it out. The art of Googling is as important to a programmer as the art of deftly using variables, loops, conditionals, and functions. Students need to know that they can always grow and improve.
As teachers, we need to give our students tools to persevere. We need to teach them how to channel frustration. We need to help them figure out how to ask Google the right questions. We need to show them we believe in them until they have no choice but to believe in themselves. It is our job to praise effort (when actual effort has been shown) and not just results.
It is our job to set our students up for success, so that they learn they can be successful.
What makes a good lesson:
1. Designed for variability from the beginning.
Students will come with a wide variety of backgrounds, interests, and abilities. Every single one of them can learn and love computer science. Follow the UDL framework; give students information in more than one way, accept students’ way of showing they understand in a way that works for them. Build lessons that are easy to adjust to an individual, like the seat of a car. Adjusting a lesson that wasn’t built to adjust is much less effective, and harder to do.
2. Students are creating things that matter to them outside of the classroom context
It is one thing to make a program that calculates Fibonacci numbers for a grade. It is an entirely different to create a choose your own adventure story that you want to share with a friend later. Both might teach the same concepts, but one also teaches #1 and #2 from above.
3. The lesson is student-driven and engages students’ natural curiosity.
Students should be actively doing something more often than the teacher is lecturing.
My ideal lesson works the way the exhibits in the Exploratorium in San Francisco do. It is clear that the creators of a given activity have learning goals in mind for you. They get to those learning goals by giving you something to play with, asking you questions that lead you to their learning goal. The entire experience is designed and directed by the exhibit designer, but it feels like it was directed entirely by you, the person playing with the exhibit. Students should always feel like they are directing their own learning, even when the experience has been carefully constructed to lead them down a particular path.
I do not think this is as important as some of the other things above, but I have read enough research to realize that connection to others can be a powerful motivator for students. Learning how to work well with other people is also a key skill that can be taught.
(I feel like it is worth noting that I have never created a lesson I thought did all of these things well at once, but a philosophy document is for putting down your dreams.)
Things I believe as a teacher:
1. No education is politically neutral.
(a quote from bell hooks in Teaching to Transgress)
Unless you actively try to contradict and counteract the power structures that exist in the world, your classroom will reflect them. “Neutral” is the same as “helping those with power.” I try to be aware of lots of different kinds of oppression, so I can support students in my class.
2. Whether you think your students can or can’t succeed, you will be correct.
Students rise to even the highest expectations when you put in the scaffolds to get them there. This applies to really young students. This applies to students who have a rough home life. This applies to students with disabilities. If you enter knowing your students are capable, you will figure out how to bend the curriculum to the needs of the student.
If you don’t believe they’re capable, you’ll never give them the chance.
3. The most powerful thing you can do for a student is teach them how to learn.
It is most powerful to teach this through example; learning alongside your students can be a great way to teach your students how to learn. When your student runs into a bug that even you don’t know how to fix, it is an excellent opportunity to show your students how you deal with a bug you don’t know how to fix.
5. Play is powerful. Students are naturally curious.
See #3 from “What makes a good lesson”
4. You can always improve.
Learn from your students. Learn from other teachers. Learn from books and experiences that you wouldn’t even recognize had anything to do with teaching. Reflect on your work.
I believe this as a human being, not just as a teacher.