Monday, December 31, 2018

Looking Back on CS Education in 2018

The last few years I have written start of the year posts about things I want to track in Computer Science education in the new year. Last year’s post is at Computer Science Education Things I'm Watching in 2018 At the end of the year, like today, I write about how those things tracked over the year.

The first thing I wrote about last January was Advanced Placement Computer Science Principles. I was half way through the year teaching it for the first time at that point. Now I’ve been through a whole year and am half way through the second. APCSP grew a lot and continues to grow. Curriculum from, Beauty and Joy of Computing (BJC) from UC Berkeley, and Mobile Computer Science Principles (Mobile CSP) from MIT continue to be top curriculum in use. It’s a heady time for AP CS. At this point APCS P is pretty settled into many schools and looks to grow even more. The existing “canned” curriculum and related training are key factors.

The next big item I was following was K-8 Computer Science Education. This is still an up and coming area. The #CSK8 twitter chat has been my best window into this area and it continues to grow. The first chat of 2019 will be 2 January 2019 at 5pm PT and 8PM eastern US time. I didn’t attend ISTE in 2018 and that is usually my other deep dive into K-8 CS. But K-8 CS continues to grow as the CSTA Annual Conference and local professional development events like the 2018 CSTA New England Regional Conference.

State Standards continued to grow as more and more states adopted them. In the last year or so my home state, New Hampshire, adopted new CS teacher certification guidelines, state standards, and passed a law including computer science as part of the definition of an adequate education. Other states moved forward as well. I confess I spent a lot more time looking at NH than other states.

It was a good year for computer science education in general. Here’s hoping we continue to see progress in 2019.

Friday, December 14, 2018

Sub Goal Labeling in Computer Science

One of the interesting ideas in teaching computer science I have been looking at is sub-goal labeling. I’m experimenting with it but to be honest I don’t feel near ready to share what I am doing.

As a wrote recently (The Problem With CS Education Research ) it can be hard for teachers to take research and adopt it because, well, research papers can be hard to read for some of us. And the world of the university classroom is a little different from that in the high school.

Fortunately for me, and for you, Clark Scholten has been trying things out and blogging about it. I highly recommend his posts.
Anyone have more suggestions of resources for learning how to use sub goal labeling?

Friday, December 07, 2018

Teaching Phone Programming Should be Easier

Garth Flint and I have been independently looking at resources for teaching mobile phone application development. (Garth’s posts are linked below) I’m currently teaching a course using AppInventor which is going ok but not as well as I’d like. Most of my students own iPhones which AppInventor doesn’t currently support. Their iOS support is currently under review by Apple but my course is almost over. Even with Android phones I still have some trouble with connectivity. And the emulator is a mess. Some days I can’t get it working at all. So I’m thinking about what to use to teach next year.

There are other options. I have been testing Thunkable with some of my students. The good is that it supports both Android and iOS. The bad is that this support doesn’t support many sensors and really that is a huge part of what I want students to do. Without sensors its just another desktop app with a tiny screen.

I still need to take a closer look at LiveCode which seems to come up in this discussion so I don’t know much about it yet. Input welcome!

I haven’t tried the platform specific (ie professional) tools yet and I am reluctant to do so. The ones designed for iOS or Android only work on those platforms and I’d like to use both. Since most of my students have iOS devices than going Apple might be a way to go except that that requires developing on Macs. We have a Mac lab but its already used a lot. And they are all Macs which comes with its own complications. I am not a fan. That’s a last resort.

Microsoft Xamarin with Visual Studio is a cross-platform professional option. I’ve looked very briefly at it in the past. Setting it up is non trivial and I do have to have some connection to Macs for the iOS loading. Networking to a Mac or three might be an easy option.  Well, easier than taking over a whole lab. I need more time to work on that option though. I don’t know many teachers using it which is a concern.

I really wish Windows Phones had not died out. I have a Windows Phone and writing apps for it with Visual Studio (2015 or earlier only) is a piece of cake.

Wednesday, December 05, 2018

Where Does Computer Science Fit–Revisited

David Renton is teaching his students at Porter-Gaud how to program virtual reality projects. He posted a video of some of these projects a few days ago.

These are pretty cool, Virtual Reality apps created by [David’s] Porter-Gaud High School senior CS students using Unity for SteamVR. They tested them using HP & Lenovo Windows Mixed Reality Headsets. They each created at least 2 3D models themselves using Maya and imported the other models from the Unity Store and/or They also created at least one sound effect themselves using Audacity. They coded the interactions using C# in Visual Studio.

One project was highlighted on the Microsoft Education blog with a post by the young lady who created it. How a VR trip through the solar system honed my down-to-earth skills – go read it. I’ll wait.

That is a project that involved math, physics, and art into a computer science project. I suspect that the math teacher she approached for help was pretty pleased to get involved. I’ve sent students to math teachers myself over the years. 

We don’t ask where reading fits in the curriculum after some magic line in elementary schools. We teach students to read in large part so they can use it as a tool to learn more about more subjects than just reading. I’ve long believed that computer science can, and should, become a tool that students learn to help them learn other subjects.

Yes, we need students to have a base of CS knowledge first. David’s students have had several years of CS, starting in elementary school, before they get to him. Using that base they can learn more about CS for sure but they can also create projects that interest them and motivate them to learn more, not just about computer science, about a wide range of other subjects.

Like reading, we need to teach enough CS that it can be used across the curriculum. It can’t stay a silo subject if we’re really going to see students use it to their potential.

Edit: See also the Luminous Science curriculum being developed by  Ben Shapiro’s student. Brings together science, art and #computing. Also awesome! Ben is on twitter @bennytheshap

Monday, December 03, 2018

Happy Computer Science Education Week


It’s CS ED week again. Yeah! This is the week that thousands of teachers around the work introduce millions of students to computer science. Many of them for the first time. Some through the Hour of Code, some though special speakers, some though creative ideas of their own, and on and on. Teachers are by nature creative people which it comes to sharing ideas. It’s an awesome week.

Earlier today I joked that there were no Hallmark cards for CS education week. The obvious suggestion, print your own, came very quickly. It’s not a bad idea. It got me thinking though. Wouldn’t it be nice is one aspect of cs ed week was an appreciation of those teachers who work to bring computer science education to students on a regular basis?

Last year, CSTA and started the Champions for CS awards. You can read about the 2018 Champions for Computer Science Awards. Those awardees will be presented with their awards at a special 2018 CSEdWeek kickoff event today. That is great. I hope we can safely assume that part of their role is to serve as a sort of proxy to honor other hard working CS educators as well as highlighting exceptional teachers, students, and programs. At least that is how I choose to see it.

Personally, I’d like to thank the many CS teachers who have shared ideas with me, taught me, and supported me over the years. There are so many of them and I can never list them all. There have been blog posts, comments on blog posts (mine and others), teacher presenters at conferences and PD days, hallway conversations, and formal training events. So much to learn and so many teachers who are willing to share what they know. We in CS education have a wonderful, caring, and helpful community. Thank you all who are part of it. You’ve made my career and my life richer.