Pedagogy

Compile Each Concept

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

CS vs CT vs Coding

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

Not every lesson has to be magic

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

Two Faces of Project Based Learning

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

PD for people who know CS

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

Teaching recursion early? Make sure to use a good tool.

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

Do It The Dumb Way

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

Refactoring

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

Sigcse2018 Bootstrapworld on Creativity in CS classes

I really didn't know what to expect at the Creativity, Customization, and Ownership: Game Design in Bootstrap: Algebra session. I've been a big fan of Bootstrep for years and looking at the authors, Emmanuel Schanzer's been a freind forever. I've never met Shriram Krishnamurthi in person but am looking forward to it. We've traded emails and blog comments. I'd like to consider him a friend and I certainly respect him and his work even though we frequently disagree around the edges.
# COMMENTS

Sigcse2018 - Malloc Lab

I wasn't going to go to this session. I started out in a panel on integrating social good into CS Ed. With the panel not meeting my expectations I moved over to my second choice - the system programming sessions where I saw Implementing Malloc: Students and Systems Programming, a paper presented by Brian Railing of CMU. I really liked both the paper and the talk. CMU computer science students all take a systems course that uses Computer Systems: A Programmer's Perspective.
# COMMENTS