There has been a lot of excitement lately in the news about the importance of teaching students to code, but in the midst of all the excitement, many students, parents and teachers have been turning to single dimension solutions that entail learning to program separate from the underlying pedagogy of computational thinking and creative problem solving. As a computer science teacher, I am thrilled by the renewed interested in coding, however, it is not enough.
When I began teaching computer science, over six year ago at Fraser Woods Montessori (FWM) School in Newtown, CT, my initial approach was to focus my energy and my students’ learning on the mechanics of programming. However, my recent switch this past August, to the University of Chicago Laboratory Schools (Lab), where I am now teaching computer science (for graders 5th & 6th) has prompted me to rethink my educational philosophy and goals to focus on computational best practices.
Originally, when I began incorporating programming into my curriculum at FWM, I did not think beyond the acquisition of programming skills. My lessons simply focused on teaching a variety of different programming languages (i.e. Scratch, App Inventor and HTML). So when I started developing my curriculum for Lab, my initial approach was to simply adopt those lessons from my old school. As the school year began to unfold, I realized that I wanted my students to understand and internalize so much more. According to the Partnership for the 21st Century, “A focus on creativity, critical thinking, communication and collaboration is essential to prepare students for the future”. I had examined these skills in the past, written about them, and even referred to them in conversations with fellow faculty and administrators, but I had never truly internalized them.
At first I had no idea where to begin my quest to re-design my curriculum. Thankfully, I was not alone. Conversations with Baker Franke, Marty Billingsly and Karen Putman, colleagues and fellow computer science teachers at Lab, helped me find a starting point. It seemed that the curriculum I was seeking could be found in established high school computer science syllabi. One such program, “Exploring Computer Science”, developed by Joanna Goode from the University of Oregon, and Gail Chapman from the University of California, Los Angeles proved to be an excellent resource. The goal of Exploring Computer Science “to develop in students the computational practices of algorithm development, problem solving and programming within the context of problems that are relevant to the lives of today’s students” satisfied my desire to make my class more about computer science than about computer programming. In particular the pedagogical approach of ECS, which aligns with Linda Darling-Hammond’s 2007 book, Powerful Learning: What we Know About Teaching for Understanding is exactly where I hope to be at some point in the future with my own curriculum.
Specifically the ideals of:
Creating ambitious and meaningful tasks that reflect how knowledge is used in the field;
Engaging students in, so that they apply and test what they know; and
Encouraging strategic and metacognitive thinking, so that students can learn to evaluate and guide their own learning.
While, I am still in the process of reviewing the material and looking for those pieces that would be best suited for the middle school classroom, I am confident that the curriculum’s three unifying themes:
(1) the creative nature of computing,
(2) technology as a tool for solving problems, and
(3) the relevance of computer science and its impact on society
are perfect for my students.
Another curriculum that I recently discovered is the work on Pair programming from ETR’s Youth and Technology department. This was an ideal addition as I was looking for ways to incorporate collaboration into my lessons. According to the Partnership for the 21st Century, collaboration is an essential skill for all students. Including Pair Programming into my curriculum allowed my students to experience “shared responsibility for collaborative work, and learn to value the individual contributions made by” each person. Besides developing social skills, working in pairs has been demonstrated to increase confidence, satisfaction and the enjoyment in the experience of programming, it has also been shown to increase learning, investment and interest in programming for both boys and girls. Recent self-reflection from my students confirmed these findings. My students were not only learning how to program, but also learning the benefits of shared responsibility. They definitely agreed that two heads are better than one.
I have only been at my new school for a little over two months. It is hard to believe that so little time has actually passed since I have learned so much. But, my learning, as well as that of my students, as really only just begun. I have more curriculum to explore, more books to read, and many more rewarding conversations to enjoy. The next 10 months promises to be an amazing journey.
Resources:
Exploring Computer Science – http://www.exploringcs.org/curriculum.
Scratch Ed – http://scratched.media.mit.edu/
ETR’s Youth and Technology Department (www.etr.org/youthandit/resources.html).
NCWIT’s Pair Programming in a box – http://www.ncwit.org/resources/pair-programming-box-power-collaborative-learning
Patrice Gans
CSTA K-8 Representative