Thursday, December 29, 2016

Looking Back on CS Education in 2016

I started 2016 with a post called Computer Science Education Things to Watch in 2016. It's time to look back and write about what I think I saw over the year. My next post will be about what I will be looking at over 2017.

Very Inexpensive Computers – I think I called this one right. I didn't expect to see a large uptake in these small, simple, and inexpensive computers. There is potential in them. I think maybe we'll see more of them in after school, weekend, and summer programs.

BBC:Micro:Bit – I blogged about a lot of resources for these devices over the last year. They are still not generally available in the US though. I'm a bit far away to really judge the impact they may have had in the UK. So I'm still watching.

MOOCs and other Online CS Teaching tools – Yep, still not a huge impact. I have seen some of the online AP Computer Science MOOCs have some impact though. These seem to work where students have some local support of some kind even is that is support though providing time, space, computers, and someone to track that they are working. As a completely independent learning tool they still seem to work best with heavily motivated students.

Advanced Placement Computer Science Principles – This really seems to have taken off. Lots of people attended summer workshops including me. According to what I hear this has been one of the best new AP course introductions ever. Lots and lots of interest around the country. There are still some open questions about which programming languages will be most popular or which of the highly promoted curricula will be a) most adopted and b) have the best results. This is something to look at over 2017.

Python vs Java vs drag vs drop programming – I haven't seen a determination on this. With the AP CS A exam still in Java I think that slows Python adoption at the high school level. At the middle school level, a fast growing level, I see a lot more Python than Java. But a lot of drag/drop programming as well. I don't think we'll see a single language being "the thing to use" in the near future. And that is ok.

Computer Science for Everyone - This went better than I expected. A lot happened. A comprehensive K–12 Computer Science Framework was developed and released. The Computer Science Teachers Association (CSTA) announced Revised Interim Standards. several states released state wide standards as well. Ruthe Farmer, Senior Policy Advisor for Tech Inclusion for the White House office of Science and Technology Policy, recently blogged about a lot of what the White House was involved in this year (A Year of Milestones for Computer Science for All). All in all a lot of progress. It remains to be seen what sort of support the new administration in the White House will bring but there is a lot of momentum in the states and that is a hopeful thing. In my home state of New Hampshire, CS4NHis a new public/private partnership that is starting to make some positive moves. Some work on a real certification for CS teachers is in the works for example. Many other states have similar things going on. I'm optimistic in a way I wasn't a few years ago.

So that is what I was watching over the last year. Some new and some old things to watch for 2017. More on that very soon. In the mean time, what were you watching last year? And how did it go?

Friday, December 16, 2016

Acting Out The Loop

One of my major goals this year has been to get more activity in class to help students understand concepts. Jumping right into code is awfully abstract for many students. So I have been adding activities to help students see the connection between concepts in programming and in real life. Looping is where I have been having some fun. Probably most of what I am doing is old news to experienced teachers. Maybe sharing some of them will spark people sharing other ideas I can steal adapt for my own use.

I’ve been having students walk for a while. Take 7 steps for example for a counting loop. Walk from place a to place b for a while loop. And the ever popular “walk that way” (choose a wise guy for this one so they keep pretending to walk when they get to the wall) for an infinite loop.

Lately I added some activities with a deck of cards. Count out 10 cards or count this batch of cards (always use a subset or include jokers so someone will be wrong if they shout out “52”) as a loop activity. Pull cards off of the deck until you get to a face card or some other specific card to demonstrate a while loop. It seems to go over well.

For the difference between a counter variable and an accumulator I have been using a small handful of coins. “What is the total value of the coins” and “how many coins are there” are very different activities. And I don’t know about your students but mine pay attention when money is involved even if they don’t get to keep it.

So far it seems like these examples help students grasp the concepts better and faster. It may help that students seem to pay more attention to what their peers are doing than what their teacher is doing.

Students don’t realize how much of what they do every day is really some form of looping. Walking for example or climbing stairs.  Or even writing essays (keep writing until you hit 500 words.) I hope that by making the reality of it all more solid it will help as we take on the coding involved. So far its going well. And it makes the class more interesting for me to teach as well. Win win! Smile

Wednesday, December 07, 2016

What’s Your Elf Name–A Programming Project

I love string manipulation projects. Maybe because I have always been more of a word person than a math person. Who knows why. I see them every where. For example this time of your one sees a lot of images like this one shared on social media.


It’s a simple enough game.Pick one part of the name based on the first letter of your first name and the second from the month you were born. As a programming project it lets students use arrays and do some parsing work converting words selected into indexes into those arrays.

And of course is it seasonal so there is that. There are many variations of that sort of meme to be found. Recently I found the “what is your Sith Lord name?” meme.



I’m tempted to use this one before I have students test for palindromes next semester. A lot of thought goes into reversing strings for people new to programming. This one makes for a simpler project which can be a good thing.

But maybe you want to avoid the Sci Fi thing and it is not the Christmas season. How about spirit animals?

spirit animalSpiritAnimal

It turns out that a simple image search for “what is your name” (I used Bing for that link) turns up a plethora of examples. I was amazed at home many I found. There seems to be one for just about every season or holiday and many popular social interests. Something for everyone I think.

I’m still using the Shakespeare Insult Generator project though. That’s fun.

Thursday, December 01, 2016

CS Education Week School/District Pledge

Does your school believe in Computer Science for All? Take the @CSforAll #CSEdWeekpledge to show your support and be included in announcement!

Our economy is rapidly shifting, and families, educators and business leaders are increasingly recognizing that computer science (CS) is a “new basic” skill necessary for economic opportunity and social mobility in a world driven by software.

The CSforAll Consortium is preparing for Computer Science Education Week that takes place December 5-11, and the White House would like to include the name of your school or school district in the announcement celebrating the CSforAll initiative.

The Consortium is calling on every school principal and district superintendent in America to join in its commitment to support the goals of expanding access to CS by signing the CSforAll Pledge. To be included in the White House CS Ed Week announcement with the CSforAll Consortium, please complete the CSforAll Pledge by Friday December 2nd.

Sunday, November 27, 2016

How Fast Can You Sort a Deck of Cards?

OK I admit it – sorting fascinates me. No, really it does. OF course it is also an important topic for computer science classes. CS Unplugged has a lot of resources for teaching/learning sorting algorithms. Hadi Partovi of Code.Org shared a link for a very cool Sorting Algorithms Animations web page. They're all pretty cool. It’s nice to have multiple tools in your toolbox for something like this. Recently I tried something new with my freshmen.

I asked my students who thought they could sort a deck of cards the fastest. Could they do it faster as an individual or as part of a team? Freshmen being freshmen there were several who thought they could do it faster as an individual. Others liked the team idea. So tried it. I took out a deck of cards and shuffled it. Then I timed a student as they sorted it. BTW the first discussion was “what does sorting a deck of cards mean?” Is it all Aces followed by all twos or is it Ace to King of one suit followed by Ace to King of the next suit? Does the order of the suits matter? All important questions that open the door to conversation about sorting.

Setting teams of students to the task is interesting in different ways. Using a team allows for some parallelism in the process. Most teams start with one person separating the cards by suit with the other team members sorting each individual suit. A really good team might split up the deck for the initial sorting by suit.  A good conversation can be had about those different techniques. One of the best discussions I have had involve asking why using four people is not four times as fast as only one person.

Everyone softs things from time to time but no one seems to think about it much. It is one of those things people just do. Thinking and talking about it is the first step towards doing to better. Using something common place like a deck of cards while looking closely about what is going on seems to be a good learning tool. Anyone else doing something like that? I’d love to hear other ideas.

(As an aside: the deck I used was the Notable Women in Tech Cards. I have the poster version on my lab wall as well. Good conversation starter.)

Saturday, November 26, 2016

Programming vs. Computer Science

Programming is not the same thing as computer science. But of course they are related. For example, knowing how to use the following arrays is programming. Knowing which one is more efficient and why is computer science. Especially if you know that the answer starts with “it depends.”

int[,] myNumbers = new int[50, 3];
int[,] yourNumbers = new int[3, 50];

Just a thought for the day.

Friday, November 18, 2016

Truth and Fiction in Programming Memes

I ran into a couple of images with messages about programming today. One I think is useful. The other I think is the opposite of useful. The first one is cute.

safe_imageI see this all of the time with my students. Either they write some code without understanding it of the IDE creates some very important code for them. Either way they don’t quite understand what it does. They find it confusing. So they delete it. What could go wrong? Quite a bit it turns out.

This happens to more experienced programmers as well. Hopefully not as often. The lesson is that you really do want to understand code before you modify or delete it. Hint: Comments can help here. If other people are ever remotely likely to look at the code (or if you are remotely likely to ever look at the code again) having good comments can help prevent the deletion of important code by contributing to its understanding.

The other one I found annoying. sleepyFor one thing it perpetuates the stereotype that programming requires long hours, little sleep, and not much of a life. Not helpful. But it gets worse. Programming with insufficient sleep can result in serious mistakes, bad code, and problems for a lot of people.

I’ll never forget a developer I worked with many years ago. He insisted that he could (and had to) work very long hours on very little sleep. When asked about “diminishing returns” he replied that was not a problem for him. Then one morning we came in to work to find out that he had accidently erased our main development store. The backup was also not as current as it should have been. We lost a week’s worth of work for several people. Ouch!

No, if you are sleepy it means someone has messed up. Someone has not planned the work properly, done work properly, or set unreasonable deadlines. Or something else but still something is going wrong not right if the programmers are tired. Proper planning can avoid a lot of missed sleep. So many people seem to skip that step though. Go figure.

Wednesday, November 16, 2016

Hello Cloud 2017

I’m telling my students  about this. Looks like it will be educational even if money is not enough of an incentive.

hello cloud

Online Contest

The Power of Azure

Master cloud computing with Microsoft Azure and you could win $1,000!

Cloud computing is changing the technology industry. When you start looking for your first job, will you have the cloud on your résumé? You will if you compete in our Hello Cloud Challenge!

Every month, one student will win our $1,000 sweepstakes. To compete, all you need to do is sign up for Azure (free, no credit card required) through Microsoft Imagine and then complete one or more of our Hello Cloud activities. Each activity you complete gives you another chance to win. And you only have to do each activity once – your name will still be in the sweepstakes month after month!

Register for our Hello Cloud contest today and you can get started!

The Hello Cloud activities are hands-on real world scenarios that will help you learn how to manage and deploy projects in the cloud!

Thursday, November 10, 2016

Too Many CS Teaching Resources

The Bring IT, Together conference is taking place this week in Niagara Falls, Canada. I’m not there but I have been seeing some social media updates today.  It looks like a great conference and on some level I really wish I were there. At the same time I have been thinking back on a conversation I had last Saturday with Pat Yongpradit (Chief Education officer at Code.Org and a wonderful teacher).

We talked about how many tools are available for teaching computer science these days. There are an awesome number of them. There are robots for teaching programming. There are block based languages for teaching. And then there is an increasing number of Internet of Things objects for teaching programming. Last weekend I attended a workshop on using microprocessors and electronics for teaching programming (and more). There is the BBC Micro:Bit, Arduino, Raspberry Pi, and many more micro processor based items all the time. (I should make another list but maybe someone is doing that already?) 

Do we need all of this stuff? How do we pick from all the stuff out there? Every time I go to a conference is see a “shiny new object” for teaching computer science. My first inclination is to get one (or more) and think about how to fit it into my curriculum. And then someone reminds me that I have limited teaching time and limited resources and there is that whole only 24 hours in a day restriction.

Much of what we are seeing is brand new and while it looks great there is seldom research or experience to back up its usefulness. Usually we see it demonstrated by either the people who created it or by early adopters. I would expect it to work for the people who created it. Generally people create tools closely aligned to how they teach. I know my first textbook was based completely around the way I taught and what works for me. Does something that works great for the creator work for everyone? Much as we’d all like to think so it is far from a sure thing.

The same, to some extent, is true of people who are early adopters of new resources. How much of what it working for them is related to the ways they would teach with any other resource and how much because of the tool itself? It’s really hard to tell. Some tools are adopted enough over time (think Alice and Scratch) that it becomes clear that they can work for a lot of people. Though a close look shows that Alice works better for some teachers than Scratch does and some times Scratch works better than Alice for other teachers. Which one are you and how do you find out?

OK this is coming out a little more negative than I really intended. I do like new tools. And I do try to bring them into class. On the other hand a lot of stuff I have used for some years seems to work really well. There is nothing wrong with using things that work even though they are not the latest and greatest thing being show at tech conferences. Right?

Saturday, November 05, 2016

Thinking Deeper About Programming Contests

I have this set of mixed feelings about student programming contests. On one level they just feel very artificial and inauthentic. You have a tight time schedule, some problems that are as much about the algorithm and they are programming and its all a narrow view of computer science. But lately I have been thinking beyond the façade in a way.

I took a group of students to a competition hosted by the Internet company Dyn the other day. The day started with tours of their offices. Like most Internet companies these days the offices at Dyn are cool. They are in a renovated mill building so the modern interior and the old exterior and “bones” of the building make for an interesting contrast. The tour impressed the students. (and me as well.) So that was a start. Then there were some brief (they must understand HS student attention spans) talks about Internet topics. Dyn was recently in the news for a Distributed Denial of Service attack so hearing from people involved about that was pretty impressive.  The “please study CS so you can come to work for us later” that students heard from professionals was huge as well. Having that experience is probably worth the trip by itself. It helps to see where they could be one day.

I’ve been to a lot of high school programming competitions in the past. Usually I spent my time there with faculty. I did some of that at this one as well. There is a lot of value in getting a bunch of CS teachers together to share ideas and experiences. While that is not a goal of these events (always) it is a valuable side benefit.

Being at an event with students was pretty new for me though. It changes how you look at things. I watched the students (MY students) work. I could not help them of course nor could I really listen in on their process. I could observe it. What I saw was unmistakable teamwork. The process was dynamic. It was not always the same student at the keyboard (teams were only allowed one computer) for example. All three students were involved no matter who was at the keyboard.  Developing that teamwork is a critical “soft” skill that seems to be reinforced by an event like this.

After the competition the students talked a little about how things went. Clearly there was give and take, strategy, and planning during the competition. Having that time crunch seems to force some organization on students. Sure we have deadlines in the classroom but they are not as close or as tight as in a programming competition. This is probably a good thing.

tl;dr I’m thinking that taking students to more programming competitions may be a good ide. And not just so they can win prizes.

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.

Monday, September 26, 2016

Interesting Links 26 September 2016

We celebrated my grandson’s second birthday yesterday. Somehow I couldn’t get into putting this post together afterwards. It felt like work. Having grandchildren changes perceptions. But now I am at work and have things to avoid doing so this feels like a good idea. Ever have a day like that? Plus there are some good links that really should be shared.

We Have to Start Thinking About Cybersecurity in Space I’m not sure I want to but we probably do.

Students ask me "What other kinds of jobs can a person get with a computer science degree besides a developer?" Other jobs in CS post by Marty Stepp Lecturer, Computer Science Department, Stanford University

How six scrappy young inventors built a breakthrough text-to-Braille translator device Spoiler alert: The whole team is young women.

Barriers to Stack Overflow Use for Females by Mark @guzdial For myself I wonder how the field, especially via the Internet, acts towards beginners of all kinds.

Are you developing primary computing in your school? Find out what has worked in Hampshire, England

How Microsoft wants to 'solve cancer' using computer science via @CNNMoney Quite a story. Computer science means getting involved in a lot of big deals.

Why I Teach Kids to Code at the EE Times by ex-Microsoft person (and friend of mine) Lynn Langit via @eetimes She’s doing some great work.

Humor. Or is it? I showed the below to my students so we could talk about is.

"Spaces or tabs?" "Semicolons."

Friday, September 23, 2016

When But It Works Isn’t Enough

I saw this image on Twitter recently. It was captioned:

"Spaces or tabs?"


It’s all perfectly legal C or C++ code. And a decent compiler will handle it just fine. But oh is it ripe for bad things to happen. Of course this is just a humorous example. No one would ever do it. Right?

On the other hand I have seen some code that was pretty hard to read. Students need to learn the value of programs that people can read as well as the computer. Somethings that get in the way of people understanding code can lead to things the computer gets wrong as well. At best they make it hard to update, modify, enhance, or fix programs. A working program that is unreadable by people is not as useful as one that people can read.

Another  of the things I see regularly is student code that compiles and executes and gives the correct answers but is horribly inefficient. Or it takes advantage (often unintentionally) of side effects that are not always going to be consistent, for example across different libraries. Or they just plain do things the hard way.

I’ve been working with my students on loops and if statements. We created a program that works just fine for small samples but it doesn’t scale easily. By adding arrays we can make it much more scalable but we haven’t introduced arrays yet.  When we do they’ll see better, easier ways to do man things. This particular program will seem obvious to almost every student. Not all optimizations are as obvious though. This is something we have to teach.

Beginners are often ready to settle for “it works. it gives the right answer. What more does it need?” Eventually many of them will get to a point where performance is an issue. Or maintainability will be an issue. Sure many will never get there but increasingly I think we do students a disservice if we are willing to accept work that is not as good as it could/should be for the level of knowledge.

Thursday, September 22, 2016

Bug Reports

I saw the following tweet earlier today.  Still earlier in the day I read a post on Mark Guzdial’s blog about Barriers to Stack Overflow Use for Females which had me thinking about how people ask for help on Stack Overflow.

What is the connection? Well it seems to me that one source of frustration and negativity on Stack Overflow is related to people not reporting bugs well. In general beginners do a poor job of reporting bugs. Experts, like those on Stack Overflow, often lack patience with poor bug reports.  Teachers don’t have the option to be impatient though. It is our job to work with students to help them understand. That means helping them learn to report bugs.

A student will often start by reporting “my program doesn’t work.” Somehow they think that is enough information. Of course it is not. The definition of a program not working is a broad one. “Why doesn’t your program work? Because you have done something wrong.” Two completely accurate statements without a trace of enlightenment in them.

Often I mind myself asking “What does ‘doesn’t work’ mean?” The process of analysis and developing an understanding of the basic problem has to be taught. Students don’t always know how to describe the problem.  It is as if they stop thinking when something unexpected happens. Part of teaching has to be to help students look for and acquire more information about the problems they are seeing.

Another problem is a lack of vocabulary. What is a stack overflow anyway? Sure an experienced person knows but the student decides that maybe he can have his function call itself soon discovers that “something bad happens” even if he doesn’t understand why it happened.

One of the things I have to get students to share when they have troubles is what problem are they drying to solve. What they think is the solution my be breaking because it really isn’t a good way (or a way at all) to do what they need. Explaining the problem they are hoping to solve often leads directly to understanding what is really going wrong with a project.

Student’s usually want and sometimes need hints (Would You Like a Hint? ) but we have to help them learn how to report/explain their issues first. If not we’re not really helping them learn at all. We’d just be giving answers away.

Monday, September 19, 2016

Interesting Links 19 September 2016

The big news last week was the launch of the CSforAll Consortium  with over 180 members committed to K12 CS Education. That was not all I picked up last week though. I’m pleased to have a good bunch of links to share with you today.  Let’s start with some CSTA news in case you missed it!
Have you seen the new @csteachersorg Standards Video  Computer Science Teachers Association standards announcement video.
ACM and the CSTA announced new awards for teaching excellence in computer science funded by the Infosys Foundation. Very exciting! Are you a good candidate? Check it out soon.

Interested in hosting a Family Code Night? there is a free kit for elementary schools available online. Sets start people thinking about (and in) code early.
  There is a new drone programming course for schools, Drones 101 from @gotynker I think I need a drone. Are you using one or more with students?
Robot Reinforces Learning Interesting article on the Blo0g @ACM  about “Quinn provides feedback to the students through an easily recognizable facial emotion set, here smiling to indicate approval.”

Friday, September 16, 2016

Computer Science–Because it is Magic

Seems like a number of people have been blogging  about computer science for everyone this week. This may well be related to this week’s Computer Science For All Summit at the White House and the announcement of the new CS For All Consortium. Or maybe coincidence. I don’t really know. What I do know is that today brought a post by Mehran Sahami (a really smart guy who teaches at Stanford) called Why Computer Science Education in K-12 Settings Is Becoming Increasingly Essential. It does a very good addressing some of the concerns about trying to teach CS to everyone. But there was one, in my opinion, money quote.

Arthur C. Clarke mused that “any sufficiently advanced technology is indistinguishable from magic.” Providing a CS education can potentially lead a child who wishes that magic really existed in the world to realize that maybe it does, and inspire them to use that magic for our common good.

Computer science is a lot like magic to a lot of people. I even hear students from time to time explain “It’s like magic” when their program works right. Yes, they do say that.  After all the years I have been writing code it still sometimes feels like magic.

But magic or science, computer science does have the power to change the world for the common good. That is sort of magical itself.

Teaching Beyond Programmer’s Programs

There is a difference between computer science and software engineering. There are some big and important differences. There is of course a lot of overlap. In any course advertised as “computer science” there is some tension about how much software engineering to include. In some senses this comes most into play when talking about the difference between a program that is usable only by the original programmer and one useable by just about anyone.

I have a bunch of the first type. For example I have a phone app that I use to keep track of the rotating schedule my school uses. It works well for me but I couldn’t easily hand it off to other teachers to use (even if they had Windows Phones) because it uses some initialization files that are not really that easy to set up. If I wanted to make this program easily usable by other teachers I’d have a lot of extra work to do. That may be the best example of the difference in my mind – software engineering is about making programs lots of people can use without deep CS knowledge or knowledge of how the program works internally.

Now of course Human Computer Interaction (HCI) is part of any good university computer science program but just how much of that can fit in a high school single semester course is an open question. Even a year long course, especially an Advanced Placement course, has limited room for software engineering concepts. Still I feel like it is important to include as much as does fit.

A program that does everything is is supposed to do but that is very hard to use soon becomes unused. The benefit of using a program must far outweigh the cost/work of using it. Not just a little because momentum (we’ve always done it this way) can be a lot to overcome.

So we talk about it. Adding labels to a GUI project (especially when using Visual Studio with C# or Visual Basic) can be a trivial matter to implement but add a lot to usability. I have been thinking that  maybe I should take some programs and reduce or remove things that help usability or at least understandability to start some conversations going forward. Great more work. Maybe I think to much.

Thursday, September 15, 2016

White House Summit on #CSforAll & CS for All Consortium

Yesterday the White House hosted a major summit on Computer Science for All. I wasn’t there myself but was able to watch much of it via live streaming. It was a pretty inspiring event. Ruthe Farmer, Senior Policy Advisor for Tech Inclusion at the White House, was the host and organizer and collected a veritable who’s who of CS education people and organizations for the event. That the CTO of the US, Megan Smith, was the closing keynote is a good indication of official support of the event.

Probably the single biggest announcement, and there were a number of important programs announced, was the creation of the CS for All Consortium.

Computer Science for All is a bold new initiative to empower all US students from kindergarten through high school to learn computer science and be equipped with the computational thinking skills they need to be creators in the digital economy, not just consumers, and to be active citizens in our technology-driven world.


There are a lot of resources at the CS for All Consortium website and it is well worth checking out. You can also follow the CSforAll Consortium on Twitter @CSForAll and if you are on Twitter and interested in this important effort I encourage you to do so.

They’re on Facebook at and Instagram at so there is all that as well.

The Computer Science Teachers Association (of which I am a proud member) is a founding member of the Consortium and is on the steering committee. CSTA is a highlighted member of the Consortium so you can read about the CSTA role in the CS for All Consortium on the website. (You may find a quote from me if you scroll by the more important people quoted BTW.)

Monday, September 12, 2016

Interesting Links 12 September 2016

Is everyone back at school now? After a couple of short weeks school happens all five weekdays this week. I think I’m ready for a full week. Getting back into the full swing of things takes me a while. Looking around school I am not the only one. Hopefully you are all doing fine. Here are a few links to get your week started,.

PiBakery Dramatically Simplifies Setting Up the Raspberry Pi Looks like some useful software for people using the Raspberry Pi.

Photo published for PiBakery Dramatically Simplifies Setting Up the Raspberry Pi

What's an algorithm? by Harvard’s  David J. Malan   I may use this in class.

Using Makey Makey with TouchDevelop looks fun and easy

This Walmart Worker Built The Company An App In His Spare Time via @cora @buzzfeednews Are we in the golden age of the non-professional developer? Maybe we are.

Microsoft is betting that a more neurodiverse workforce is better for business by Vauhini Vara via @FastCompany About a special program to recruit and retain employees on the Autism spectrum.

Students ask me why people create new programming languages regularly. In this article developers of emerging programming languages shed light on their thinking. 3 New Programming Languages: What Their Creators Say

Wednesday, September 07, 2016

Of Dice and Men

In a college  I first learned about Stochastic analysis and Monti Carlo Simulations. Whoa! An academic sounding reason to play with random numbers. It was only later that I discovered randomness as applied to cryptography. By then I had long before  been fascinated by random numbers (or at least pseudo random numbers) in computer programs. I still love using them today. They just make programming more interesting.

In my college work in System Analysis (one of my two majors) we used random numbers as part of building simulations. I enjoyed doing them. I keep thinking I should come up with some simple simulations to have my students work though. Perhaps the old ski lift simulation. If I could remember the details. Maybe I am getting old.

Of course games are a regular use for random numbers in student projects. One of the classes I have students create with we talk about programming classes is a Die class. Binary DiceTo make it interesting I have to help them think beyond the normal six sided die with six values. I talk about two sided dice or as they soon realize – coins. And of course many sided dice such as those used in role playing games.

A while back my wife got me a set of Binary dice. Six sides but only two values – one or zero of course. The visual seems to help stimulate out of the box in thinking.

If I were teaching AP CS A and/or teaching inheritance the die class might be a fun one to use. Create a coin class or perhaps a dial class from the die class? I need to think about that more. Anyone reading doing something like that they could share?

Of course random numbers have other uses. I have a 20,000 entry database of names and birthdays that I created by randomly picking first and last names from lists I got at the Bureau of the Census (for example Frequently Occurring Surnames from the Census 2000) and then randomly making up months, days and years using random numbers,. That was actually fun to write. Having a dataset that large makes it obvious to students why a computerized system makes sense.

I’m not sure that my students catch my love of such programming projects. Or rather the fact of pseudo random numbers making them work in interesting ways. I do hope that it makes for projects that interest them though.You never know were something will lead. Randomness is everywhere.

Tuesday, September 06, 2016

Crowdsourcing Tech Terms for Students

Peter Vogel has been creating a list of tech terms for his ICT students for more than 20 years.  He edits and updates the list just before school starts for him in Vancouver BC Canada. .He discards terms no longer in the vernacular or no longer widely used, and tries to bring in as many new terms as he can reasonably fit. He runs a similar but much shorter list for his grade 11 students. It’s a very good list but he is looking for suggestions to make it better.

Here are 4 pages he has so far. Add any interesting terms to bottom of the list (which is presently alphabetized). The snippet below may say 2015-16 but the document shows the correct date range.

Again, if you wish to add a term, do so in the area at the bottom of the Google Doc.

Monday, September 05, 2016

Interesting Links 5 September 2016

It’s Labor Day in the US which means this is the last day of a four day weekend for me. It’s nice to have an extra long weekend this early in the school year. Making the adjustment from summer to back to school takes some work for me.  That doesn’t mean I don’t have links to share though.

Interested in a tool to transition students from Scratch to Java (via Greenfoot), check out this tool : ScratchFoot I don’t use either Java or Scratch much these days so I haven’t tried it but it looks interesting.

ScratchFoot provides a subclass of World and subclass of Actor which make available much of the functionality of Scratch in Greenfoot.
Using ScratchFoot, you should be able to convert many Scratch programs to use Greenfoot. This may be useful for

  • overcoming limitations of Scratch. E.g., when the Scratch canvas is just too small for your application, or when Scratch starts running too slowly because you have so many scripts running.
  • making the transition from the simple (and wonderful) world of Scratch to the more real world of Java programming.

Federal Aid for Code Schools - is this a good thing?  A lot of people seem to think it is. Mike Zamansky is someone I can always could on to give a contrary view of things for balance.

The Nerdy Teacher: was recommending Kano last week.   Honestly I don't think I "get it." The Kano Computer a build it yourself computer kit based around the Raspberry Pi. Your mileage may vary as they say.

imageI probably need to add this Soccer Bot project to my list of robots for teaching programming. Pi Soccer Bot (Full Build Edition)

Build a football-kickin' robot and challenge your friends on the pitch! Customize it to gain an edge on the competition.

Mark Guzdial shared Cynthia Lee's excellent list of what CS teachers can do for inclusive teaching Are you doing these things?

Rule the arena with a Bluetooth controlled BBC micro:bit buggy The Micro:Bit as the heart of maker projects is something I do “get.”

I say some code for a BBC Micro:Bit  Binary clock at I’m thinking there has to be a way using less code but haven’t had the time to try myself. A binary clock for the Micro:Bit has been on my plan list for a while though. Maybe I need to move it up the priority list? This was done in TouchDevelop BTW.

#csk8 20160907.png

Thursday, September 01, 2016

Scratch Resources from Ireland

A friend recently sent me a link to this site that looks like it will be very helpful for teachers who are using Scratch from MIT. Check it out at


Since 2007 Lero – the Irish Software Engineering Research Centre has been running an Education and Outreach Program to encourage students to discover and learn about computing and software development. We have developed Scratch lesson plans, to teach software development to students. Scratch is a visual programming language that makes it easy to create interactive stories, animations, games, music, and art and share these creations on the web.

Lero - Irish Software Engineering Research Centre

Monday, August 29, 2016

Interesting Links 29 August 2016

Classes started at my school last week. Whoa! Getting back in the groove is hard. But I have great students and fun classes so it will be ok. I spent the weekend in New Hampshire’s White Mountains which is why today’s post is late. It was great to relax though. So now some links.

CSTA Releases Revised Standards - Computer Science Teachers Association (CSTA)

Here's how to do Turtle Art in Python! Is everyone moving to Python these days?

Giggletronics: Using MicroPython on the micro:bit Here’s some good information. I need to dig deeper into this stuff.

Feminist Computer Science Education "Helping" women in CS with impostor syndrome is missing the forest for the trees  I’m still making my mind up about this one. Opinions anyone?

Great getting started with TouchDevelop video I’m linking to it for my students. It’s really good and shows a lot in about 5 minutes. 

Computers Are For Girls, Too Nice post by Melinda Gates.

C.P. Snow keeps getting more right: Why everyone needs to learn about algorithms  by Mark @guzdial Alan Kay (yes that Alan Kay) continues the discussion in the comments.

Friday, August 26, 2016

App Challenge! Enter to Win $20,000 for your School

I had an email the other day about the Verizon app challenge. It looks interesting and I may have some students enter this year. The fact that coding IS NOT required opens the door to a lot more students. Anyone else using this with their students?

What is the app challenge?

The app challenge, part of Verizon Innovative Learning, is a nationwide contest in which middle and high school students are challenged to develop concepts for mobile apps that solve a problem in their community. It’s a unique, hands-on activity that teaches collaboration, critical thinking, problem solving, and entrepreneurship, as well as STEM (science, technology, engineering, and math) skills and coding. It builds on students’ excitement about technology and aims to equip them with skills they need to succeed in the jobs of the future.

Gather your team. Dream up your idea. Submit your concept.

Design real mobile apps and your students could win $20,000 for your school. Absolutely no coding required.
Gather your team of students to put their problem-solving skills to the test and come up with a great app concept that helps meet a need in your school.
The app challenge, part of Verizon Innovative Learning, promotes:
— Teamwork,
— Builds character,
— Teaches critical thinking.
Find Out More