Sunday, July 16, 2017

What makes for good CS PD?

I have had the opportunity to experience a lot of PD over the last few years with KSTF and the huge surge in support for CS.  After attending Upperline Code's teacher workshop, I have been wondering what makes for good CS PD?

Good CS PD should put the teacher in the role of a learner.  I saw this in my EDC workshop in Mathematical Practices, in Upperline's Workshop, and at code.org.  By having teachers fully engage in a structure or routine for a CS classroom, they can better implement it in their own classes. ....

Good CS PD should have participants planning and teaching lessons.  This seems like a no-brainer to me now, but I will admit it wasn't always that way.  Just like a "good math class" should have students "doing math", good teaching PD should have participating teaching.  In Upperline, we co-planned and taught our lessons which was necessary from a time-saving perspective, but also helpful as we got to collaborate with other teachers and bounce ideas off one another as we planned.

Good CS PD should have a common language.  Whether it is talking about engagement, access, problem solving, abstraction, computational thinking, once we are able to have a shared vocabulary around what we are talking about, we can go deeper into these conversations.  Sometimes this shared vocabulary can become meaningless buzzwords, but I still think bringing some kind of awareness to our goals through establishing a common vocabulary gives all participants more opportunities to contribute.

Good CS PD should have a time to be reflective.  With Upperline, after we taught a lesson, we had a time to reflect on the lesson we just delivered and got feedback from the participants.  I think the feedback part was hugely helpful for me but I wonder how other teachers would respond, especially if there are teachers who aren't psyched to be there.  I think I assume that every teacher is as excited to be at PD as myself, so I forget that there are people who were "volun-told" to be there.  I know there are other ways to reflect on the lesson after it is delivered - by shifting the focus to reflecting on the lesson from the learner perspective or considering how students would react in the lesson.  Regardless, having time to reflect on the lessons helps me think about how I would apply what I saw in my own classroom.

I realize that many of these ideas aren't ONLY for CS PD, but really good practices for good PD in general.  

However, while these guidelines are all well and good, one of the biggest questions is what does the content for CS PD look like?  I have attended many CSP PD workshops (for code.org, CS50, or Mobile CSP) but they all center around the same content.  They focus on one curriculum's interpretation of the AP CSP standards.  When I have attended the EDC's workshop on Mathematical Practices (MPs), we learned how to incorporate MPs into any math course we were teaching from 6th grade math to 12th grade math.  I am wondering if we can do that for Computational Thinking standards.  Is that valuable for CS teachers?  Can we do a 2-4-1 and learn CS content (like, data science) AND computational thinking?  Is that, as the kids say, "doing too much"?  I acknowledge it is difficult to tell a teacher to develop a lesson plan on cyber-security without the teacher really knowing cyber-security, but maybe just giving teachers a direction is enough.   

In the Upperline Workshop, the CS content was all around web development.  We covered HTML, CSS, Ruby, loops, conditionals, etc.  At one point I was supposed to teach p5 - I realize that this is a broad thing to teach, but my partner and I narrowed down our specific goals for the class and then developed a task we wanted students to work towards in the class.  This practice was actually really useful.  I think you could do that with other CS topics as well - cyber-security, data science, etc.

Even while I hope to be able to teach some of the content I learned at Upperline in my CS classes, I expanded my own content knowledge in CS by participating in other teacher's lessons and experienced multiple ways of approaching CS instruction - some ways I liked and others that wouldn't fit my teaching style.  For me, as a teacher who is ready to further develop my own approach to teaching CS, having this experience was really valuable.

No comments:

Post a Comment