Apcs

How early for APCS

In what grade should students take APCS? This question comes up from time to time. I've heard answers ranging from middle school through never. Infact, years ago, my chairman relayed a conversation he had with Marvin Minsky where he asked Minsky what the high schools should be teaching with respect to CS. The answer was "nothing." This was then amended to "teach them to type." Of course this was a long time ago but I believe the sentiment was that college was the right time and the high schools don't know what they're doing and will just screw up the kids.
# COMMENTS

Teaching APCS-A for the first time

I got an email from a friend the other day. Among other things, he mentioned that he would be teaching APCS-A for the first time this year. He's a little trepidatious. He knows his stuff but he hasn't really done much using Java. I was going to respond in an email but thought I might share here instead. TL;DR - for all you APCS teachers who are new or new to Java - learn your core CS, lean on your resources and support and it's OK to tell your kids "
# COMMENTS

A Plea to AP teachers- don't measure yourself by your scores

AP scores just came out. As usual, I see the posts and take part in conversations where teachers talk about their results. Some are happy about their results, some aren't, some don't really care. I just want to make a plea to all AP teachers out there: Don't let your value be dictated by the college board or any other exam. I never really cared much about my students' actual AP scores.
# COMMENTS

Advent of Code 2016

Once again, it's time for Advent of Code - a series of small programming problems released once a day. I wrote a bit about it last year and you can still find last years problems here. It's only day three but so far, all of the problems look really nice for students in APCS-A or any similar intro course. I'm thinking of looking at a couple of the problems this week with my class at Hunter.
# COMMENTS

I guess I'm a dumbass

I like a fairly informal atmosphere in my classes. Students have to know that there’s a line between teacher and student but I also want them to feel like we’re all part of the Stuy CS family. Whenever we start a new term, it takes a while to break down the walls. The students don’t know what to expect of me, can they trust me? Am I a bozo? Who knows.
# COMMENTS

Bucket Sorting

In spite of the Java based annoyances I mentioned last time, I decided to go ahead and do Radix sort with my AP students. I usually don’t cover it in AP Computer Science, but I like getting the kids to think about using arrays as buckets as it’s a new way of thinking for them and it does give a non-trivial application that combines ararys and ArrayLists. It’s a nice little algorithm.
# COMMENTS

Teaching Languages

Java’s never been my favorite language either for using or for teaching. As a programmer, after starting with languages like Fortran and Pascal, I really cut my teeth with C. More recently, Python has been my go to language to get real work done. From a teaching point of view most languages have good points and bad ones. When the AP class went from Pascal to C++ I lamented losing the simplicity and the low cost of entry.
# COMMENTS

Stuyablo II

Last week in my AP classes, we were working on inheritance. So, what to do? Last time around I had my classes work on a “speed dating” program - StuyDater. Back then JonAlf had his classes work on Stuyablo, that classic dungeon crawl. I still plan on reworking the StuyDater project, but first I decided to do my take on Stuyablo. Of course, we’ve improved on it. This time it’s Stuyablo II.
# COMMENTS

Who won the election -- Quadratic to Linear Time!!!!!

Last week was crazy. Busy, stressful, late night after late night. It ended, though, on a great note. A young lady in my intro class found me in my office near the end of the day: Student: Mr. Z, I wanted to make sure to catch you before vacation! Me: What’s up? Student: I wanted to tell you that today’s lesson was AWESOME!!!!!! Wow. I’ve been teaching 23 years and that’s never happened before!
# COMMENTS

Pretty sneaky, Sis

I've always lamented the fact that we don't have the time or structure to really teach our kids to program. In their early classes, they learn syntax, algorithms, and  some ways of storing data and while they  will probably work on some larger projects as they study CS, kids seem to be mostly left on their own in terms of how to take a project from problem or idea to completion.
# COMMENTS