Thursday, November 1, 2012

Moving to GitHub

Just a quick announcement here.

Moving the blog to a new location: I'll post some time on the reasons for the move, but for now, a post on how Stuy CS students spend hurricane days:


Wednesday, May 9, 2012

My Favorite Year Teacher

Sorry for the weak title and movie reference.

It's teacher appreciation week -- one of our lesser celebrated weeks. I'm waiting for the annual letter we get from the chancellor. Given the level of teacher bashing over the last few years, I've recently found their emails amusing.

I though I'd take the time to thank a few of my most influential teachers. To paraphrase: whatever good I've been able to do, it has been because I have stood on the shoulders of giants.

Alan Goff - 7th grade English - Wagner JHS

Great teacher, great storyteller.  Every now and then class would be spent with Mr. Goff  telling us a story of his childhood. From his school days when he discovered how to make explosive "goffolini" bombs and had to deal with  the bully "GodDilla" to when he blew his hand off with said bombs to his time in the merchant marines. I think I learned more about bringing characters to life from listening to Mr. Goff than anywhere else. I'd like to think I'm somewhat entertaining in class and it started with Mr. Goff. Mr. Goff also shared with us the range of his interests. For me this led to a life of trying to learn something about everything. Thanks.

Mr. Goff passed away a number of years ago and I never had a chance to thank him. I still regret that. A few years ago, when Batya was graduating from Wagner. I drew the short straw and had to go to the awards ceremony. I love going to Batya and Natan's concerts and other things they do, but I hate these award ceremonies. When the vast majority of the students get awards, there really isn't anything special about them - I wasn't thrilled to go. It turned out that Batya won the Alan Goff Memorial Medal for writing. I didn't even know there was one. Brought a tear to my eye.

Herb Greenhut - 7th grade History - Wagner JHS

Wow, what can I say about Herb. He was the first teacher to challenge me to really think. Every year he would start the semester by impersonating a famous figure. Someone his students would never have heard of but their parents would have. For us I think it was William Jennings Bryan. Another year it was Thoreau. All his paperwork was under the pseudonym and he'd play us on for days. He'd engage us in debates as if we were adults.

Herb was a straight shooter. We were young but he never sugar coated things. Herb got us to question things like no teacher had before.

I could go on and on about Herb. He influenced generations. By the time I was in his class in the seventies, he was a veteran and he continued on until right before his death a couple of years ago.

Both my son and daughter had the privilege of being in Herb's class during his final years. He had retired from the school system but still taught at our synagogue. I asked them both about Herb. Their response "he makes us think." Thanks

As I said, I could go on and on about Herb but I found this piece here that does a better job than I'd be able to.

Richie Rothenberg - 12th grade AP CS - Stuy

The only way you could describe Richie would be a mensch in the truest sense of the word.

Richie was my teacher at Stuyvesant. He was a great teacher, but I got more from him as a colleague years later. Richie was always on the side of right and always did the right thing. Never a self promoter and never the "hip" teacher,  he just went about his business of being a great teacher. If there was something he could do to help a student, he did it. Many times, the student never knew.

Richie passed away at 50 in 1997.  The day it happened, school basically shut down. Normally a small memorial plaque is placed up near a room in memory of a teacher. This wouldn't do for Richie. Students, teachers, and alums contributed money and Madeleine Segall-Marx, artist and Stuy parent, contributed a year of her life creating Celebration:


It can be found at Stuy on the fourth floor. Fifty boxes (7x7 + 1 double box). Each representing some aspect of Richie's life.  I still spend time gazing at it.

These three have left us. I never had the opportunity to tell Mr. Goff how influential he was and that's something I regret. Herb became a friend, Richie, a friend and colleague and I'm grateful that I was able to express my gratitude numerous times.

Robert Dewar -- Systems I and II - Courant

Robert is the one college professor on my list and I will reach out to him very shortly just to share with him the impact he's had on me. I was in Robert's class during my sophomore year. If I remember correctly, we finished the syllabus in the first couple of weeks and the rest of the class became "what neat stuff will Professor Dewar teach us today." There was nothing pedagogically "right" about our class. Just 12 or so people around a table talking but it worked. I think I learned more about CS in those classes than most of my others combined. I think a lot came from the transmitted passion for learning neat things about a range of topics.

It's hard to capture what made each of these teachers special. That's the problem with the whole teacher evaluation movement. Richie was the closest to being a traditional teacher but they all had different styles and different personalities. They all helped shape me into the teacher and person I am today, so again to each of them, I say thanks.

Tuesday, April 24, 2012

Continuing the Journey

Shortly after our event at Foursquare, I was chatting with Kevin Friedman (Stuy '96). Kevin's startup is Cojourneo and since it has an educational bent, he thought I might be interested in hearing about it.

I certainly was.

Rather than visiting Kevin, I thought it would be fun to have him come down after school, present Cojourneo to any students that wanted to stay late and then field questions.

Cojourneo is an interesting product. There's been a lot of hype around on line education in the past year, but it seems to me that Cojourneo's a little different. We've got efforts like Coursera and Udacity that are trying to bring university style offerings to the masses while places like Codecademy seem to be more vocational in nature. All three efforts are "class" based. That is, you are taking a class over a period of time. Despite some resources to make these classes shared experiences -- specifically things like discussion groups, they mostly seem to have students watching videos or working through on line material on their own. 

Cojourneo's approach is to organize around "journeys" which aren't necessarily academic in nature, one of the journeys they have going now is Surviving the Startup Journey, but Kevin mentioned that they could have things like book clubs, travel journeys or any number of other types of journeys. They're also different in that they're really trying to create a shared experience -- you take the journey with a small circle of people, not solo - I love this aspect.

By no means am I an expert, but I like a lot of their ideas.

A bunch of students gathered and we were off. I had no idea how the talk would go but I figured that the kids hadn't had an opportunity to speak one on one with someone in the early stages of a startup so it would probably be valuable. 

Kevin presented the product, talked about some difficulties and decisions along the way and generally tried to give the kids the flavor of what it was like to start a product and a company. The kids tried to reciprocate by providing feedback on the product. 

Most of the questions focused on the business side rather than the technical. Kevin was asked about funding, monetization, building a user base, scaling, and any number of other ideas. 

All in all, I think it was a valuable experience and look forward to bringing more alums down to talk to the current crop.

Sunday, April 15, 2012

Anyone can cook

Anyone can cook - Chef Gusteau

These days the rage seems anyone can code.

On line attempts to teach coding and computing abound.

We've got Udacity and Coursera trying to bring college level academic offerings to the masses on one extreme and more down to earth "learn to code" efforts with Codecademy getting the most press.

While I applaud any effort to make knowledge more accessible, there are a lot of unanswered questions as to the effectiveness of these latest attempts. Recent posts by Dan Meyer and Audrey Watters have started to raise questions and in my opinion some of the hype has worn off.

At some point, I plan to talk at length about the Udacity and Coursera offerings as well as attempts to increase on line course offerings at the high school levels. I'll talk about the difficulties and dangers that lie ahead.

Today, I'd like to talk about the more vocational offerings such as what Codecademy is doing.

The premise seems to be that anyone can code and that everyone should code. I've been thinking about this for a while and I keep coming back to the question, "what's the endgame?"

Teaching Javascript, HTML and the like narrowly focuses on creating web pages. Even if we forget about difficulties of on line learning that include lack of an interactive feedback loop, lack of follow up,  a narrow curriculum, and the fact that programming beyond the basics is not easy, what's the goal? While I find making an interactive web site cool, I don't know how much it benefits the masses.

One could argue that the mental exercise of programming is a benefit and having a better understanding of how a computer works is a good thing. I'd agree, but what we really could benefit from is a different paradigm in terms of how we approach using computers. A new approach would make even rudimentary scripting skills of greater value to all.

Most of us use computers as program loaders. That is, we sit down, load our word processor, edit something, and exit the word processor. Load our web browser, search the web, exit, load the next program, do something, etc. We might have multiple programs up at the same time, but we use them in isolation.

This is how most people's computing experience has evolved.

With this mindset, I'm not sure how useful coding will be for the masses. People might benefit from some rudimentary scripting a la Excel macros or Google App Scripts, but power users already do this. I don't think that the ability to program within the constraints of scripting individual applications will be a game changer.  To make rudimentary programming skills valuable we must use computers in a way that allows us to use simple techniques to tie together powerful applications.

A few years ago, right before our Christmas break, I stopped over in the Math Chairman's office to wish him a good holiday. Danny was hard at work. He was frantically trying to change the math web site before he left.

The math site was a mess. It consisted of a few dozen loosely arranged folders each with multiple sub folders. Danny was looking in each folder for old sample final exams, each saved as a Tiff file. He would load the file into Photoshop, convert it to another format and save it. He would then change the corresponding HTML file to reference the new file. He had been at it for hours with no end in sight. I said "Danny, I've got this, go home."

I went to my office, wrote a small shell script, maybe 10 lines, hit enter, got on my bike and rode home. When I got there, the job was done.

Now Danny's a really smart guy and he's technically savvy. The difference is that I was taught to try to tie programs together through the command line while he was taught to do things in the Windows/Mac way of loading one program and using it in isolation. I used a simple shell script to tie together a number of powerful Linux applications (find, imagemagick, sed) rather than pointing and clicking over and over again.

I've seen this "program loader" mind set time and time again and in surprising places. My good friend and colleague Gary Rubenstein has done a lot of work debunking the "educational reformers" that are currently in power. Gary had been using Excel to do all his analysis until I pointed out that he could download his data and use simple Python scripts to greater effect. Why was I surprised that Gary wasn't already doing this? Well, in addition to being an amazing math teacher, Gary holds a Masters degree in Computer Science and had worked as a professional programmer in a prior life.

Of course, our life isn't made any easier with closed file formats and vendors that try to isolate their data, but if we could re-educate people to use computers across applications, that would make rudimentary programming useful to all and then indeed there would be a reason for everyone to code.

Saturday, March 31, 2012

Checking in with the family

"... the standardized courses don't shed much light on future opportunities and they make it hard for students to identify what they're most interested in. The CS department, on the other hand, is great at demonstrating all the things that are going on in the modern comp sci world." -- Asa, one of our current CS students.

Asa's comment was in response to an event we held last Tuesday. We brought 100 current students up to FourSquare along with 100 of our CS alums for a mixer. Other than the fact that we aren't a department, I'm hoping he was spot on. 

Stuy CS from 1976 to the present

A couple of months ago, I started to try to organize the graduates I've had the privilege of teaching over the years. I put out some feelers and the response has been great. So far we have about 400 members. I like to refer to us as the Stuy CS family since I'd like to think there's a stronger bond than that typical between a teacher and his students.  I'd also like to think there's a common thread across the years that ties the older and younger graduates together.

To kick things off, I thought it would be a great idea to get the alums together with the current students. We've got people all over the tech map, from giant companies to startups. I started putting a list together here. I thought it would be great to expose our current students to the range of possibilities that await them.

Immediately, the family came through. Noah and Dave volunteered FourSquare as host for the event. They provided the food and the site. The alternative would have been to have the event at Stuy. This would have cost us and would have been somewhat mundane. Just being at a place like FourSquare seemed to really excite the current crop of Stuy students.

The evening of the event, I was a little nervous -- about 100 alums signed up, but would they show. I've been told that general alumni events can typically have a very high no-show rate, particularly when the event has no cost and registering is as easy as an email.

The kids and I arrived early -- school lets out at 3:30 and the event didn't start until 6:00. As 6:00 approached, the alums started to dribble in. By the time we started, we had a packed house!!! It was great seeing everybody again.

We had alums from every year. From 1995, my first set of graduates, to last years senior class. We also had a few older alums, including me and  my classmate and friend Steve from '84 and Gerry ('76) , who I met when he volunteered to help Stuy CS back in the 90's. He's become a good friend to both me and the program in the years since.

For my part, I was extremely touched that everyone showed. As a teacher, you'd like to think you've had enough of an impact that your students would give back, but we rarely get any evidence as to the effects we've had. I've been fortunate enough to be in contact with a number of my alums through the years and a number of them have been kind enough express gratitude (often times more than I deserve) but to see everyone show up en masse really meant a lot to me. The only down side was there was so much going on, I really didn't get to spend time with anyone -- it was like hosting a wedding or bar mitzvah -- everyone's there, but you don't get to see anyone. I hope we can remedy this with more events and smaller events in the future.

If any of the "family" is reading this, you've also got to give me some props -- even though I haven't seen many of the alums in years, I recognized almost everyone and remembered far more names than I probably deserved to.

We spent the evening mixing students and alums and the FourSquare crew threw in tours of the facilities. Afterwards, many of the alums stayed back to discuss how to move Stuy CS forward. How the alumni community can help Stuy CS and it's current students and how it can become a resource for fellow alums. I think there are a lot of things we can do as a community, and I'm excited about what's to come in the near future for us as a group.

For the students, feedback has been terrific. I've gotten comments like:

I was wavering between whether or not I would continue CS in college and as a career, but now I'm fairly certain.
I really enjoyed the compsci event, it was very helpful to talk to alumni because they reminded me that there is life after college. I also liked the community within a community feel of the event.

The students pretty much universally loved the event and  I really think they got a lot out of it. 

We had parent conferences last Thursday and Friday and parent after parent confirmed this. Just about every visitor I had mentioned how much their son or daughter got out of meeting the "family". People  who were in their shoes a few short years ago and are now doing great things in the tech community. 

From what I can tell, this was a unique event, at least to Stuy, no one's ever done anything like this before in any subject area. It looks like it was a slam dunk, at least with respect to value to the students. 

Now the "family" just has to decide where we can go from here.

Saturday, March 3, 2012

Field Trip!!!!!!!!

When kids are knee deep in nlog(n) algorithms and working on recursion, it's easy to lose track of the amazingly neat things that are right around the corner for them.

I've recently been working on organizing our Stuyvesant Computer Science alumni network and am putting together a page with some of the places our graduates work here.

It can be hard to see how one goes from sorting and searching in Java to working at places like Google, or FourSqurare or creating your own startup like DigitalOcean, Usable HealthTimeHop, or PropHop.

We try to show how close they are to doing really cool things, like the other day when we developed some solutions that lead to seam carving, but there's still a large enough gap between what they are learning and where they will be that it's hard for them to see how close they are.

With this in mind, yesterday, we took a field trip.

Being an NYU Alum myself  (BA '89, MS '95?), the CS people at Courant and I have periodically tried to form a partnership but there were internal problems at NYU that prevented us. Over the past few years, however, things have changed and we're well on our way.

Thanks to the efforts of the always amazing Evan Korth, Michael Overton, Rosemary D'Amico, Romeo Kumar, Shawn Abbot, and others, we were able to bring about 100 Stuyvesant juniors to NYU for a day of computer science.

We had four amazing presenters.

Ken Perlin batted leadoff talking to the kids about a variety of his interests. Basically a smorgasbord of places one can go to with CS. Ken touched on things ranging from expressing emotions from an animated  avatar composed of five polygons to paradigm shifts relating to ebooks.

Rob Fergus then gave a talk on image deblurring. Where Ken's talk provided a range of topics, Rob focussed in on one. The kids were really able to see how what they're doing now is just one step from solving some really neat problems.

JinYang Li was next. Her talk focused on systems touching on infrastructure issues and parallel processing. This provided an overview of one specific field in computer science.

Batting cleanup was Nathan Hull. Nathan talked about IOS developement. The most hands on topic of the day. Nathan really emphasized the fact that the kids could just download the tools to do either IOS or Android development and with online resources, they could teach it to themselves.

All this was followed by a great lunch.

It was a great range of talks and the kids left having a much better idea of what CS will be like in college and the range of things they'll be able to do.

Right now, I'm working on another event which will bring our students together with Stuy graduates working in the industry to give our kids more exposure to the step after college but more on that in a few weeks.

Thursday, March 1, 2012

Pair Programming Tag Team Shootout

So today we changed things up a bit.

Instead of having a typical lab type periods, we tried the Pair Programming Tag Team Shootout.

We aren't annualized so while the kids that have been with me since September have been working in pairs for a while, the other half of the class is just getting used to how we do it. I also wanted to get the kids to mix a little more.

Hence the shootout.

Everyone got a sheet with a bunch of problems on it:


I then paired them off randomly.

The idea is complete the first problem, find a new partner, repeat.

By the end of the period each student worked with between five and seven partners.

I'm having them send me their solutions and partners tonight.

The early response was good -- it's speeding up them getting to know each other and it was a nice change of pace. We had some problems coordinating switching problems, but we'll do better next time.

All in all a good day.