Announcing def hacks("Winter",2015)

Last March, we (CSTUY) hosted our first hackathon - def hacks():

It was a tremendous success. Fifty students of all experience levels, a bunch of great mentors and judges - added all together and it was a terrific day.

I wrote about it here.

We're doing it again. We love last years hosts SumAll and are grateful that they continue to host our Saturday Hacking Sessions but we are also grateful to Facebook NY for allowing us to use their larger space for this edition of def hacks(). Larger space = more hackers.

So, if you're a high school student who wants to spend a fun day building something cool or if you know one, more information and registration can be found here:

Finding the Bell Tower

No Edu-Rant today nor a clever lesson plan.

I just thought I'd share an email exchange that cracked me up.

We're out in Ann Arbor visiting our son Natan who is in his first year at Michigan.

Devorah sent an email asking where we should meet.

It turns out that Natan's last class of the day is Music Composition.

Here's what followed:


Composition is in the bell tower on Central. It's hard to miss. It's a bell tower. It's right by Hill Auditorium, and looks like a bell tower. It also sounds like a bell tower at certain points in the day, but I don't think I've heard it sound like a bell tower around the end of class, so you're probably better off looking for the thing that looks like a bell tower rather than listening for the thing that sounds like a bell tower. I would assume it also smells and tastes like a bell tower, but if you're in close enough proximity to smell or taste the bell tower, I think you've probably found the bell tower. It looks like a huggable building, but please, dad, do not hug the bell tower. I have class there.


We can meet you at the bell tower as long as we can figure out what it looks like. Can you please give us a detailed description? Maybe you should taste it just in case. Does the bell tower on Central smell like the bell tower on North?


The bell tower is around the size and shape of a bell tower. It's ten stories high, with the first nine stories being a little less than one-tenth of a bell tower tall, and the tenth being rather more than one-tenth of a bell tower tall (the tenth story being where the bells are). The width is about equal to that of a bell tower. It has two doors, one on one side of the bell tower, and the other on the other side of the bell tower. It has clock faces on top, which should, at the point you see it, resemble a clock face indicating the time which it is. (The appearance of the clock faces should update in near-real time.) If you stick around long enough, it should start to sound like a bell tower, or perhaps like a monster descending the stairs singing Gilbert and Sullivan. I don't know what the bell tower on North smells like because the bell tower on North is currently blocked off. But it also resembles a bell tower, being approximately the same size and shape of a bell tower. It is much less likely to sound like a bell tower, though.

Interview questions and tests

The StuyCS Family mailing list was host to an interesting discussion today. One of our younger members asked if the practice of giving technical problems during an interview was going to follow him throughout his career or if it goes away for more senior applicants.

An interesting discussion followed.

It reminded me of a time I was talking to a few senior engineers at a large tech company. A couple of younger engineers were with us along with a new hire. The youngsters started talking about the new hires technical interview questions. One older engineer light heartedly asked another "I don't recall any tricky technical questions, how about you?" "I don't recall any either…" and on around the table.

Of course these senior engineers had track records that stretched for miles.

I never liked those tech interview questions. If you just took algorithms, you've got an edge and it really seems to be more of a test of "have you seen this problem before" rather than a true test of ability.

I much prefer those few companies that give "take home assignments" or use other ways to determine fit.

The tech interview reminds me of the pop quiz or a poorly designed test. If you just ask the question that the kid doesn't get, the kid's in trouble. A kid could know how to handle 90% of the work but if the question is that last 10%, zero credit.

As teachers, we end up using many forms of assessment and try to develop an overall picture of a student.

Companies should try to do the same.

Why to companies still use these technical interview questions?

Quite simply because they can.

A company might miss out on a number of great candidates by using a bad technical question but they will probably get at least a reasonably strong hire that passes the test. For the company, mission accomplished.

As teachers, we can't do that. I'm not given a class of 32 kids and asked to pull out a couple of software engineers. As teachers, we're supposed to pull everyone along.

Teachers - boy do we suck!!!!

Today was a "professional development day." That means that instead of teaching, we were supposed to work on our craft.

Rather than the normal nonsense - forcing CS teachers to sit through common core math lectures or how to use the latest calculator, our host principal, Randy Asher, of Brooklyn Tech let us do our thing.

Basically, it was a bunch of CS teachers from two schools - Stuy and Brooklyn Tech, talking shop for most of the day.

Given the ridiculous "professional development" we're subject to weekly at Stuy, it was a welcome change.

We talked about a number of issues:

  • How difficult concepts like iteration can be to actually teach.
  • How retention is a real issue.
  • How we have to deal with a range of students with a range of interests.
  • What happens when we have a kid who finds out they're less interested in CS than they thought.
  • How do we create a comfortable setting for a diverse population.

and more.

I mean, really - all we do is talk about how hard it is to teach CS.

Contrast that with every after school, summer, drop in, coding school and program. They seem to:

  • Teach kids to be software developers just like adults in the course of a summer.
  • Teach kids how to make we apps in N weeks.
  • Leave kids more prepared for the APCS A exam than kids to take the course.
  • Solve the diversity problem.

Seeing how much and how well all these non-educators can do with kids vs what we were talking about I can only conclude that us teacher folk are pretty lousy.

On the other hand, us real teachers have to pay attention to to little things like long term retention and success and can't just parade out a few nice stories and outlier results.

Give me a real teacher any day.

I've written a bit on my concerns with drop in programs before here, here, and here.

I remember a few years ago I was talking to someone about all the CS Ed hype we were seeing. We both noted that many of the people doing the best work are so busy doing that work that they can't spare the time to generate the hype.

I was with a bunch of those people today.

Halloween 2015 - the video

As a teacher, sometimes your gut tells you to do something and it turns out to be a really good idea.

That's what happened in October, 1994. I decided to dress up as Groo the Wanderer for Halloween. I never dressed in costume for school before and back then, no many did. A few students and very few teachers.

Afterwards, I noticed that my younger students - the ones that didn't know me that well yet, really loosened up and so a tradition was born.

Over each of the next 20 Halloweens, I did something different. Sometimes solo, sometimes as a pair and more recently as part of a team.

What started as a lark has now become something of an obligation but it's still fun.

So, with no further ado, let's go to the video tape:

And of course, the full playlist:

Inner voices


It's Halloween again. This time, "Inside Out."

No video yet, but stay tuned.

For the time being, enjoy some of our past madness:

Know your tools - intermediate Emacs

A good workman is known by his tools, or so the saying goes. My tools of choice are my terminal shell and Emacs.

I suppose if I was a full time developer working with a limited set of tools I might like an IDE like JetBrains or Eclipse but no matter how many alternatives I try, I always end back in Emacs.

I recommend that my students spend time not only in Emacs but also in tools like Vim or Sublime Text.

I do warn them, though, that as a commercial product, Sublime might not be around forever, I mean before Sublime was sublime, TextMate was sublime. If you go back to the 1980s, Brief was sublime.

Commercial tools come and go but I've been using Emacs since the mid eighties.

A few students have been asking me for some pointers on going past the basics of Emacs so here we go.


This post just has some getting started notes. There are mode powerful and advanced ways of doing most things.

I think I'll just talk about a few of the basics here and will write about code development with Emacs in a later post.

Starting out

Once you're OK with the basics (by using the built in tutorial or on line resources) start to fore yourself to get to know:


when you find a new file (C-x C-f) it opens it into a new buffer. You can also open a new buffer using C-x b and rather than selecting a buffer typing in a new buffer name.

Each buffer can hold a file and you can switch quickly between them using C-x b and hitting <Enter>.

You can kill the current buffer with C-x k

Using buffers lets you edit multiple files in a project quickly and efficiently.


Your Emacs frame can be split into multiple windows. C-x 2 splits the window top and bottom, C-x3 left and right. You can switch between windows using C-x o for other window. Switching to one window is done with C-x 1.

Getting Help

Get to know the built in help. You can always use functions like M-x describe-function or M-x describe-key and of course you can use completion to help speed things up but the help functions are bound to:

  • C-h k for describe key
  • C-h f for describe function
  • C-h a for search for command

You can usually type q to close the help.


Use search for navigation rather than arrow keys.

This can change the way you edit.

For example ,if I wanted to go up to the word Navigation, above, rather than using traditional motion keys, I'd do a reverse search (C-r) and search for Nav.

Incremental search forward (C-s) and back are your friends.


You can check out my emacs configuration here:

You can find basic installation instructions there or you can use the interactive package manager, invoking it with M-x list-packages.

Some of my favorite general purpose packages are:

Next steps

We haven't even talked about code development or killer packages like org-mode but I think this will do for a start.

Self Appointed Experts

While looking over my tweet stream, I noticed this:

So, on November 12, one can head over to Uber and listen to three experts talk about K12 CS Education. To quote the landing page:

  • How can we engage our students in CS, and train our teachers to teach it?
  • What are the biggest obstacles to overcome?
  • What is the future of K-12 CS Education?
  • What's working?`

Sound great.

The problem?

Who are these expert voices that we're supposed to be listening to.

The panel consists of three people: Adam Enbar of Flatiron School, Rebecca Novak of ScriptEd, and Debbie Marcus, the Executive Director of CS Education for the New York City Department of Education.

Sounds interesting.

As a disclaimer, I have to say that I know Adam and Rebecca and consider them friends. I like ScriptEd and what they do in the schools. In fact, I think that my CSTUY programs are terrific next steps for ScriptEd kids. ScriptEd is becoming good at what they do and I think they're also aware of their limitations as an ed program. I also know that Flatiron has done a solid job retraining adults for the workforce. I don't think I've ever met Debbie Marcus. I also believe all these people are well meaning.

What's the lay of the land?

Given her position, Ms. Marcus will be considered a voice of authority and I can't seem to go to a CS Ed event without someone from the Flatiron School or someone from ScriptEd there in a place indicating that they should be considered an authority on K12 CS Education.

As much as I like what ScriptEd does in the schools and as much as the Flatiron School has a strong reputation as an adult coding school / workforce program should these voices be the ones we're listening to?

Let's dig deeper.

Higher up in this post, I link to all three panelists LinkedIn profiles. All three are conspicuously missing one thing - experience in CS and Rebecca is the only one who's LinkedIn profile indicates any time teaching.

Now, let's contrast that with the CSTUY and Stuy teams. Regular readers know what I've done building Stuyvesant's CS program and CSTUY over the past 25 years and if you look at my team they all have considerably more CS experience, Ed experience, and of course CS Ed experience.

Who's driving the train?

Who's being excluded?

What's wrong with this picture.

Alan Alda on Teaching Science

Scale, scale, scale. Scripted lessons. Online resources, Moocs. No excuses schools. All of these are modern trends in education. None of these are about good education. It's really demoralizing reading article after article devaluing true master teachers and real education.

So, last night was a real pleasure.

I attended a talk, given by Alan Alda on communicating science. The talk was sponsored by The Academy for Teachers. I grew up watching Hawkeye on MASH and more recently Arnold Vinick on The West Wing but Mr. Alda has really been keeping himself busy in the world of education. Check out what he's doing at the Alan Alda Center for Communicating Science at Stony Brook University.

At it's core, Mr. Alda's talk was about teaching. Making a connection with your students and engaging them. The exact opposite of many of the current ed reform trends.

Mr. Alda talked about the Flame Challenge where he challenged scientists to teach 11 year olds all about a candle without dumbing it down. Communication.

He also talked about story telling. At one point he had a volunteer from the audience carry a glass across the stage. He then had her do it again, but this time with a full glass telling her "if you spill a drop everyone in your village will die." The difference in audience attention was striking.

Mr. Alda also talked about using improvisational games to help students open up as well as about the curse of knowledge.

One of my favorite parts of the talk was when an audience member asked for a few teaching tips. He replied that he hates tips because out of context, without the connection to the class, they're meaningless. Mr. Alda used as an example:

Imagine that you're about to give a piano recital at Carnegie Hall and you asked for a few tips.

If you've never played before, those tips aren't going to help you.

I'm asked for CS teaching tips all the time, and Mr. Alda very much captured my feelings on the subject. My friend and Colleague Jim Cocoros also captured the feeling when he reminded me that the only "tip" he gives new teachers is "be yourself." I couldn't agree more.

It was a delightful and a refreshing evening. I very much appreciate and admire what Mr. Alda is doing beyond his acting and while I very much hope he's able to extend his reach to more high school teachers as he continues to work on communicating in science.

Enter your email address:

Delivered by FeedBurner

Google Analytics Alternative