Thursday, October 27, 2016

Why is learning Binary hard?

Why is learning Binary (and various number bases) so hard for students? I don't remember how exactly there were taught to me except that it was in either the 5th or 6th grade and that I took to it like a duck takes to water. It was just such a cool thing and so obvious to me. For weeks I played around with changing decimal numbers into numbers in other number bases.

Maybe it was because I learned it early. For example, my HS students seem to have trouble wrapping their head around "5 divided by 2 is 2 with a remainder of 1." It takes about 15 minutes for everyone to stop answering "2.5"

At the end of a period they seem to have gotten most of it down. At least they can convert Binary to decimal. Going the other way is still a bit iffy.

I'm always looking for new tools for the purpose of teaching Binary. Any suggestions for teaching the topic?

Wednesday, October 26, 2016

Robots for Teaching are everywhere–Which should I use and how?

Do a search for “robots for teaching programming” using your favorite search engine sometime. You’ll find a lot of news about the latest and greatest robot for educational use. They are all “new” and “innovative” and designed to get students excited. This week it is Root – a robot that climbs walls or white boards. It even has a brush for erasing the white board. Looks pretty cool and I know at least one of the people on the team and they are awesome. This adds to a long list of educational robots. And I do have a list of robots for teaching programming.


So should you be using them to teach programming? And if so, which robot? Or several robots? How are you to know? My wife and I have purchased a number of robots over the years. My wife uses them with her students but honestly I haven’t been driven to use them with mine. I can’t explain why other than I’m just not sold on the idea for me. Although perhaps there is some analysis paralysis involved.

I’ve got some friends who just jump right in and try things out. My friend Doug Bergman has a number of robots he uses with his students. (Doug if you are reading we need a blog post or two about this.) I admire him greatly for his innovation. He has more time with his CS students than I do though that is a factor as well. When you have one semester total to teach programming as I do there is a tendency to play it safe. That may or may not be the best thing but …

I was thinking about this on my drive into school this morning. What I’d really love to see is a whole track at CSTA on robots. We’ve had the occasional talk about using robots in the past. And we had some robots exhibiting at the last CSTA conference. (Thanks for coming Wonder Workshop.) Wouldn't it be cool to have lost of educational robots in the exhibit hall and a bunch of teachers talking about their use of robots in actual classrooms?

I’m not on the program committee and I don’t know what the plans are or who is exhibiting but I can dream.  And I can suggest that if you are teaching with robots you submit a proposal. :-) If not that PLEASE leave a comment about the robot(s) you are using and how it is working for you.

Tuesday, October 25, 2016

Teaching Computer Science and the Good Idea Fairy

The Good Idea Fairy struck again today. I have been taking about data checking and data safety with my freshmen lastly. One of the things we talk about is parity checking (I blogged about that three years ago at Making Magic With Software) Garth Flint offered the term “Good Idea Fairy” in a comment there.  In any case I started to think about other things we do in computing for data integrity. Things like cyclic redundancy check (CRC).

CRC is an important topic and I do talk about it. The math is not something I want to do with my freshmen though. Still I wanted something that would be quick and easy to have them do. That lead me to think about check digits.  They are used in all sorts of things and yet some of them are fairly easy to calculate. The check digits used for the machine readable numbers on passports for example.

The formula is simple. The first digit is multiplied by 7, the second digit by 3, and the third digit by 1. Then the cycle repeats so the fourth digit is multiplied by 7 and so on. The results are added together and the result divided by 10 with the integer remainder being the check digit.. imageCalculating the check digit for a birthday (in the format yymmdd) is pretty trivial but gives students an idea of what is involved.

So I did that with student in class. Step two of the Good Idea Fairy is now I have more ideas for programming projects.

The easy version is to calculate a check digit from a set of numbers entered. That’s ok. And maybe fun for a bit. But I was thinking – suppose I created a data set of numbers with check digits and had students write code to scan the file for invalid data. Or just build a new data set with the check digit added. Now those would be more interesting. That may happen soon.

What is the latest project or teaching idea the Good Idea Fairy has hit you with?

Monday, October 24, 2016

Interesting Links 24 October 2016

The two big news event around computer science last week were the Distributed Denial of Service (DDoS) attack on Dyn and the release of the new K-12 Computer Science Curriculum framework. The DDoS attack was local news for me. Dyn is located not far from where I teach and where I will be taking students for a hackathon in a few days. While I’ll be talking about the DDoS attack with my students the longest lasting news for CS education is the framework so I’ll start with a few links about that.

 Introducing the K–12 Computer Science Framework, a milestone for CS education – this is the announcement as posted by Code.Org

One of the many gifts the K12 CS Framework provides -> a glossary of CS terms!

Educators, Organizations Develop K-12 Computer Science Framework This is one of many articles about the framework. I like this one because I was interviewed for it and quoted. Smile 

Cozmo looks like a fun robot. An interesting look into how Artificial Intelligence will help robots be companions perhaps. A good thing or a bad thing? Or just a thing?

How Your First Programming Language Warps Your Brain I’m not sure I buy the premise as given in the title. What do you think?

How I'd teach computer science by @davewiner Great idea. I think a lot of university courses do this already. It’s always interesting to hear/read the thoughts of how to teach CS from people who don’t actually teach CS themselves.

Don’t forget that the  2017 CSTA Conference Call for Proposals is now open!

Monday, October 17, 2016

K–12 Computer Science Framework Released

After over a year of hard work by a lot of people (I had a small role myself) the K–12 Computer Science Framework is now officially out.

Frankly I expect some criticism. This is computer science after all and we argue more than politicians or theologians. I think it is a good start for people to build on though.

The official announcement follows below. Check it out for yourself.

After over a year of hard work and countless writing workshops, stakeholder convenings, and lots of hotel food, I couldn’t be more pleased to announce today’s news.

The Association for Computing Machinery,, Computer Science Teachers Association, Cyber Innovation Center, and National Math and Science Initiative are incredibly excited to announce the launch of the K–12 Computer Science Framework. This is a big moment for the computer science education movement in the United States. Check out this video.


Thanks to the leadership of fourteen states and four districts, the hard work of twenty-seven writers and twenty-five advisors, and the support of leaders in the corporate, nonprofit, and education sectors, there is now a framework for implementing K–12 computer science. The framework promotes a vision in which all students critically engage in computer science issues; approach problems in innovative ways; and create computational artifacts with a personal, practical, or community purpose. To achieve this vision, the framework offers a set of guidelines to inform the development of standards, curriculum, and computer science pathways, and also help school systems build capacity for teaching computer science.

A number of corporations, nonprofits, institutions, technology professionals, and notable members of the computer science education community have announced their support of the framework, including Google, Apple, Amazon, Microsoft, International Society for Technology in Education, Project Lead the Way, Southern Regional Education Board, New York City Department of Education, and professors from universities such as Stanford, Harvard, and Duke. A full list of supporters is available at

A webinar about the Framework will be held on Wednesday, October 19, at 12 PM Pacific / 3 PM Eastern. Visit for more details and to watch the webinar on the 19th.

Personal note: To all my friends in the computer science education community, thank you for your support of the framework’s development—the unity shown has been the most encouraging part of the process. Now the work of implementing the framework begins!

For more information about the K–12 Computer Science Framework, including a list of practices and concepts, visit

Pat Yongpradit, on behalf of the K–12 Computer Science Framework

Interesting Links 17 October 2016

Lots of announcements from the Computer Science Teachers Association this past week. We’ll start with them for this week’s links.

NCWIT: Recognizing females in high school in Computer Science by @dougbergmanUSA Talks about the 2017 Award for Aspirations in Computing  for high school girls.

Bill the Lizard: Books Programmers Don't Really Read – an interesting look at some books that programmers read or say they read. 

Ford CEO Mark Fields on self-driving cars and Henry Ford   Is Ford a technology company? Where does code fit in? A lot of interesting things in this interview.

Using Minecraft in Education: 30 ideas for using Minecraft in the classroom 

What Makes a Program Elegant?  Software developers are always talking about elegant code but I’ve never been sure what that means. This article gives some idea of how one person looks at the idea.

Sunday, October 16, 2016

2017 CSTA Conference Call for Proposals

The CSTA Annual Conference is my favorite conference for computer science education. I have been privileged to attend most of them over the years. And honored to present at several.  This is the conference where people doing interesting things in K-12 computer science education come together to share ideas in workshops, concurrent sessions, birds of a feather gatherings and informal conversations. If you are doing something interesting, fun, or new teaching computer science you really should submit a proposal to present here.

The Computer Science Teachers Association (CSTA) invites you to participate in the 17th Annual CSTA Conference. This event will be held July 9-11, 2017, in Baltimore, Maryland.

The CSTA 2017 Program Committee seeks proposal submissions related to the practice of teaching and learning computer science and information technology in K-12. This year, the conference is seeking 3-hour workshops, 1-hour sessions, 20-minute mini-sessions and 1-hour Birds of a Feather.  Proposals for all session types must include:

  • the names and contact information for all presenters
  • an overview of the session
  • a description of the intended audience (level, knowledge, …)
  • a description of session activity (in sufficient detail for an informed decision)
  • presenter background and presentation experience

Proposal must also include an expanded description (to be submitted as a PDF attachment) that provides the following information:

  • background for the topic to be presented
  • description of the information to be covered
  • description of why this information is relevant/useful to K-12 computer science and information technology teachers
  • description of what the attendees will learn from this presentation, and
  • description of any handouts

Presenters will have the use of a computer projector and screen. If additional equipment or facilities are required, this should be clearly requested in the proposal; it may be possible to accommodate such requests but this cannot be guaranteed. Presenters will be required to pay for their conference registration.

All proposals will be submitted through the online conference submission system that can be found at If you encounter a problem with the submission system, please contact Chris Crucetti at or Tammy Pirmann

The deadline for proposals is midnight (Hawaiian time) on November 4, 2016. Review of proposals will occur shortly thereafter and notification of a decision will be made around December 5, 2016.  All submission will be evaluated on the following criteria:

  • technical quality
  • writing and presentation
  • relevance to CSTA (focus on K-12 computer science)
  • uniqueness
  • general conference theme and needs

Successful proposers should expect to be asked to submit a draft copy of their presentation by May 8, 2017. Draft presentations will be posted on the website for attendee reference and note-taking. All final presentations will be gathered by room proctors at the end of each session. Some sessions may be selected for videotaping, which will be shared online post conference. All workshops and sessions will be photographed.

Why present at CSTA 2017? The CSTA annual conference is the only CS conference specifically dedicated to meeting the needs of K-12 computer science educators. Come network with your peers, present your great ideas, and learn best practices. Here is what some 2016 conference attendees had to say about the conference:

  • “Best session and workshops I’ve ever attended at CSTA conference!”
  • “This was my first year as a CS teacher, and I’ve heard a number of good ideas that I’m excited to research further and implement in my classroom”
  • “CSTA has very welcoming presenters, participants and volunteers”
  • “Excellent conference! Very informative and exciting!”
  • “Networking opportunities and new friendships are invaluable!
  • ‘Best conference value for my PD dollars that I have found to date!”

Additional conference details can be found at

The deadline for proposals is midnight (Hawaiian time) on November 4, 2016.

We look forward to receiving your proposals and to your attendance at the conference.

Friday, October 14, 2016

Security and the Internet of Things

Yesterday I wrote about Cars and Code about the intersection of transportation and software development. As a teaser I mentioned secure code and the need for that with our software dependent and increasingly connected cars. Car makers are talking about cars sharing information with each other about things like road conditions and weather. Great stuff as long as everyone has good intentions. That is a bit much to expect though.

The Internet of Things is growing and we are only starting to think about what that means. If you haven’t started thinking about it this cartoon from may get you started.


Thursday, October 13, 2016

Cars and Code

The other day I heard someone talk about what it might be like if car makers or other manufacturers released products the way most companies released software. Think about it. “We think the wheels will stay on but we’re looking for beta testers for our new car.” Anyone want to sign up? Probably not. And yet a lot of software is widely released so that other people can do the final testing for the company. Think about beta releases of Windows for example.

As I mulled that over during the day I found myself listening to part of an interview with the CEO of Ford Motor company. (Ford CEO Mark Fields on self-driving cars and Henry Ford) During the interview he said that the Ford F-150 has something like 150,000,000 lines of code. Ok that is a fairly meaningless number in many regards but it does highlight the amount of computing power and related dependence of software in modern cars and trucks.

Image result for google self-driving carSelf-driving cares, which Fields also talked about, will be even more dependent on software. If that doesn’t make you at least a little nervous you probably never worked on the development of commercial software.

We probably need to think a bit more seriously about software testing and quality control for software designed for self-driving cars than we do for video games. But wait there is more!

More than it works and doesn’t kill people? Yes actually. There is the whole security question. (Hackers Remotely Kill a Jeep on the Highway—With Me in It)

We really need to get more serious about writing good, secure code.

Wednesday, October 12, 2016

Teaching For Change

This post by Valerie Barr (How We Teach Should Be Independent Of Who We Are Teaching) really resonates with me. A lot of what education is about is helping students develop into the people they need to be to make society better. While content knowledge is usually seen as the big piece, if not the whole piece, helping students see how that knowledge can be used for good needs to be part of it as well. We need to help students see computing as inclusive and as a force for making the world better. And not just as a force for making money.

We need to teach everyone that computer science is for everyone. It is not enough to teach girls that they can do it. We need boys to understand that girls can do it as well. In fact that part may even be more important in order to create a culture and environment where women can succeed as well as men. We already know that the big reason why women drop out of engineering and computing isn’t in the classroom. But I think that in the classroom we can start building for change if were teach our students, especially the boys, the right way to live. That starts with teaching my example even more than by words.

The more I learn about how computer technology is being used and misused the more convinced I am that ethics is an important part of teaching computing. I just ordered a copy of Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy which I heard about this morning via an interview with the author. We’re using algorithms that people assume are unbiased but which actually support unconscious biases.

My first degree was in Sociology and maybe that makes me more sensitive to the societal aspects of computing. Then again the societal aspects of technology was a big part of the undergraduate Systems major I also completed. Today though it sees as if technology and its impacts are not always given the attention that it should get. The more technology influences society the more we need students to understand that just because something can be done does it mean it should be done. The consequences and the people aspects have to be taken into account.

As teachers we need to think about that and help our students to also think about it.

Monday, October 10, 2016

Interesting Links 10 October 2016

It is Columbus Day in New Hampshire. Or as my family likes to say “Leif Landed First Day.” I’ve been enjoying visiting the amazing fall foliage in northern New Hampshire with my family this long weekend. (No school for us today). Last week I found more things I wanted to write more about than usual but I saved a few good links to share today.

First off some news about awards in computer science. Give some thought to applying for the second one. Separate awards for K-5, middle school and high school computer science teachers. Know someone who deserves recognition? Pass this along.

Desperately seeking the Nobel Prize for computer science   Apparently there are people pushing for a Nobel Prize in Computer Science. Is the Turing Prize enough or should their be a Nobel Prize?

Have your heard about the new  Awards for Teaching Excellence in Computer Science? (Note I am ineligible as I am on the CSTA Board but I want to make sure this reaches the wonderful teachers who read this blog.)

The 2016 Infosys Foundation USA/ACM/CSTA Awards for Teaching Excellence in Computer Science recognize talented computer science teachers at the pre-university (K-12) level around the world.  Up to ten (10) winners will be selected from eligible entries, and each will be awarded a prize of $10,000.
The application period for the 2016 award opens October 1, 2016 and closes November 1, 2016. Winners will be announced in December, 2016, and prizes will be awarded at the 2017 CSTA Annual Conference.

I ran into two very interesting articles about gathering information. I see these as great discussion starters about topics like privacy and how data can be used.

NFL reportedly using ball tracking chips in pre-season games via @engadget

Apple keeps track of all the phone numbers you contact using iMessage  via @macworld

Thursday, October 06, 2016

Facing Facts About the Geek Gene

There are a lot of people who want to believe that computer science ability is some sort of innate talent. That either you have a special brain that can handle it or you don’t. Teachers want to believe in it so that when students struggle they can blame something other than their teaching. Students want to believe it so they don’t have to work at something that may not be coming easily. And people who are good at developing software want to believe that they are somehow more special than other people.

Alas the research doesn’t support this theory. And there is a research paper on the Geek Gene paper [PDF]. I’d like to see more research on the topic but generally it appears that student ability to learn CS (or specifically programming) correlates a lot closer to teaching ability on the teacher’s part and work effort on the student’s part. Imagine that! Students who work harder learn better. Who would have thought.

I think we see all sorts of subjects that some students learn better or more easily than others. Hard work and focus mean that pretty much anyone can learn the basics of pretty much any subject. Interest seems to be a big factor in any subject.

Building excitement and interest is something teachers can do. They can communicate enthusiasm and they can make projects interesting. Or they can focus on narrow interest projects that reach only a few students. But a lot is up to the teacher.

Of course students have to put in some effort as well. We don’t accept (for the most part) a cry of “I'm just not good at math.” We still make all students take math courses. We don’t accept “I’m genetically incapable of learning history.” We just make students work harder.

Everyone can learn some computer science just like everyone can learn some reading, writing and mathematics. We shouldn’t be looking for excuses not to teach everyone.

Wednesday, October 05, 2016

Virtual Reality in Education–Sooner or Later?

There is a lot of excitement about virtual reality and the prospects of it changing education. Everything from Google Cardboard (on the low end of cost and ease of development) to Microsoft Hololens (more augmented reality than virtual reality perhaps) are being touted as the future of education.


These are exciting technologies. Are they the future? Probably. The big question is when. Some people are saying soon. Robert Scoble says that “Mixed reality is the best education technology humans have ever invented. By far." and he seems to think it will only be a few years before schools are fully onboard with Virtual Reality.

I agree in part and disagree in part. Mixed reality is awesome. He has amazing potential for education. But soon? I don’t think so. It’s not a technology problem though. The tech will be there. The tools for development will be there. And I suspect that a lot of companies will be selling products in the near future. Silicon Valley looks on education as being ripe for disruption and sees dollar signs.

Schools move slowly though. Walk though a school today and you will see a lot of technology not being used. In schools in our less affluent areas you may not even see much technology at all. Taxpayers are questioning the value of computers and related technology as it is. Will they jump to pay for expensive and unproven Virtual or Mixed Reality tools? Some will. Many will not.

When I bring up the slow moving of technology into schools people like to bring up successes like Khan Academy. And they will point to leading edge educators or even schools as examples. But these are generally not typical. Khan Academy works great for self motivated learners or learners who have someone making sure they watch the videos. They are used in schools but not as replacements for teachers. In fact they are used very similarly to how slideshows were used when I was in school 50 years ago. hardly disruptive technology.

There will be parents who buy educational VR/MR tools for their children. There will be parent organizations who buy them for individual schools or teachers. Both will be limited to affluent parents and schools for years though. Schools with tight budgets (which is most schools) are not going to be early adopters.

The typical way technology has been adopted in recent years is pretty clear. There are early adopters who get grant money and do innovative things with the technology. A year or two later they start presenting at conferences like ISTE and get a lot of people excited. A year or two later some schools buy some of the technology and hand it off to teachers who are untrained, or unenthusiastic, or both. The technology goes nowhere in most of these schools. As a result excitement over the tool wanes and people start looking at the next “silver bullet.”

We saw this with FlipCams for example. There are many still collecting dust in schools all over the country. Then we saw iPads which are now being replaced by Chrome Books. Are any of these really disrupting and improving education? In a few places perhaps they are but not widely. Those few places get a lot of attention and I can see how people who want to believe in them think great things are happening everywhere but that is hardly the case.

Virtual and Mixed reality will make a difference. Initially for the well off and the children of parents willing to sacrifice for their children. Going mainstream is going to take a while.

Tuesday, October 04, 2016

Infosys Foundation USA/ACM/CSTA Awards for Teaching Excellence in Computer Science

On behalf of CSTA, ACM and the Infosys Foundation USA, I wanted to let you know that applications are now open for the inaugural Infosys Foundation USA/ACM/CSTA Awards for Teaching Excellence in Computer Science.  Up to 10 award recipients from K-12 for awards of $10K each will be selected.  At a minimum, two awards each must come from K-5, 6-8, and 9-12 respectively.  In addition, up to three of the awards may be granted to teachers outside of the US.  Applications are open now until November 1.  Winners will be announced during CS Ed Week in December.

We are seeking outstanding CS teachers working in K-12/pre-university education for this award.  Included below are the links to the press release and the application.  These resources include additional information regarding eligibility and application requirements.  Please share with good candidates for these honors.

Press release:

Award application page:

Monday, October 03, 2016

Interesting Links 3 October 2016

It’s autumn in New Hampshire. The leaves are turning all sorts of bright colors and the nights are getting cool. And school is rolling right along. It’s a great time of year I hope your years is also going well. And to my Jewish friends Shana Tova as you celebrate the new year.

I didn’t blog much last week but I did collect some good links to share. Some of them I will be writing more about this week.

Harvard professor Venkatesh Murthy and his team are teaching computers to detect odors: Sounds pretty cool to me. I wonder what unexpected things this will lead to.

Lots of new in Artificial Intelligence these days. Internal email: Microsoft forms new 5,000-person AI division; via @GeekWire

And then there is this - Facebook, Amazon, Google, IBM, and Microsoft come together to create historic Partnership on AI via @techcrunch Is this good news or bad? I know some people who worry either about AI in general or these companies working on it in particular. What do you think?

'Geek gene' denied: If you find computer science hard, it's your fault (or your teacher's)  via @theregister Of course a lot of people want to believe in a geek gene. Do you?

Make a micro:bit guitar with this guided tutorial! This looks like such a wonderful maker-style project. If you are in the UK or otherwise have access to a BBC Micro:Bit you will really want to check this one out.guitar design samples

Melinda Gates Has a New Mission: Women in Tech” by @jessiwrites Gates money and energy involved in getting more women in technology? This may be interesting.

Network servers learning from bees?  Awesome! It appears that nature still has a lot to teach us. Even involving computing and leading edge stuff like balancing servers.

What is Computational Thinking? and interview with Jeannette Wing now at Microsoft Research and previously at Carnegie Mellon University.