Friday, May 17, 2019

ACM CompEd Conference

Brett Becker has been blogging about the ACM CompEd conference now taking place in China. See his blog post at ACM CompEd daily update 1: Day 1 for example.  Looks to be a great conference. Not a lot of high school teachers have travel budget to attend of course and a lot of us are wrapping up the school year so it would be hard to get away anyway. But there is good news.

On his post you will find a link to the ACM Digital Library where the conference proceedings are currently open.

Reading the papers is not quite as good as hearing the talks but it is a lot better than missing out completely. There are things of interest to middle and high school teachers as well as some papers about integrating CS into other subjects. Like I said, things to a wide range of CS education interests.

I've downloaded about 18 papers to read. Hopefully once the school year is over in a couple of weeks I'll be able to give them the right amount of attention. But grab them now as they will not be available to people without a subscription to the ACM digital library for long!

Thursday, May 16, 2019

Computer Science And x

For most of my teaching career I have been focused on teaching computer science in stand alone computer science classes. And  I really like teaching computer science as a standalone class. But lately I have been thinking more about where CS can/should fit into the greater education process. This is not completely new thinking for me. I’ve always thought that computing tools are great for teaching other disciplines.

Spreadsheets are awesome for dealing with data in science classes, math classes, and even social studies (think graphing population growth) for example. Even early in my teaching time I said that there is a time for teaching tools to learn the tool but eventually using the tool to learn other things is or should be the goal.

We teaching reading as an independent subject in the early years but over time it become less an independent subject and more a tool for learning other things. The same is largely true of mathematics.  I believe that computer science in academia will be at its best when we reach a point where it is more and more a tool for learning other subjects.

CS teachers like to believe that somehow the knowledge and problem solving schools in CS transfer magically to other disciplines. Research show that any transfer is minimal at best. We in computer science have to stop ignoring that research is we really want to add value to education. Helping teachers on other disciplines learn to use CS in their teaching has to be part of that.

Mark Guzdial, who has taught me more about how to teach computer science than any other individual, is focusing his current research on to help teachers in other disciplines integrate computing into their teaching. This is important research in my not so humble opinion. I think that a lot of us who are already teaching CS need to start thinking about this as well.

At one point I thought technology integration specialists would carry this load. Many of these people are computer science people but many more are not. SO far I see computer science being integrated across the curriculum mostly in elementary and some middle schools. I really admire the K-8 teachers who have taken on the task of learning CS, largely on their own, and finding ways to incorporate it in to their teaching. There is little if any room for an independent CS course in elementary schools. There is a bit more in middle schools but the time is limited in most of them.

I don’t see much work on integrating CS in high school courses. The Physics department at my school would like to see us teach Python as they are seeing more of that in use by physicists. That my be an opening and we may add Python to our program at some point. Change is slow in education. Even sometimes in computer science.

Still, change has to happen. Change has to happen not just in standalone courses but who computer science departments in schools support other departments. For transfer of skills and knowledge to transfer it has to have context. And context doesn’t just happen. We have to make it happen.


PS: I really should have included this from the start. Bootstrap has courses aimed at algebra, statistics, business, social studies, science AND physics. GO check it out. It’s the sort of thing we really need.

Saturday, May 04, 2019

Migrating to Android–an early trip report

One of the reasons I held on to my Windows Phone as long as I did is that it was so easy to program apps for it. I had come to depend on one particular app I wrote to help with with the rotating schedule we run where I teach. I finally gave it (too many apps I could not run on the Windows Phone) and got a Google Pixel. Programming an iPhone would mean I also have to buy a Mac and that was a bridge far to far for me. Of course the first thing I wanted to do was to migrate my app to the Android platform. Visual Studio, Xamarin, and C# seemed the way to go.

The code and logic moved almost transparently. The user interface not so much.

One thing that complicates things is that the tools change so quickly. UI code that I created with Visual Studio 2019 Preview seems different from what was created by Visual Studio 2017. This also means that a lot of videos and tutorials are already aged out of usefulness for me. I’m still looking for some videos that work both with beginners to the Android API and Visual Studio 2019.

I finally got something working. It’s ugly but it works. The next step is to learn how to do decent screen design with the Android API. It is not as intuitive as Windows Forms was/is. Not even close. I feel like I am back in the 1980s. It feels like we are regressing in making user interface programming.

At least we still separate form and function. As long as the UI objects have the same names all my C# code seems to work quite nicely. This wasn’t the case in the 1970s and early 1980s. Back then UI code was usually integral with the logic code. That changed over time and the idea of separating form and function moved from new to controversial to the way things were done. It’s the idea that lead to front end and back end developers. But I digress.

Being able to drag objects where ever I want them is a wonderful thing about Windows Forms Design. Microsoft seems to be moving away from that easy to use tool to making programmers write more code by hand. I’m not a fan. Like I said, a return to the distant past.

At this point I have confirmed that coding Android apps is easy and all my C# knowledge is still usable. I’ve also confirmed that I have a lot to learn about creating an Android UI. I’m starting to look for a good book or some up to date videos that are not just marketing demos. Marketing videos focus on showing off features rather than teaching. Teaching videos are a completely different emphasis.

Anyone want to recommend a book or a set of videos that worked for them?

Wednesday, May 01, 2019

With Great Code Comes Great Responsibility

Omidyar Network, Mozilla, Schmidt Futures, and Craig Newmark Philanthropies recently announced the winners of the Responsible Computer Science Challenge. The challenge, and grants of up to $150,000, go to universities but the programs might have some use in high schools. Maybe. At some point.

The winners’ proposed curricula are novel: They include in-class role-playing games to explore the impact of technology on society. They embed philosophy experts and social scientists in computer science classes. They feature “red teams” that probe students’ projects for possible negative societal impacts. And they have computer science students partner with local nonprofits and government agencies.

Of course it is wonderful that these universities are integrating ethics into their courses. Society will benefit more as these universities package, promote, and see their programs expanded into other universities. That is the goal of the Responsible Computer Science Challenge. There is a second round of grants with that as the prime goal. It makes sense to develop and test programs before expanding them.

I hope that these institutions will seriously consider helping to adapt these programs, tools, methods, and other resources so that they can be incorporated in high school (maybe even lower grades) in the future.

Responsible Computer Science Challenge banner with logos