If we don't do anything then only schools like Stuy will have CS.
I heard that the other day. It was a comment relating to a number of efforts, both in and out of NY to get CS into the classroom.
These programs abound and up front let me say that they're all well meaning and have the best of intentions.
In NYC, programs receiving money, publicity, and support, include:
Terrific – we'll scale up CS ed in NY from nothing to everyone in no time. It's fast, it scales. But is it good.
I'd argue that maybe it's not. These programs all share a few things in common.
First, they're all expedient. You can implement them in an election cycle. Roll out a pre-fab curriculum with scripted lessons, give the teachers a summer and some weekend workshops and we're good to go. No CS knowledge needed.
Next, as far as I can tell, none were developed by experienced high school teachers with a deep knowledge of CS.
The SEP was originally developed by someone, who, according to his linked in profile never coded and never taught.
I could be wrong about BGP. It was developed by Dan Garcia - an educator whom I like and respect, but as far as I know, his experience is at the college level.
And Google's CS First? I've been very impressed by Google's engineers, in fact, many are my former students. It's high school education team? Not so much.
Finally, these efforts buy into the myth that anyone can teach and that anyone can teach computer science. Even worse, the Google CS First claims people running their program don't need to know a thing about computer science.
Anyone who knows teaching knows that you can't learn a subject well enough to reall teach it in such a short period of time. Of course, it does align itself with education "reform" where the true master teacher is no longer desirable and we should all be drones that teach lessons from scripts and all testing shall be standardized.
I rememer the first time I saw a progarm like this - it was the CISCO Networking Academy. Teachers trained for a few weeks in the summer and the course was basically run via computer based tutorials. I can't speak for it nationally but in my experience, what the students learned was superficial - very test oriented and there was no value added by the teacher - even after years of "teaching" the classes. There's a reason why the few networking lessons in our System Programming class are called "CISCO in an hour." The kids learn more in those couple of lessons than in a year of the CISCO curriculum.
Who was to blame? Cisco? They were trying to do something good. The teacher? Partially, after time they should have learned something of networking but they were very much out of their element having started the process from zero tech experience.
The fact is, that got a "Computer Networking" class into the schools. It might have been meant as a stop-gap until we could get real Computer Networking teachers hired or trained but it ended up being good enough. The end result – bad classes and students not learning what they could.
So here we are back again at the "let's take non CS teachers, give them some PD and we'll be good." Rather than take the time to solve the CS Education problem, we're going to throw down a curriculum, do some PD and say that it will buy us time. The truth is, however, that we're going to say "look, we have CS in the schools" and it will be good enough.
I'd argue, though that for CS, good enough is particularly dangerous. It's very easy to work through a scripted and coached program and end up with kids thinking they know some real CS and have a real product yet having not really learned the subject. This won't be exposed until later, when they're gone and in college. I predict that unless something changes, these efforts and similar ones will drive up the number of people who after this exposure will say they love CS but once they get hit over the head with "funcitonal programming in HASKELL" or whatever real CS they see in college, they'll drop like flies.
What's the answer? We've got to stop doing what's expedient and do what's good and what's right.
A couple of other blog itches I want to scratch are the many after school, summer, and drop in programs to go with the there I mentioned above. Hopefully I'll get to rant about them soon.
At its core, the post and the comments talk about belief in an idea and it got me thinking about some things as an educator.
and you have to believe in yourself and your idea or nobody else ever will
resonated with me, not just in terms of a startup idea, but with respect to one's passion.
As a CS teacher we get to shepherd kids through projects big and small. The best work invariably comes from when the kids take an idea they're passionate about and run with it. Sometimes I can guide the kids to an idea and it works out well but when the kids end up working on the stock project the results are less spectacular.
Once the kids buy into a great idea, the educator has to create a framework for success - give the kids the tools and set up the safety nets when things don't go as planned.
I've never liked all those student entrepreneurs programs – make a business for the sake of making a business - much better to help guide the kids towards something they're passionate about and help them run with it. That's when great things happen.
The neat thing is that it's not limited to classes. CSTUY is having its first hackathon in a few weeks; def hacks():. One of my juniors came to me with the idea - she got a couple more kids on board and we're off to the races. I've done some things behind the scenes to make sure we don't have any real problems but the awesome thing is that the event is all on the kids.
In a way, I'd imagine that Fred, as a VC, once he invests, his role is to help create the framework for success. I'd also imagine that the best way to do that is similar to what a great teacher does - bring out the best in the student, make them aware of pitfalls and be a supportive mentor.
On a deeper level, as teachers, we get to work with young people as they're developing their own passions. This was something else that I started thinking about after reading Fred's tweet storm, in particular tweet 9:
because I never want someone telling me they wasted five years of their life on something because I told them it was a good idea
Teachers are role models and the best teachers are passionate about their subject and their craft. One of the things I'm most proud of is the number of friends, former students, who have told me that I gave them a career, I introduced them to their passion. Sometimes, though, we miss. I've seen some kids come through my program and leave loving CS but it was, at least in part, an illusion. I work with a great team and sometimes loving classes can stand in for loving a subject.
I was talking to my daughter when she was a senior at Stuy and she commented that she was missing all the subjects she loved one day when she had to leave early. She included math. I said "since when do you love math?" She respond "I meant I love math class." That makes sense she had an amazing teacher.
So, at times, kids leave us for college and then they might discover that they don't love CS as much as they thought they did.
Now, I'm not overly concerned with our misses here since I think we do better than most in showing CS and Tech for what it is and we always leave the kids with a great set of mental and practical tools but every now and then I see a kid who is doing well in the tech industry and in my gut I feel that the world missed out on a great author, chemist, or doctor.
So, I've rambled on this long enough - just some food for thought from a teacher.Read more - comments
I'm a born and bred New Yorker and more and more I'm lamenting what the city's becoming.
New York used to be a collection of neighborhoods. Yes, we were the city that never slept, but there were scores of mom and pop stores, sole proprieterships. You could become a "regular." I'm reminded of Tom Shachman's book Around the Block which looks at the businesses around a single NYC block, mostly all gone now. If you can get your hands on the book. It's worth a read.
In any event, here's a story:
Yesterday. JonAlf and I were at the Apple store on Fifth avenue talking about CSTUY. We had four of our talented students presenting their work.
After the event, JonAlf had gone and one of our student presenters had left with his parents. I was left with our other three presenters.
I told them that I'd love to take them by this amazing chocolate shop a few blocks away and I had to explain why:
A number of years ago, after a morning in Central Park, Batya, Natan, and I were winding our way home. We ended up passing Myzel's Chocolates on the south side of 55th street between fifth and sixth avenue. That's when we met Kamila, the shop owner. We chatted for a while got some chocolate and went on our way. Kamila was amazingly warm and sincere and the chocolates really really good. I noted that we would have to return.
That didn't happen until months later but when it did, I was shocked that Kamila remembered us, what we were doing that day and we just picked up the conversation where we left off.
This pattern repeated over the years. We didn't get to that neighborhood and thus Myzel's often, but whenever we did, we had to stop by. Great candies from a truly special person.
Alas, my schedule has been such that I hadn't been back to Myzel's in years. I think three or four.
Now, I was with Nadia, Miranda, and Leslie - three of my incredibly talented students. They just did an awesome job presenting their work and I figured I could give them some thank you chocolate as well as visit one of my favorite places in the city.
I told them that Kamila probably wouldn't remember me but I recounted my story of Myzel's and how amazing Kamila and the store were. I got the feeling that they didn't believe me when I told them about Kamila and the store.
We got to Myzel's went in and started to place our order. When Kamila came out, her first word to me was "professor…" and we picked up where we left off. As usual, she was charming and sincere. We reminisced and chatted and then we were off.
In a city that's fast becoming cookie cutter we need more places like Myzel's and more people like Kamila.
Unfortunately rents are rapidly dispatching shops like Myzel's and people like Kamila are few and far between.
So, when you're around City Center or midtown in general, please treat yourself. You won't be disappointed.Read more - comments
When starting the spring semester, students are frequently a little rusty. They just had a high intensity month of study, tests, and projects. That was followed by a week of nothing.
I like to start with something lightweight that gets them coding again and ramps them up to speed.
In SoftDev I started with a brief overview of the HTML5 canvas and then gave them a small homework assignment to do something fun.
I also remind the kids to self assess where they are and how they've developed as a programmer.
I get a little tired of education "experts" espousing nonsense like you have to have each talk each day or that you need to assess each kid multiple times a period. That's nonsense. With 34 kids in a 40 minute class and 150 kids a day, that doesn't fly. Besides, so many concepts take time to develop, learn, and absorb.
Yes, you can get some instant and short term feedback but a lot more is revealed over time.
I'm attaching a small sampling of their homework assignments. It was basically a one day assignment to do something fun with the HTML5 canvas and indeed, it looks like they had fun.
I asked the kids to reflect on what they did now and what they could do a semester, two, and three semesters ago.
In the beginning they would have had no idea how to approach any of these. A year ago, they would be a major project. Now, they can knock these out as a homework assignment.
Once you take a step back to look at how much a student can grow in a year or so you have to marvel at the results.
At a place like Stuy, the kids frequently and unfairly judge themselves against super prodigies.
I'm hoping by looking back at what they could do then vs now they'll appreciate how awesome they are.
All sources at https://github.com/stuycs-softdev/submissions
Yesterday, I took part in a round table discussion on Ed Tech and Tech Ed, the latter being more, as they say, my wheelhouse. Afterwards a few of us were chatting and a friend observed that when she first started to talk to high school kids she was shocked that they really didn't know the local tech players - neither names nor companies.
A couple of years ago, another friend was helping me organize an event for high schoolers. He started to go down a list of well known tech names and was surprised when I told him that the kids wouldn't know them.
The first time I experienced this, it was just as big a surprised to me. I was setting up a big high school event at Foursquare (post here) and was shocked to learn that practically non of the attendees had heard of the company.
This would never have been the case in the 90s or even the early 2000s. What happened?
I have a theory.
I don't think it's just due to the fact that CS is a hot subject now. It was hot during the 90's bubble. I'm sure the fact that a wider range of kids are being exposed to CS is part of this phenomenon but I don't think it's the biggest reason.
I think CS kids back then knew more – more of the players, more of the tools, more about the systems because they had to. In some ways, and I know I'm vastly overstating things, it's "too easy" now.
Back in the day, if you wanted to put your thoughts on line you had to:
Now, you just go to blogger or tumblr.
Back then, if you wanted to communicate, you had to learn how to learn the dark art of irc, now you have Google chat.
Back then, you want to share photos, you had to learn how to make a gallery. Now, Facebook.
And of course the list goes on.
Even programming required that you know something about the filesystem and the basics of working in an operating system. Now between IDEs both local and cloud based, you can learn all about programming and never actually create a stand alone program that operates outside of the IDE sandbox.
Back in the day, if a kid was into CS they had to learn more than just the in class toolset and this in turn forced them to be in touch with the tech community both products and players.
I'm not saying the "good old days" were in fact that good and I love most of the progress we've made. Just noting the cultural difference.
It means we should pay more attention to educating our classes on tech culture, the good, the bad, and the ugly.Read more - comments
I just read Alfred Thompson's predictions for next year. I was going to leave a comment but since it would have gotten somewhat long winded, I thought I'd comment in a post of my own.
If you haven't read Alfred's post yet, check it out: http://blog.acthompson.net/2015/01/computer-science-education-predictions.html
Alfred's probably right but I'm leery. Sure, it could end up terrific but I could see a number of ways this could play out badly.
We could end up with non-cs classes to count as CS or we could see schools allowing real CS to count but there would be no incentive for a school to actually create any meaningful CS classes much less for kids to take them.
I guess the root of my concern probably relates two of my concerns about education in general:
Maybe I'm a pessimist or maybe I've just been burned one to many times or maybe it's that as a public school teacher I see the negative effect of politics and money on public education but at least in NYC I see where the decision making is coming from and I'm not encouraged.
On the other hand, even if I'm right and the powers that be really screw things up,there should always be at least a few people who see through they hype and that's where I can continue to do positive work.
It's been one of my go to languages for a while now. I've been using it in and out of classes since some time in the mid 90s.
I don't see it replacing Java in AP CS and it looks like Scratch has the inside track CS Principles but it's good for so many things and has such a low cost of entry, I again feel that Alfred's right.
The fact that it's easy for a non-cs teacher to pick up, at least to a limited degree, will certainly help the charge. I'm not sure if long term, this is a good thing, but it will help to push python's growth in education.
As a side note on Java – I'm not personally a fan, but there good things in there that would be lost with a total shift to languages like Python.
I do see a time where the course is forced on Stuy but I'm not worrying about it for the moment. I think we already teach a stronger course and by the time CS Principles becomes an issue at Stuy, I'll probably be gone.
I could see chromebooks working out for CS but only if schools don't lock them down. Out of the box, you can only use cloud based development environments. This is surely limiting but if you have the bandwidth, between codesters.com, koding.com, cloud9, Dr.Racket and assorted other tools you can certainly do some good CS.
The upside comes when you can drop into the Linux shell. I've been playing with a C720 Intel chromebook recently. It's small and lightweight and once I set it up, it was running Dr. Racket, NetLogo, Python, Java, Processing (all with a fairly hefty Emacs install).
Will it run everything? I don't know, but if I can get a new lab of computers and have the freedom to custom install the machines, I'm seriously considering chromebooks.
I'm also recommending them to my kids looking for a cheap portable development environment.
I've never been one for my own predictions - maybe because I'm more of a continuous journey rather than destination type of guy so I'll hold off on my own predictions for now, but I'll close with a direct shoutout – Hey Alfred - thanks for posting your predictions - good food for thought as is your blog in general.
Spent most of vacation relaxing. Finished off the remaining college recs, tried to catch up on sleep, and worked on a few project.
We've had an interesting December break dynamic in our household for the past few years. My son, Natan is very much into his music, both as a performer and a composer. A few years ago we discovered KlezKamp. It spoke to both Natan and Devorah. Batya, coming back from college wasn't so into it and I was somewhat indifferent.
The end result is that for most of the first half of the break, Batya and I were left on our own in the city while Natan and Devorah were up in the Catskills.
So, what did we do? In addition to playing tourist, we rebuilt the CSTUY web site (with a little help from her boyfriend Zach) - check it out: cstuy.org. I'm really happy with the result and now have a code base that I'm happy with and can maintain.
I can't describe how awesome it is to be able to collaborate on something real with ones daughter and I hope we can work on more projects in the future.
Of course, I had my Natan time when he and Devorah got home. We spent new years eve at the NYGASP production of HMS Pinafore. Natan loves opera and is something of a Savoyard and he's also a terrific singer. Something he must have inherited from my father, although he never met him.
So, we had our own project:
His is the good voice singing Dick Deadeye and I'm the not so good one doing Captain Corcoran. We recorded it A Capella and he added the midi after the fact. I think he had to change the key and I'm sure he had to mess with the tempo.
Some of you might have noticed that I worked on the tech project with Batya and the artsy one with Natan but don't worry - Natan's planning on majoring in Computer Science and Batya's the musical director and an alto in The Chai Notes up at Cornell.
So that was my break. Back to work in a couple of days.Read more - comments
In a recent post, Alfred Thompson referred to an earlier post where he mentioned rock star CS teachers. That's a term I've heard thrown around a lot in the past few years. I've heard some of my graduates referred to as rock stars - top tech people, and in fact I've seen some of them courted for positions in a manner that a rock star might be accustomed to. I've periodically referred to some of my colleagues as rock stars, but I don't know if the term really fits.
So, how else are us teacher folk referred to? More than once I've been called the godfather of K-12 CS education in NYC. Maybe because I've been in the game so long or maybe because a friend once coined the phrase "StuyCS Mafia" to refer to my graduates. It's flattering, but like rock star, it doesn't quite fit the bill. Don Corleone rose to power through both fear and respect. I certainly hope I'm not feared and while I do believe that the people whose opinion I care about respect me, it's far from universal.
So, where does that leave teachers like me, or more so, teachers I aspire to be like?
Not the godfather and not rockstars.
Well, the bluesman's got the chops that the rock star may or may not have. In fact, the rock star always talks about how the bluesman was his greatest influence and inspiration.
But, the rock star gets the accolades and the attention while the bluesman toils in relative obscurity tending to his craft and if acknowledged it's well after his career has ended.
So, there you have it. The best teachers I know are not rock stars, they're bluesmen all about honing their craft and inspiring their students.
One of the things Alfred talked about in his post is the top down influence on CS education. On the one hand, it's brought attention to bear but on the other hand it's being driven by people who don't really get education.
The same can be said for the overall recent big money influences on education.
We'd be much better off if those in power stopped playing rock star and started listening to the bluesmen.Read more - comments
Yesterday, my buddy Stan pointed me to this article: "To address tech’s diversity woes, start with the vanishing Comp Sci classroom"
It gives a reasonable overview of the gender issues in computer science education. The article talks about the drop in popularity of the old Advanced Placement AB course and its eventually being dropped as well as thoughts on how the current A course is pretty dry.
It made me think about the old vs new exams. The current APCS A exam is roughly analogous to a typical college 101 course: programming in one language and one paradigm. The old AB class represented a 101 and a 102 with the 102 being data structures and algorithms. Much more interesting for both guys and girls. Over the years, the AP A exam has become more and more vocational, at least in my opinion, and that makes matters worse. Its more and more about using the language and built in collections and less about thinking and problem solving. What's fun about that?
Of course, we teach our version, a super-set, of the AB curriculum over the course of a school year.
Interesting that even though we teach that old school hardcore CS, we far exceed the national numbers in terms of gender balance, but more on that later.
One of the big things going on right now is the AP CS Principles course. There's some good stuff in there but I've got a lot of questions.
To start, I'm tired of hearing that it's a college level course. If a course is designed so that a 10th grader can be successful, it's not college level. I do understand that it's being taught in places like Berekely (and as an aside I both like and greatly respect Dan Garcia, who's the architect of one version of CS principles - the Beauty and Joy of Computing, and his work). If my kids were doing in college what they could have been doing in 10th grade, something's wrong. That's not to say that you can't have a similar course at both levels, just that there's a huge difference between a 10th grader and a college freshman.
I also take issue with the drag and drop languages in high school and beyond. True, there's a low cost of entry, but then it's limiting in oh so many ways. Much slower than a keyboard interface, limited screen real estate, and no clear exit to traditional textual programming. Scratch and the like are probably good for younger kids, but I've had to rescue many a kid from the damage done by drag and drop. I'm not advocating starting a high schooler in Haskell with Vim but there are plenty of tools that are both accessible, easy entry, fun, but at the same time real.
We also see the proliferation of all girl after school programs. I don't have any problem with this per se. I think we need some all girls and some co-ed. In fact, one of the young ladies in our summer program commented on how much she liked the fact that we weren't all girls but we created a wonderful environment where everyone felt comfortable and supported.
Some of those programs do great things in terms of exposing girls to role models and to what's possible. My issue is with the actual education, notably because these programs invariably don't have real educator/computer scientists running the show. They teach a watered down CS or conversely too much too quickly and then the girls are clobbered at the next level, they start doubting themselves and they change majors.
The problems with these after school programs as well as with CS Principles are the same. A few of my students who studied CS at Harvard framed it nicely when talking about Harvard's highly publicized CS50 course (I'm paraphrasing and combining thoughts here):
They don't really teach anything, you've got to do it mostly on your own. In the end you don't really learn anything.
Then, they go on to Harvard's next real CS class - functional programming with no real preparation and they drop like flies.
So, what do you do?
You do what we did.
I developed an intro course over 10 years ago. The new AP Principles course has some overlap in terms of concepts but one big difference is that we dive into programming using two real languages. Scheme, which is mathy functional and NetLogo which is visual and interactive but still text based. We then move on to a number of really neat concepts in Python.
People say, "Oh, you do the NetLogo because it's visual and appeals to girls." No - we do NetLogo because it's cool and it appeals to kids. Same with Scheme. Show me a girl that loves the visual stuff, I'll show you a girl that loves Scheme's functional goodness. I might only be a dopey old school teacher, but I really believe "kids are kids."
On top of this, you get great teachers that really know their stuff (and we've built plenty of them over the years) and create a culture with everyone's accepted and good things happen.
By the time our kids leave us, they've got enough under their belts so they not only know their stuff but they have the confidence that they know their stuff.
How does it work for us? Nationally, about 19% of APCS test takers are women. At Stuy, we hover around 30%. My Software Development, Post AP classes are also around 30% so we keep them. Oh, and Stuy is only 40% female and we do much worse than the national averages in other traditionally male dominated fields such as physics.
Yesterday, I was talking to one of our CSTUY hackers as we ended the day. We were talking about possible directions to go in after the new year. We could stay graphical, go to text processing, look at some hardcore algorithms and more. I asked Aruna what she thought. Her answer: "It's all fun."Read more - comments
About a month ago, I was at my 30 year high school reunion. Yesterday I was at the class of 2009's 5 year one. Stuy 2004 also had their 10 year reunion last night.
It's always nice to be invited to reunions - I know it's largely dependent on who's on the organizing committee but it's nice to be remembered.
Last time I wrote about Stuy reunions I noted how similar they all are. It's something I've noticed over the years. The kids are all unique but the vibe is the same. I tell people that the biggest difference between my class reunion and the ones I attend as a teacher is that I know more people when I'm there as a teacher. That's probably more of a statement about me than the reunions or classes though.
Interesting to me was that I didn't really feel like I was at a Stuy event. The people I chatted with were by and large part of our CS family. We've got our own mailing list, have our own meetups and are already a community that spans the years. It was nice to actually see people, particularly the out of towners in person and it was nice to speak to some of the people who are more comfortable lurking on our list but it's not like we've been out of touch for the past five years.
It really cemented my feelings that my Stuy really doesn't have much to do with the actual school any more. It's the kids and teachers I work with right now and the many graduates that I now consider friends. It's also the CSTUY kids from the summer and the kids that I hope to work with in the future. There are more than a few non-Stuy people that are part of the community as well.
That's my Stuy. On the one hand, it's pretty cool. We've got a community that's around 700 people and spans almost four decades and StuyCS is a known quantity in the tech world.
On the other hand it's kind of sad that I no longer feel passionate about the institution that I attended as a kid and have worked at for over 20 years.Read more - comments
|Tweets by @zamansky|
|What's Expedient vs what's good - curriculum vs teachers|
|Believing in what you're doing|
|A chocolate treasure in a city losing its soul|
|Taking stock and tracking progress|
|Kids these days -- they don't know nuttin|
|CS Ed Predictions 2015|
|Boys, Girls, Arts, Tech, and Vacation|
|Teachers, Rockstars, and the Godfather|