It's Wednesday morning. I'm sitting in an unairconditioned room. I really shouldn't be writing this since we were told "NO ELECTRONIC DEVICES!!!"
Where am I? Up at a school on East 96th street grading the geometry regents.
Back in the day schools gave exams then schools graded exams. Typically by committee. You'd get a room full of math teachers, each teacher would take a problem or two and we'd work through class envelopes. When all was said and done each question was checked by at least two teachers and the whole process took under a day - usually from the morning until a little after lunch.
How does it work now? Each school sends a bunch of teachers to an off site school. How many? In our case we sent more teachers than we have teaching geometry. In my case, I haven't taught math in 23 years but I was part of the group.
We then were assigned to rooms, then questions, and the marking begins, oh wait, not before mind numbing hour to make sure we know how to grade the questions. It's similar but far less efficient. When we grade in house, you can just chug through envelopes of exams - here, we spent almost half the time sitting around doing nothing, waiting for exams to be sent to the room. We are, of course, forbidden from having electronic devices so we can't be productive during this dead time - it's a mild form of incarceration or what I'd call "rubber room light." Oh, also the questions are only looked at by one grader - no double checking like in the old days.
All our papers were graded before we left yesterday – of course that didn't stop the site leaders from forcing us to sit around doing nothing for an hour before releasing us. Were we done? Could we return to our schools to get actual end of term work done? Of course not. We had to come back this morning to sit around doing nothing waiting for the DOE to say we were done.
To all you folks that complain about us lazy teachers - all we wanted was to get back to our schools and get back to work - it's the DOE that's saying no - you must sit around doing nothing - when you see those news stories about rubber rooms - don't be so quick to blame the teachers - many times it's the DOE that's to blame for keeping a good teacher out of the classroom and wasting taxpayer money.
Why do we mark papers this way? Simple, the government doesn't trust the teachers. We spend all day with your kids but heaven forbid we grade their exams. Truth be told, we don't need regents exams to evaluate our kids – we know them - we're with them all year. That said, if you do need a test - let's mark them in house.
Are there grade irregularities? In spite of the periodic story, I doubt they're widespread - and no - giving a paper a one over to make sure a kid got all the points the deserve is not cheating.
Of course none of this affects charter schools - they grade their papers in house. No incentive to misbehave there. It's just those greedy corrupt public school teachers that we have to keep an eye on.
Don't get me started on the actual exam - one where kids are set up to fail left and right - that's a story for another day.
Now that I'm home and back on line I can finish this off and post it. We sat around today until 11:30 and then were told to go to lunch and return at 12:30. Shortly after we got back we were finally dismissed.
End result: I ended up spending under one quarter of a day grading exams and two and three quarter days sitting around all because of asinine department of education policies.
Is there any wonder why I can't recommend kids go into teaching these days?
Back in April, I was at the second annual "Dream It, Code It, Win It!" awards. Some of our kids had submitted work and were selected as awardees in the high school division.
It was great to see them.
The Cahn brothers spent some time talking to the current crop. They mentioned one thing that really confirmed that I've been on the right track with my SoftDev class - they said it was their most valuable experiece at Stuy because they learned how to ship a product. To take something, as a team, from idea to delivery with all the bumps along the way. Now, obviously, we don't do everything - there are no questions of funding for instance and I think we cover a lot of great CS but giving the kids a chance to learn to take a project from idea to delivery and all that entails was a big part of the design of the course.
With that in mind, I just finished evaluating projects and here's a sampling:
Stuy kids live all over the city. Nadia, Aida, and Sydney solved the problem of where to meet your friends when you live on opposite sides of town:
Miranda, Leslia, and Anya built a Chrome plugin and server to summarize articles:
and Philipp, Richard, Steve, and Ziwei created an anonymous author attribution system:
Not a SoftDev project, but for good measure, here's Natan and Angelika's Ballroom Dance project - apparently they're the first two to actually do a SONG and dance and they've both got the pipes:
There were lots of other great projects all up on github: https://github.com/stuycs-softdev/student-work-spring-2015 albeit in a rather disorganized form.
So proud of the work they all did this year.
Today marked the last day of classes and time for the 8th annual Stuy CS Semi Formal.
What's the Stuy CS Semi Formal? It's another bad idea that we refuse to let die. Eight years ago JonAlf joked that someone in class joked that they should have a party and they should all get dressed up. My thought? "YEAH!!! LET'S DO IT!!!!!"
Eight years later, still going strong.
We cleaned out and decorated the room - classed things up by serving cheese, dried fruits, nuts and the like. Drinks served in fake plastic "wine" glasses and we encouraged the kids to dress up.
Kids can come and go any period they don't have any other class.
It's a signature event and a fun time. Whats more is that throughout the day you've got pockets of CS students all dressed to the nines in all their other classes.
For the first few years JonAlf and I did the heavy lifting but these past two, it's all been the students - particularly Jenny, Miranda, and Veronika (apologies if I'm missing anyone).
It's just another event that makes StuyCS unique.
The StuyCS Semi Formal, Clyde "Thluffy" Sinclair, and other assorted silliness - one of the reasons StuyCS is a family is that we try to have fun.
Jazz Hands day was the latest.
I got the idea at JonAlf's wedding. The wait staff were all wearing white gloves - all of a sudden it hit me - Jazz Hands!!!! and Jazz Hands day was born.
All of our Junior and Senior CS students, around 350 or so, along with their teachers would wear white gloves on a specified day. The rules were throughout the day, in any class, provided there were two or more CS Jazz Hands students in the class, whenever:
The kids would give a Jazz Hands salute.
Imagine, some kid gives a great answer and 1/3 of the class all of a sudden does Jazz Hands!!!!
Unfortunately, this was an event that I wouldn't actually be able to see as the havoc would be wreaked in other classes.
By the time we got to the end of the day, I knew we were on to something.
Word on the street was that a bunch of teachers thought it was hilarious. Apparently one teacher pulled the math chair into her class so she could see.
Then we had at least a few teachers that didn't get into the spirit and actually lodged complaints.
Let's see, we had students, via a non-verbal form of feedback, indicate that they were totally engaged by acknowledging what they felt was a good point.
I don't know what makes me want to fine tune this event more - the positive feedback or the complaints.
Big announcement the other day. Code.org will be partnering with the College Board.
They'll help school's adopt their CS courses and provide funding for Code.org's professional development.
Already it's made it's rounds with Alfred Thompson giving his take on his blog over here.
I'm not sold.
I do believe that Code.org has the best of intentions and they've been front and center on the PR front for CS Education - that's great but they also seem to be taking that startup mentality - scale, scale, scale, fast, fast, fast. It's the drop in curriculum plus PD approach. I wrote about it about a month ago here. I hope I'm wrong, but we'll see.
What I really want to comment on here is the whole College Board piece. The kicker is the PSAT 8/9 - a new PSAT exam for eighth and ninth graders. The Code.org blog says that schools will be encouraged to use this exam. The USA Today piece says that schools that use the PSAT 8/9 will receive funding to subsidize the Code.org stuff.
Either way, it's a concern.
As it stands, kids have to take either the SAT or ACT for college acceptance (for the most part). I know that now the College Board says that the SAT measures college readiness but I recall a few years ago they proudly proclaimed that the SAT could only predict one thing: how a student would do on the next SAT.
So, if the SAT has little value, the PSAT has less, other than possible entry to scholarships. Taking the test down to eight or ninth grade seems to have little to no value for students and don't tell me that an SAT style test in the 8th grade can determine if you'll be a good computer scientist or not.
What is it about?
Call me cynical, but I think the College Board is looking for a new cash cow.
Districts push the PSAT 8/9 saying it's good for kids and force the kids to take an additional test. Since schools and districts typically pay for the PSAT, the taxpayers fork over money year after year and funnel it to the College Board and get no real value in return. To make it all seem kosher, the College Board kicks in a little for the Code.org training, for whatever that's worth.
In writing this post I do not mean to say that there aren't some great programs out there - there are. I also know that most of the programs I'm aware are being developed by people who are really trying to do some good.
Since I wrote a post on my problem with drop in curricula on March 4 (http://cestlaz.github.io/2015/03/04/expedient-vs-good.html) I've been meaning to follow up with some of my thoughts on after school and summer programs.
This itch was further spurred when I read this post on avc.com: http://avc.com/2015/03/numbers-can-ruin-a-good-story/. It talks about startups - you can have a good story and raise some funds but then when numbers, that is, results start to come in, that story might not look so good.
The world of CS Education summer and after school programs are full of "good stories." My favorite is "your kid will learn how to build an iPhone app in 4 weeks!!!" If it were that easy, we wouldn't have a tech talent shortage and my grads wouldn't be in such high demand.
The truth is, it's very easy to get by in CS Education on nothing more than a good story. You never actually have to show real results. Most of the programs out there follow this pattern. I don't think it's intentional. It's just that most people running K12 CS Ed programs aren't educators and frequently they aren't CS people. What they are concerned is scaling so that they can get to as many kids as possible. They aren't dealing with next steps. Besides, to them, it appears they're doing great work - they buy into their own hype.
What's the problem?
Simple - learning takes time.
How do you set up the story?
Start by promising an awesome program - an awesome project after two or four weeks. With today's tools it's easy to make a mock up. Either you use simplified tools or you can use a lot of boilerplate code with pre-built components. These aren't necessarily bad in and of themselves, just don't pretend you're teaching the real deal.
It's easy to pull this off since there's no real follow up. Kids are then sent back to their high schools or off to college and results aren't tracked.
Also, make sure you recruit some high performing kids. I know a number of programs that have taken in my Stuy kids even though they already know more than the program has to offer. This guarantees that your program will look good since these kids will produce great projects.
I recall about a year and a half ago reading an article. It highlighted a youngster who went through one of these summer programs. A bright kid in a well regarded, well hyped, well funded program. I've don't think the article said so, but I heard many of this programs top people repeatedly say "our program better prepares our kids for the AP Computer Science exam than the AP course itself does." Hmmm. Well, in the article, the kid learned all these wonderful things from the program and then went back to high school.
A short time after, according to the piece, the kid was struggling in AP Computer Science and the article quickly threw the teacher under the bus. Now, I have no idea if the teacher was any good but if your program better prepares a kid for the exam than the class, there's not way the kid should have been struggling - unless, of course, it was all a story.
The truth is, that the designers and implementers of many of these programs don't know education and often know little CS. I can't tell you the number of kids that have come into my classes and programs proclaiming to be master programmers as a result of these programs and it turns out all they know is how to build a limited drag and drop prototype or how to tweak a pre-built template.
What's the harm? In my classes and programs, we can educate the kids but if this is in college with less support, self doubt will creep in and more often than not the kid will drop tech. I've seen it happen many a time.
That brings me to the next story – the glue programs. I also see a lot of this. Programs that teach the very rudiments of programming and then use pre-built libraries and packages to make really impressive looking results. They look great, but there's not a lot of substance under the hood. I remember seeing a number of these "finished products" and each time noting that the student contributed maybe 20 to 40 lines of code and they were mostly tweaks to the web site samples.
The final story is less of a story and more legit in terms of teaching but it still largely a story. That's when a program tries to teach too much to quickly. I've seen one and two week programs that promise the word. The kids put together some impressive stuff but since it's so much so fast, facilitated by lots of coaching, there's little retention and questionable understanding.
I was talking to a friend a few months ago. She worked with a number of high achieving kids teaching them to code. All seemed great. They got the kids back together months later for a follow up. I asked "how was the retention?" The reply "that's a real problem."
the truth is learning takes time. There's only so much you can do in an after-school or in a summer and it's not always flashy.
When I designed Google CAPE NYC for the summer of 2010 I knew we couldn't do everything in a month. What we did do is give the kids the fundamentals and a path to follow to learn more. They did neat projects but they weren't the over the top stuff you see other programs produce (as an aside, one of my grads noted - "If it looks too good to be true, it probably isn't true."). While we didn't formally track the kids, 3/4 of the kids we were still in touch with last year were still doing computer science at a second year college level so I know what we did worked but I haven't seen that type follow up from any other program.
What I do know is that we've got the best teachers and the best program and that our kids might not make something quite so flashy after three or four weeks as some of the other programs, our kids are set up for long term success.
So, if you're looking for a great program with great teachers and a solid plan, check out CSTUY. If you want to create a story, just follow these steps:
This past Saturday, 50 high school students, 10 high school mentors, and 10 more post high school mentors headed down to SumAll to participate in def hacks(2015): CSTUY's first hackathon.
The fifty participants, came from all over the city, Long Island, and New Jersey. They ranged from having never programmed to three or four years experience.
Projects ranged from web sites to full stack applications.
After workshops run by CSTUY teachers and mentors and also by Codesters.com the hackers spread out all over SumAll's offices, working in small groups with the support of our amazing mentors.
At the end of the day, the hackers demoed and the judges judged
In the end everyone made something terrific and walked away having built new skills, met new people, and gotten a little swag.
The judges singled out two groups for special recognition. One was a team of four experienced programmers who put together a full stack app to help schedule parent/teacher meetings.
The other was a solo project from a young man who had never programmed prior to the event.
That one really blew me away. We were able to give these groups Raspberry Pis thanks to a last minute donation from Fullstack Academy.
None of this would have been possible without the help of:
Our organizers - Caitlin and Lise
Our Mentors - both the Stuy students and the older mentors
and our Sponsors:
Quick post on why I love the Unix command line.
The kids signed up on a Google doc but we all know the story – when people sign up for a free event, even one with free food and t-shirts, many don't show. I asked all of the applicants to confirm by filling out a second Google doc.
Then it got to reminder time - I wanted to send an email out to all those kids who signed up on the first form, but hadn't confirmed on the second.
Two Google spreadsheets with an email field. I needed all the people on sheet 1 that weren't on sheet 2. I'm sure there's some spreadsheet-fu that accomplishes this, but nothing I know. I also could have written a little python script which isn't so bad, but this was a perfect time to turn to the shell.
So, here's how a command line guy would do this.
To start, I put the emails in two files: e1 and e2. The first has all the original applicants, the second those that confirmed.
|---------+---------| | e1 | e2 | |---------+---------| | firstname.lastname@example.org | email@example.com | | firstname.lastname@example.org | F@f.com | | email@example.com | firstname.lastname@example.org | | email@example.com | firstname.lastname@example.org | | email@example.com | | | firstname.lastname@example.org | | | email@example.com | | | firstname.lastname@example.org | | |---------+---------|
If we put these lists together, any email that appears twice would indicate that it's the email of someone that confirmed entry. Here we use cat to catenate e1 and e2 and pipe them through sort.
cat e1 e2 | sort
First problem –the upper case F – let's use tr to make everything lower case:
cat e1 e2 | tr A-Z a-z | sort
Now we can see the duplicates next to each other. Next, uniq -c tells us how many times each line appears:
cat e1 e2 | tr A-Z a-z | sort | uniq -c | sort
I added the sort at the end, but we didn't need it.
Here's what we get:
To pull out the ones that haven't replied I used egrep with a regex that means "any line that starts with 1 or more spaces followed by the number 1":
cat e1 e2 | tr A-z a-z | sort | uniq -c | egrep "^ +1"
and finally to isolate the emails using sed which removes the spaces and number 1 from the beginning of the line:
cat e1 e2 | tr A-z a-z | sort | uniq -c | egrep "^ +1" | sed "s/\ \+1 //g"
Each of the little utilities aren't all too useful by themselves but if you learn them over time you start thinking about how you can combine them to solve problems.
If you think this way and know some basic tools, all of a sudden all manner of text manipulation problems become pretty easy.Read more - comments
Last post was a little heavy so just a short fun one for today.
"Just another day at StuyCS." That was the subject of the email Brian sent with the photo above. What's going on?
Now, as sometimes happens, Batya, while in her CS class up at college, decided to open up a Google chat with me. This happens now and then. We try to have some fun with it. We actually have a plan to mess with the kids later this term, but I'll keep that to myself.
Now, Batya, of course, was sitting in her CS class in college. I told her what we were doing and continued with the lesson. She responded that Zach, her boyfriend and my former student said not to forget to emphasize certain things. I also asked Batya if her professor was having a chat with his kid while he was teaching. Everyone was having a laugh.
Then things got sillier. Another chat popped up. It was Natan, my son, who happens to be in that class. So, the insanity continued on when I get a video call - it was from Aida sitting in row 1 - that's what you see on the screen.
Now it was getting a little ridiculous and it all started with Batya and Natan. So, what's a a teacher to do? I had to contact their parent, my wife, to tell her to discipline her children. That's the third chat.
So, just another day at StuyCS.Read more - comments
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.