Pedagogy

Different languages, different techniques, different solutions

I spent this weekend diving back into Clojure or more specifically, Clojurescript. For those who don't know, Clojure is a Lisp that runs on the JVM. The solution it particularly seeks to "solve" is immutability. Clojurescript is Clojure that compiles to Javascript for web applications. Tooling aside, it's all pretty neat. I didn't do anything earth shaking, just a quick implementation of Conway's game of life and Snake. While the code isn't particularly good, you can check them out here (Snake, Life).
# COMMENTS

Do It First

Reading Garth Flint's end of year post and Alfred Thompson's follow up had me thinking about a couple of things. One was spurred when Garth wrote "They also have to figure out the math before they code." This made me think about all the details we sometimes take for for granted. Things that are hard for our students that we just know. It's frequently math that we might find trivial but it could also be much simpler things.
# COMMENTS

Choosing A Textbook

Now and again there are requests on the assorted CS Education forums asking about which text book to use. These requests are usually for APCS-A. There are usually a number of "I'm very happy with ..." replies but I thought I'd take a bit of a deeper dive into what teachers might want to consider when evaluating a textbook. It was never an issue when I started as a math teacher.
# COMMENTS

March PD for CS Teachers

Back in December we ran our first PD session for CS teachers. This was to address the need for professional development for teachers who were more experienced in terms of computer science - we aimed this at people who were ready to teach APCS-A, similar, or beyond and also to start to build a community for these teachers. We had trouble setting things up for February but we're good to go for March, April and May.
# COMMENTS

How I use Github Classroom

It's been an amazingly unproductive weekend. Mostly because I've been sick with the flu. It sucks but since the rest of the family's away anway at least I'm not making everyone miserable. I did manage to stage my next couple of classes and figured that writing this post wouldn't take too much energy since it's mostly a video. Earlier, I talked about using GitHub and TravicCI and this time around I show how I use GitHub classroom to set up, disseminate, and collect assignments.
# COMMENTS

Java Interfaces

Two of the hardest topics to make meaningful to students in APCS-A are inheritance and interfaces. It's not that they're super difficult topics but rather that they're not often needed, useful, or superior to not using them on beginner assignments. More often than not the motivation is a bit forced as are the assignments. Inheritance is its own can of worms and to be honest, something I've not found to be all that useful or necessary.
# COMMENTS

Github Classroom and Travis CI

I've been using GitHub with my classes since GitHub's early days. Over time I've gotten my workflows down. I use a combination of shell scripts - many just written on the fly, GitHub organizations, and some naming conventions and protocols that have served me well. A few years ago, the GitHub Education team started GitHub Classroom. I looked at it at the time. It was pretty cool but I had my workflow so I didn't adopt it.
# COMMENTS

Sequencing Topics

Monday's the start of the Spring semester. Other than the 8:00am start I'm looking forward to it. My 8:00am class is the honors/lab component that goes with CS1. I taught it last semester and during each of the past two years at Hunter. My second class is the follow up - more OOP / C++, data structures and some algorithms. The material is old hat. I've taught it in Java more times than I can count and also in C++ albeit many years ago.
# COMMENTS

Professional Development - APCS-A, similar and beyond

A while ago I wrote about our plans at Hunter to run professional development for CS teachers. Specifically, running once a month sessions for teachers who teach APCS-A, similar and beyond. The idea started as a joke but morphed into a legit idea. I was talking to some friends about CTLE hours and how ridiculous the system is. NY State teachers need 100 hours of CTLE credit (PD hours) every so many years.
# COMMENTS

Let Teachers Teach

Mark Guzdial's post the other day about direct isntruction struck a chord with me. Right up front, Mark said: The research evidence is growing that students learn better through direct instruction rather than through a discovery-based method, where we expect students to figure things out for themselves. Quite a surprise to the teachers who have been beaten over the head with "everything must be discovery" in recent years.
# COMMENTS