Thursday, June 30, 2016

Interesting Projects Funded by SIGCSE

Earlier this week I received email about several grants that SIGCSE has awarded. I think they look pretty interesting. I’m especially excited about the first one. Making coding accessible to everyone is important.

The SIGCSE Board is pleased to announce three recent SIGCSE Special Projects grant awards. 

  • Making Block Languages Accessible
  • Richard E. Ladner
  • University of Washington

Block languages such as Scratch, Snap!, Alice, Blockly, App Inventor, ScratchJr, and others, have opened up programming and problem solving to millions of children worldwide.  This project will make block languages accessible to blind children so they can have the same opportunities as their sighted peers.   Most blind children in the US are already familiar with smartphones and tablets including the gestures used to navigate and spatially understand what is on a touchscreen. This project will extend the open source Blockly language by building on touchscreen phone applications. 

  • The Dawn of Computing: Charles Babbage and the Difference Engine
  • Mark M. Meysenburg
  • Doane University

Dr. Meysenburg will create a Reacting to the Past role-playing game, "The Dawn of Computing: Charles Babbage and the Difference Engine," regarding British polymath Charles Babbage and his quest to build his difference engine. The game can be used in general-audience first-year seminar courses, to encourage students to study computing.  Reacting to the Past games revolve around debate, with groups of students divided into factions aligned to different sides of the issue at hand.  The central issue at stake in “The Dawn of Computing: Charles Babbage and the Difference Engine” will be whether or not Babbage should be awarded funds from the British government for the development of the difference engine, first in 1823 and then in an ongoing manner. The outcome will be in the hands of the students.

  • A Tutoring System for Red Black Trees
  • Chun Wai Liew
  • Lafayette College

A web based tutoring system will be developed to help students learn top-down insertion and deletion algorithms in balanced trees, specifically in red-black trees.  The tutoring system will help students recognize the preconditions for single and double rotation transformations.  The system will allow instructors to provide problems and will automatically generate solution paths.

Sunday, June 26, 2016

Microsoft US MIE Forum 2016–Day 2

Day two started with a keynote by Stephen Reid about game playing in education. It was very interesting and he showed samples of a lot of games. He spent the most time on Minecraft. It does seems like some interesting cross curriculum things are going on in classrooms using Minecraft. I’m waiting for them to reopen modding for us in CS classes though.

The rest of the morning was concurrent sessions with teachers talking about how the are using various technology in their schools. I attended one session on Microsoft Classroom. It is a basic learning management system that works well with Office 365 and several student information systems. Well worth looking into if you are in the market for an LMS. It has some very nice features and they are building it up with teacher feedback.

Next I attended a talk by Melanie Wiscount about flipped classrooms. I learned a bunch and she shared her presentation Sway at  Flipped Learning Sway One key take away was that flipping is not always a daily thing. I felt validated in my thoughts of using it occasionally. You can see the lists of tools she uses on that Sway. Sway is pretty cool as well. I need to learn more about using it.

WP_20160626_008I skipped the third breakouts because I got the chance to try out Doug Bergman’s HoloLens. The first picture is a close up of the device on Doug. Its basically a Windows 10 computer with two screens as a wearable device. It feels very light and one almost forgets the are wearing it as they get involved in the experience. WP_20160626_007

In this next picture I am wearing the HoloLens and interacting with a virtual shark floating in space. My mind was racing with ideas for using this in education. Virtual reality looks to be huge and I hope education gets out in front of it and takes advantage of it. It is too powerful to be limited to games and entertainment.

Doug has students writing code for it BTW. It’s fairly advanced programming though so we’ll see where development takes place going forward.

The afternoon started with some classroom hacks – useful suggestions and information from teachers. I saw some really cool things to do with pens on Surfaces. I’ll play with that at home and write more on that. Also cool was how to create custom ribbon tabs for Office applications. I’ve started to create one for myself to make it easier to get to the things I use most. But the suggestion was also made that a teacher could make a simple custom ribbon for students. I can see this being very useful for young students, special needs students, or any student who might be overwhelmed by the full blown ribbons that come standard.

The closing presentation was by Mike Tholfsen who is from the OneNote team at Microsoft. He talked about  OneNote Class Notebooks.  I really need to get my school using Office 365 so I can take full advantage of this tool.

It’s been a great event. Microsoft makes all the teachers feel appreciated and important. I hope I can come to more in the future.

If you are interested in being a part of this program Nominations for the 2016-17 global Microsoft Innovative Educator Expert program are open! Learn more:

Here is the group picture from this weekend’s event.

MIE Expert photo

See also Microsoft US MIE Forum 2016–Day 1

Microsoft US MIE Forum 2016–Day 1

I’m in Denver for the Microsoft Innovative Educator Expert Forum this weekend. I’ve spent some time at these events in the past but those times I was there as a Microsoft employee. This time I am there as one of the teachers selected to participate. It feels really different. Not better or worse – just different. Having been before I know what amazing teachers are invited so I’m really honored to have been invited as a teacher.

It’s quite an event with 101 teachers from all over the country here to share ideas and learn from each other. And from Microsoft of course but most of the presentations are teachers who are working in the classroom.That makes for some real authenticity.

Anthony Salcito,vice president of Worldwide Education at Microsoft, gave the opening keynote. Anthony and I have talked a bunch over the years when I was at Microsoft and since. He really impresses me with as having a real interest in making education work better and not just selling stuff to schools. In his keynote he talked about needing to “go beyond digitalization.” That is to say we should not be doing the same old things with new tools but we should be using tools in innovative ways to change the way we teach. That is something one hears from a lot of teachers who want to really shake things up in education. Microsoft seems pretty serious about making tools that help teach better and differently.

imageThere were a number of short flash talks from teachers. My friend Doug Bergman gave one representing the computer science teachers. He talked about the need for more people who think like computer scientists. He thinks we need to get more people not just into CS majors but CS minors. Given how important CS is in so many fields I think he is right about that.

He also made an impassioned plea for “no more meaningless projects” As more and more schools and districts start requiring more CS this plea is critical. We have to avoid turning off students who sign up for courses that are required and which they don’t start with an interest. CS is fun and exciting. We need to teach it that way.

There was a lot more to the day of course. All of the teachers prepared poster sessions and I saw a lot of interesting things. Much of it for younger grades. And Doug showed off his HoloLens. But these are some of the highlights for me.

Wednesday, June 22, 2016

Do We Teach Design for Everyone?

Summer is a time for me to think about how I want to teach better in the next school year. I’m always looking for ideas about this and recently came across this post about Designing Games for Everyone at Microsoft. Now I’ve been thinking about this for a while as part of my involvement with the K12 Computer Science Framework (see as this issue is a big one for us. It’s being covered in the principles section.

I’ve been thinking about how I teach this in my courses. Of course when we talk about web design and HTML I make a big thing about using the alt tag for images. I talk about why that is so important. And several places in my freshmen course we talk about color choices. Many students have no idea about various color blindness unless we talk about it in class.

I’ve thought about a unit on accessibility but at the same time I wonder if teaching it in context, integrated with other discussions, might not be the best way to do it.

While I’m thinking about this accessibility (dealing with people who have different abilities) is not the only thing to talk about when discussing designing for everyone. There are also cultural issues. Race, color, national origin, and more. This shows up in little things that can mean a lot. For example a shortage of female emojis. (See Google proposes new set of female emojis to promote equality ) Why were they not their from the beginning? Now isn’t that an interesting topic for discussion!

We need our students to think about these things and more. Inclusivity has to be designed in to our software. It can’t be an add on for later. Teachers need to help students see this before they develop bad habits. Doing this better is a goal for me for next year. I’m looking for resources over the summer. Suggestions anyone?

Tuesday, June 21, 2016

Better Comments in Visual Studio

Thanks to Channel 9 I found an interesting extension for Visual Studio called Better Comments.

"Better Comments is a Visual Studio extension that gives you the ability to customize the font and opacity of your comments independently of the editor's font settings. It also adds four additional comment classifications, each classification with its own customizable foreground."

What I m thinking is that I will use it two ways. One is to highlight TODO items in starter projects that I supply for students. The different colors and fonts should make things stick out more.

The second way is when I review student's code online. I figure that the question type will make it more apparent with I want to ask questions about their code in their code. When I see code that should be deleted using the cross out comment will be more clear as to why I have commented something out. I'll use the important type to make sure they see specific hints and suggestions.

Anyone else using this or something like it?

Monday, June 20, 2016

Interesting Links 20 June 2016

I think my brain shut down when I left school last Monday to start the summer break. While I got a lot of personal business done last week my mind was really not on computer science. Oh I collected some good links (shared below) but I didn’t have much to say myself. So I didn’t say much in this blog. Maybe I’ll get on track this week. In the mean time check out the links to people who were thinking CS.

Learn to Program with Small Basic” a Book Review by Middle School Teacher, Martin Fish. I plan to do my own review soon.

Doug Peterson writes A colourful post  to introduce the RGBChallenge. That’s a fun little game to help learn the numeric representation of colors (or as my Canadian friend spells it colours)

Why Aren’t There Simple Programming Languages?   Maybe there are though. I think some block programming languages may fit the bill. I found the ideas interesting anyway.

Mark Guzdial talks about Five Principles for Programming Languages for Learners in one of his posts. His is based on research though so I take it very seriously.

Getting closer to "all" in #CSforAll: Instructional supports for students with disabilities in K-5 computer science covers an important topic that we really don’t know enough about. He has a link to some of the work by Maya Israel in this area.

Apple, Microsoft and Google race to introduce your kid to coding from CNet. I think Apple is coming late to the game and the Swift based tool is not available until the fall. One would have thought they would have wanted it available for teachers to try it out over the summer.

Microsoft MIE Teacher Academy Trainings  some online  PD for teachers

Having a PLN – Professional Learning Network – another great post by Doug Peterson. 

Monday, June 13, 2016

Interesting Links 13 June 2016

School is out for the summer! Well it is for me as of noon today. Teacher wrap up but my grades are in and my room is cleaned up for the summer. Looking forward to some time off mixed in with a bunch of summer professional development. Hope you are ready for the same. Here are a few links that may help with the PD.

I added the Mirobot to my list of robots for learning to program. It’s a kit that is Arduino compatible. Looks interesting.

I added Thunkable to my list of block programming tools. It’s based on AppInventor but they are working on supporting iOS which would be cool.

Do you teach Lego Mindstorms EV3? Take it to the next level! Small Basic has the tools for it.

Looking for some summer learning? 6 Summer Reads That Will Teach You—and Your Students—How to Code via @EdSurge

Don’t forget that the Final Review of the K-12 CS Framework is Now Open

Microsoft is giving Minecraft to schools for free -- here's why via @CNNMoney

K-12 Computer Science Education: U.S. State Reports from Google They looked at 11 states and found some interesting things out.

The programming guild doesn't want you to learn to code by Mark Guzdial. I think he is right and that there is a lot of fear behind the resistance of some software people to see CS expanding in schools. 

On a related note is Coding snobs are not helping our children prepare for the future

Saturday, June 11, 2016

Computer Science Because Students Like It posted this image of the class students like the most on their blog.


The full survey data is on slide 48 of this PowerPoint from the researchers who did the survey.

There is a lot of detail in the referenced PowerPoint but this is certainly an interesting  table. I’ve already seen a lot of discussion of it on Facebook. Being computer science people there are a lot of questions about what it means. The first one being is this result because CS is usually an elective and so we have self-selecting population? A close look at the dats suggests not. Why? Well AP CS scores higher than other AP courses and AP courses are generally filled with students who have an interest in the subject.

Still it would benefit us who teach CS to keep the required CS courses, which are coming more common, interesting. Looking at the courses with more or similar percentages of students who like them the ,most they al involve creativity. That suggests we need to make sure we make our classes as creative as possible.

Of course I think CS is inherently creative and fun. That’s why I have been involved in it for so long. As teachers we needed share that with our students. Cookie cutter assignments were every solution looks the same are not going to cut it with students. No matter how easy they are for teachers to grade. Let’s not teach the fun out of computer science.

Thursday, June 09, 2016

The Final Review of the K-12 CS Framework Now Open

Good stuff here. We really need a good review of this framework to make sure it is as good as it can be.

The ACM, CSTA,, CIC, and NMSI, along with lead states, districts, writers, and advisors, welcome you to engage in the third and final public review of the K-12 Computer Science framework. This review period began on June 8 and will close at 11:59 pm PT on June 29. Review a part or the whole - anything helps! The CSTA standards use the K-12 CS framework as an input.

The goal of the K-12 CS Framework is to describe a foundation for what all students need to know and be able to do in computer science. Instructions for individuals and facilitators of group reviews, an online review submission form, the review draft, and background materials are now available at

  • To provide an effective review of the framework draft, please read the about, FAQ, and the annotated presentation at

  • Watch the review period launch webinar recording on the review page. Learn about the development of the framework and how to provide an effective review.

  • All of the comments from the March 18 - April 5 review period were considered and the writers are still working to incorporate the feedback. Check out the April blog post for information on revisions.

Visit to start the review process and sign up for updates!

~ Pat Yongpradit, on behalf of the K-12 CS Framework project

Monday, June 06, 2016

Interesting Links 6 June 2016

Sorry there was no interesting links post last week. Long story – feel free to ask me about it if you run into me in person this summer. In any case I am back on track and hope to be more regular going forward. Perhaps a little slower in the summer but we’ll see. This time next week my school has its final day for teachers and then summer starts. My summer is packed with professional development so I hope to still have good things to share. Links below are from the last two weeks.

Check out BBC-Microbit and Kodu integration - now, even more fun ways to use Kodu!

New from Barbie Careers - Game Developer Doll Barbie – I’m not sure how I feel about this. Women I know have been buying them and sharing the link though. Some people are buying them to use as conversation starters about the role of women in game development.

Creating AR and VR Apps on Windows – I need to spend some time with this over the summer. Virtual Reality and Augmented  Reality should be a game changer for a lot of games. And not just the kind you play.

Anyone can now buy a BBC micro:bit Or at least order them. I’ve used this link for BBC Micro:Bit & accessories

9 Raspberry Pi Projects For Your Summer Vacation from InformationWeek. I really need to do something with the Pis I have this summer. Speaking of the Raspberry Pi - there is now GoPiGo a robot car built around a Raspberry Pi. Looks cool if a bit pricy

Nominations for 2016-17 Microsoft Innovative Educator program now open! Its a good opportunity to network with peers and learn about what Microsoft is developing for education.


Microsoft and Facebook to build subsea cable across Atlantic   Do students understand why this is happening? A good conversation started about the economics of the Internet.

Minecraft Education Edition beta goes live (for schools only) Anyone using it?

What do you think? Too young?

Friday, June 03, 2016

Helping Students Debug Code

It is final project time for my programming students. They are working on projects to show me what they have learned. They are very clever these kids. So clever that sometimes they can’t figure out what the did wrong. That’s were they need me. It’s so good to be needed.

Now there are two basic types of problems. One is syntax problems. The other is logic problems. You’d think they’d be easy to find and fix for an experienced coder like myself. In most cases you would be right. But not it all cases. As I said these kids are clever. They figure things out that I would never ever do. For example they delete things because “I didn’t know what it was for” that the system added automatically and that it needs. I’ve seen a lot of those so in many cases the fix is easy.

In other cases they do something that is new to me. In other cases there are hard to find errors. Missing or extra semi colons are common. At least Visual Studio helps me find some of those. Today a student had a bunch of errors that showed up because a they left a parameter out of a method call. The error messages were no help at all. But experience sure helps.BTW I always make students watch me debug so they can learn how its done. That may be on of the more useful things in the course.

The hardest part of helping students with logic problems is understanding what they are trying to do. I suppose that it is not surprising that they have trouble explaining it to the computer when they have trouble explaining it to another person. This process of thinking about a problem and developing a clear description of what is to be done is hard. They have this idea in their heads but getting it out in a way that doesn’t include magic can be hard. I need to figure out how the help them do this better.

Sometimes students start by asking me the wrong questions. They ask “how do I do [such and such]” referring to a code structure, an object, or some other feature of the libraries or language. Somehow they have decided that will do what they want if only they figure out how it works. Sometimes they are right but not always. Generally I have to ask them what problem they are trying to solve. Often this means I suggest some other way to solve the issue.

This is the old “if all you have is a hammer all your problems look like nails” problem. Students can’t learn everything about a language and its libraries in a few weeks so they try to make all their problems fit the tools they have learned. While I try to assign projects they can do with only the tools that have been covered in class when final projects come around and they have more choices things get different quickly. I think that maybe half the good learning comes in the last week of school when they work on these projects.

Next week the projects have to be done and I get to grade them. I expect to learn a few things in the process. Hopefully my students do as well.