Pedagogy

A while ago I wrote about our plans at Hunter to run professional development for CS teachers. Specifically, running once a month sessions for teachers who teach APCS-A, similar and beyond.
The idea started as a joke but morphed into a legit idea.
I was talking to some friends about CTLE hours and how ridiculous the system is. NY State teachers need 100 hours of CTLE credit (PD hours) every so many years.
# COMMENTS

Mark Guzdial's post the other day about direct isntruction struck a chord with me. Right up front, Mark said:
The research evidence is growing that students learn better through direct instruction rather than through a discovery-based method, where we expect students to figure things out for themselves. Quite a surprise to the teachers who have been beaten over the head with "everything must be discovery" in recent years.
# COMMENTS

We've all been there:
Student: Teacher, I need help Teacher (comes over) Student (shows screen listing three bazillion errors) The student has just written pages of code and finally decided to try to run it only to end up with pages of errors.
Error messages can at times be hard to read for beginners but to see and truth be told, they frequently don't even read them but over the years I've developed a practice that I've found helpful as a software developer and if students adopt the same practice it can save them a lot of time and effort.
# COMMENTS

There's been a lot of buzz recently concernting Computational Thinking (CT) vs Computer Science (CS) vs Coding / Programming on the interwebs.
Some of the questions and concerns that I've seen recently include: What is CT?? Will rich schools get CS and poor only CT? Will rich schools get CS and poor on coding? The first question is a big one and as a community we haven't answered it yet.
# COMMENTS

If you check out Twitter, Facebook, Medium and other blog sites you might get the idea that you're the worst teacher in the world. The internet abounds with people sharing tweets and posts about wonderful lessons they've just taught, witnessed or learned about in professional development. Sure, the teacher forums rife with requests for lesson ideas and resources but the shared material is always aces.
It makes sense, people in the community want to share things that worked for them or things they think will work.
# COMMENTS

If one looks at my twitter feed they'll notice that in addition to CS Ed, another issue I'm passionate about is school reform or rather resistance to what is popularly known as and mislabeled as school reform. I'm anti vouchers, charter schools, high stakes testing and more. One of the heroes of this resistance is education historian Diane Ravitch. I'm a big fan of Diane's and she's one of the true great champions of public schools, kids, and teachers.
# COMMENTS

I saw a couple of tweets from Sarah Judd this morning:
A lot of CS Ed PD assumes you are new to CS. I really want CS Ed PD for people like us that came from a CS background and want to understand the pedagogy for CS in particular better. Do you know of some?
— Sarah Judd (@SarahEJudd) June 27, 2018
Yes! I love SIGCSE and CSTA. I just feel like.
# COMMENTS

I replied this tweet yesterday and thought I'd expound a bit.
We started kids using scheme on 10th grade at stuy so did recursion early. Not everyone got all of it but it think it made things much easier for those that you more CS later.
— Mike Zamansky (@zamansky) May 29, 2018
We introduced recursion very early in our intro course at Stuy and I think it worked well.
# COMMENTS

There's so much to like in the shape drawing lessons I talked about in my refactoring post that I thought I'd share a little more here.
It can be argued that the most important things for a program to do is work. The most clever, elegant, creative program is worthless if it doesn't produce the desired result. All too often, beginners and hot shot beginners in particular try to be too clever too early and get themselves into trouble.
# COMMENTS

One of my laments on teaching computer science is that students are rarely taught and given the chance to develop good programming practices. There's usually not enough time. Beginners work on small "toys" which don't lend themselves to good software development practices and later on, there's so much other material like algorithms, data structures etc. to teach and learn that programming practices usually amount to lines like:
"Make sure to comment your code.
# COMMENTS