Tuesday, July 23, 2013

CS Educator Interview: Mike Zamansky

Mike Zamansky (wearing the white shirt in the center of the picture) zamanskyhas created a very impressive computer science program at one of New York’s top entrance exam high schools - Stuyvesant High School. Coming from someone (me) who attended a rival NYC entrance exam high school that’s good praise if I do say so myself. Smile One might think that for a teacher in one of the best high schools in the country by many measures the CS program would have an easy time of it. Not quite. Mike’s story is worth the read.

Where do you teach? What sort of school is it?

I teach at Stuyvesant High School. A large (800 kids per grade) public magnet school in NYC. Close to 30,000 kids take an SAT style exam (math and verbal multiple choice, no essay). The top 800 kids are offered seats. The school has about one third of its population receiving free or reduced lunch. It's about 60% male and in recent years comprised mostly of students of Asian decent. It's a very well known school with people such as Morgan Missen tweeting last year that "Stuyvesant High School is the new Stanford."

How did you get started teaching computer science?

After college I worked for a bit on Wall Street but found that unsatisfying. After a little consulting, I tried this teaching gig. First at Seward Park High School and then being excessed to my Alma Mater, Stuyvesant. At the time, there was no real computer science (1992), just one or two sections of AP and a couple of random programming courses all taught by math teachers.
I started teaching math but soon wormed my way into the AP course and started to build the program from there.

Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?

We have three years of classes. I created our tenth grade intro course in the late 90s. It was a one semester course with a focus on getting the kids to think and problem solve in a particular way. The tools we use are NetLogo and Scheme. Neither are going to be used in the "real world" but both are wonderful in teaching kids how to think.
I was eventually able to hack the school into making this class a requirement. We just added a second half which uses Python as the tool and has a number of wonderful units, some of which I've blogged about, but unfortunately, the principal is rolling that back so it's not a requirement.
Our juniors take our version of APCS which is a super-set of the old AB curriculum.
Seniors can take our System Programming and Graphics classes. In Systems they study inter-process communication, socket programming etc. and in graphics they develop their own rendering and animation systems from scratch in C, Java, or Python.
Seniors can also take our Software Development course where the kids do end to end development with real tools. Recently a couple of the teams presented their work at the New York Tech Meetup. Very exciting.
We get all 800 in a grade for our intro. About 400 request AP but I'm only allowed to accommodate 150 in most years and then I'm further restricted to between 60 and 120 seniors. One of the things I've tried to keep in mind when designing the courses is how to fill in gaps that colleges usually leave. Hence using revision control systems like Git, real world tools, end to end group development etc.

What is your overall teaching philosophy? Project based learning? Flipped classroom? In short, what makes your CS program you CS program?

What makes it my program? Well, it started as nothing and we've grown to 8 teachers. I've designed and developed all the courses and am generally considered the driving force.
Seriously, though, a lot is about culture and community. When my students nominated me to be graduation faculty speaker, I said I didn't know if I would win. One of the guys responded "but you lead the biggest cult in the school!!!"
We've managed to build our own subculture in the school where students and faculty work together in a relatively informal environment. I think this is what made it so easy to build a thriving alumni group, which I refer to as the Stuy CS family which has over 600 active members. Mostly doing tech and all willing to lend a hand to fellow family members.

What is the biggest challenge in teaching CS at your school?

StuyCS is very popular with the kids, the alums, many parents, and the greater NY Tech Community. The only place we don't get any support from is the Stuyvesant administration and NYC DOE. Unfortunately, that's a killer.
Despite building the program I have no real say in who teaches what, if the teacher even knows CS, what courses to offer, how many etc. I constantly have to try to convince the math chairman as to what the right thing to do is and of course when it's a math or CS thing, guess who wins?
It's the lack of support that actually has me thinking of leaving the school when I get my 25 years (2 years from now).

How do you measure success for your program? For your students?

Success for my student is simple: once out in the world, are they happy and productive doing what they're dong. For the program, I base success on two things.
First, feedback from my alums and the continued popularity of our classes.
Feedback from the alums tells us that we're giving them something of value. In kids in college always tell us how well and over prepared they are and those in the real world also sing our praises. I get positive feedback from kids that end up in tech and those that don't. While I only hear directly from the alums that like what we had to offer, those alums give me a window on the entire class of graduates so I'm pretty confident in the quality of what we do.
The programs popularity also tells me that we're doing something right.

What is the one thing you like to talk about regarding your program

that I haven’t already asked?

I'd say that in addition to the overall program, I'm very proud of the fact that we've brought in a number of raw teachers and successfully trained them. I'm also very proud of how we are received by the Tech community.

What is the one thing you like to talk about regarding your program that I haven’t already asked?

Since the city has shown no interest in supporting what we've built (see: http://www.nytimes.com/2013/03/31/nyregion/software-engineering-school-was-teachers-idea-but-its-been-done-citys-way.html?pagewanted=all&_r=0 ) we're working through our nonprofit CSTUY, to take the Stuy program out of the school and bring opportunities to more students. It's looking to be an interesting challenge.
More Mike Zamansky on the Internet
For a full list of interviews in this series please see CS Educator Interviews: The Index

No comments: