Pushback To CS for All

On the last day of 2019, Audrey Waters wrote a great piece on The 100 Worst Ed-Tech Debacles of the Decade. I agree with most of them but felt it was worth looking at a one in particular. Specifically number 6 - "Everyone Should earn to Code." I might dive in to some others later but we'll stick with number 6 for today. I read over these right after reading two recent posts by Alina Adam's son Gregory - a sophomore at Stuyvesant High School over on Alina's blog questioning NYC's CS For All initiative.
# COMMENTS

What I'm looking forward to in 2020

Happy new year to everyone. I've been reading some prediction posts this morning on blogs and social media. Big national and world level stuff. I've never been much for predictions so I thought I'd share some more local and personal things I'm looking forward to in the coming year. First a couple of big ones. I'm just about to complete my fourth year at Hunter. Time really does fly. It's been a long road but late in 2019 NY State finally approved our CS Teacher Certification programs!
# COMMENTS

10 years blogging

I read Doug Peterson's post this moirning on his 10 years blogging. I realized that I'm also finishing off my 10th year of doing the same. I also noticed that for a second year in a row, I've eclipsed 100 posts. That's an average of a bit under 2 posts a week which is more than I thought particularly when it feels like I go through multi weeks stretches without writing anything.
# COMMENTS

Keeping Current Between Semesters

People say that one of the impossible problems for CS teachers is keeping current - they say the field is constantly changing, how can a teacher keep up with all the new things going on. Well, on the one hand it isn't true - most of the core of CS is the same. We still teach roughly the same programming constructs, data structures and algorithms. On the other hand, it is true.
# COMMENTS

Multi Stage Assignments - the good and the bad - Advent of Code

In the real world you're usually not building your own projects from scratch. Much more frequently you're working on a team and you and other players come and go over time. This is in stark contrast to most CS educational experiences where students typically complete relatively small assignments from beginning to end. One of my biggest fears way back when as I was about to graduate college was when I woke up one night in a cold sweath "
# COMMENTS

Advent 2019 Day 8 - addendum - generating inputs

As I sad in my last post, day 8 would be a nice project or lesson in an APCS-A or college CS1 class. Another nice problem would be to write a program to generate an image in the format required by the question. Alternatively, a teacher doing day 8 with their classes might want to generate a bunch of images for the students to test their decoders on. I thought I'd write one to see how appropriate it would be for the students.
# COMMENTS

Advent 2019 Day - 8

I spent most of last week up in Albany working on the NY State K12 CS Standards so fell a bit behind. I had to go back to complete day 5 but still haven't finished day 7 which builds on day 5 which in turn builds on day 2. I might not get to finishing 7 for a while but it looks like a good chance to play with core.async - Clojure's facilities for concurrency.
# COMMENTS

Advent 2019 Day 4

Day 4. Most of the day was spent working on the NY State CS standards to I didn't figure to have much time to work on the problem. Fortunately, I was able to knock out part 1 before work started and part 2 was a quick adjustment when I got back to it at the start of lunch. Once again, it was a problem with a few interesting teacher side aspects.
# COMMENTS

Advent 2019 Day 3

Today's problem dealt with intersecting paths. You start with two inputs, figure out the paths they represent and where they intersect and then find the intersection that correctly answers the question. For part 1 you have to find the intersection closest to the origin. From a teacher's point of view, the interesting part here is data representation. This problem deals with a two dimensional grid on which the paths live. For most students, at least in my experience, if they're trained in a language like C++ or Java they go for the direct representation - a 2D array.
# COMMENTS

Advent 2019 Day 2

Day 2 of Advent of Code 2019 was also pretty straightforward and once again I wrote my solution in Clojure but in order to talk about this from a teacher's point of view, we'll look at a Python solution. At its core, this is a simulation problem - read the data into an array or list and write a program to run through the steps. At first I was hoping that the solution would consume the data - that is, once you read past an instruction you don't go back to it.
# COMMENTS