I woke up to this tweet by Mark Guzdial today:#pro-version-or ed-version.org#
An indication that CS Ed in US high schools is about vocational training: 2 (of 5) recommended sessions at the @csteachersorg conference are on Github and Agile. Is @CSforAll a Silicon Valley jobs program? https://t.co/n8ugnmTU84— Mark Guzdial (@guzdial) May 28, 2020
This led to a lively discussion throughout the day with lots of likes and lots of comments. Two themes emerged. One wondered if the CSTA conference should be highlighting these talks about professional sensibilities and the other questioned the use of tools designed for industry vs those designed for schools.
Let's look at the former first. For full disclosure JonAlf and I are co-presenters of the GitHub session that was highlighted. Truth be told I had no idea it was highlighted until I read Mark's tweet :-). CSTA is a conference for teachers, K12 teachers. Teachers go to learn new practices. Sure there are sessions about advocacy and the like but it's really more like a multi day professional development session on steroids. That's one of the things that makes it so wonderful. If a session gives teachers something of value it's worth presenting. It can be what they teach, how they teach, or something ancillary to teaching even things as mundane as gradebook management. If it helps make a CS teacher better, it's appropriate to include.
I can't say why any particular session was chosen for highlight but it really isn't a big deal. There are always sessions on specific lesson ideas, cross curricular stuff, ethics, standards, equity, CS4All, APCS, and lots lots more.
Now, what I'd like to see would be a banner on the conference page where every time you go there it displays a random assortment of sessions that are being offered.
What about the second point - professional tools or educational ones. First let's lump things together, git is a tool, so is GitHub. Same for agile - it's a tools as are programming languages. Now a great craftsman is a great craftsman but their job is a whole lot easier with a full chest of quality tools.
If a professional tool makes a teacher better it's worth learning.
Let's look at agile. I've never used terms like scrum or sprint in my class but pair programming comes out of agile and that's become a mainstay of CS classes. Same thing for the short development cycle and all the testing. These are agile concepts that we take for granted as education tools. Are we going to use everything about agile in every CS class? No. Does it belong in CS when CS is embedded in other subject areas? Who knows but if a teacher gets exposed to it at CSTA then they can make an informed decision and use it when and as appropriate.
What about git/GitHub? I wouldn't teach using it when CS is embedded but I might in a HS programming course and I certainly would in APCS-A or beyond. I've found that there are many positives of using them and I've written about it before on this blog.
The truth is that both git and agile provide ways of increasing student communication and collaboration and these are good things.
Even if I decided that my classes shouldn't use git, I'd still use it for my web presence and to distribute materials and that too makes it worth learning.
Just because a tool came from industry it's not necessarily bad and if it came fro education it's not necessarily good.
Thonny is a beginner Python IDE. It was designed specifically to be a learner environment. It's great for that. Eclipse is a professional IDE and I hate it for education. Other people disagree with me on both counts.
On the other hand I've seen tools written by people in education that are god awful.
Then you also have well designed education tools but they fill a narrow niche - they're so specialize that a teacher and student can only use them in a specific case. A teacher then needs to find multiple tools for their multiple classes and students need to learn even more.
Let's assume we have a bunch of these educational tools and their all pretty well designed and help students get to whatever it is they're supposed to learn. Taken individually each tool seems great but taken as a whole? Where's the line? Is it better to have the teacher learn and support a handful of these and students learn even more or should they spend more time/efforn to learn one or two tools where the tool will beuseful beyond the narrow scope of the specialized one.
The answer is of course, it depends.
I was part of a workshop this past summer and this came up. We were looking at a pretty sweet specialized tool that worked really well for one niche area. We also looked at Google Sheets which were less intuitive but more versatile and universal. Which to use? We never came up with a compelling answer either way.
There's nothing inherently bad about industry tools and there's nothing inherently good about educational ones. It's true that industry tools are designed for industry but education tools are by and large not designed by teachers. They might be designed by people who teach as part of their job or who have taught but that's not the same thing. Sometimes they hit but sometimes they miss their mark.
In math class we would typically draw arcs and circles on the board with a giant chalk compass. It was specifically designed for education. You know what works better? A shoelace.