Thursday, November 26, 2015

How Much Does a $5 Computer Cost?

This week the Raspberry Pi Foundation announced their new Pi Zero.  It only costs $5 in the US. Wow! Here are the specs, via the foundation:

  • Four fathers!?!??BCM2835 (same as Pi 1) but up-clocked to 1GHz, so 40 percent faster.
  • 512MB of RAM
  • micro-SD
  • mini-HDMI
  • micro-USB for data
  • micro-USB for power
  • unpopulated 40-pin GPIO connector (same pinout as A+/B+/2B)
  • size: 65mm x 30mm

Think of a class set of 20 for only $100. Sounds amazing. But let's hold on a minute. What else do I need? I wanted one (actually my wife wants one too but we'll share at least initially. So I went to Adafruit (the US outlet) and took a look. Raspberry Pi Zero is not available as an individual thing right now but can be bought with starter packs. They have two offerings:

I went with the budget pack. What does that include beyond the $5 computer?

Yeah I probably need all that. I also added a wi-fi dongle. With shipping I spent $50 which is still pretty inexpensive but it’s not $5. Of course I need a monitor and a keyboard and mouse to really do any development on it. I have some of them around but not everyone does.

So now we are talking about a class set of 20 for $1000 which is more than $100 but I can remember when one Apple IIe was $2,500 so pretty cool.

I don’t really see it as a replacement for a desktop or laptop though. At least not realistically. It’s still pretty limited in today’s world. What I would like to do is use it or something like it for learning about the Internet of Things. Add some sensors, some controllers of some sort, and have some of these for a Maker Space and who knows what will happen. There is potential there. I can’t wait to get mine and start playing.

Monday, November 23, 2015

Interesting Links 23 November 2015

clip_image002Microsoft Underground Part 1 – Dawn DuPriest is a middle school math and computer science teacher who was invited to Microsoft headquarters with some other teachers for a multi-day event – workshop and “underground tour”. This post is a trip report of sorts about what she saw and learned. Wish I could have been there.

Minecraft vs Project Spark vs Kodu Game Lab a teacher does a side by side look at three interesting and highly graphical tools for learning programming.

Finding the best coding language for beginners (revisited) - by Bob Irving @birv2 Bob makes a good case for Python. Bob’s a bigger fan of Raspberry PI and Minecraft than I am (at least right now) but his opinions are worth reading.

Bumblebees Are Teaching Smart Cars How to Drive – a lot we can learn from nature.

The new in-browser compiler for the BBC micro:bit is live! Seems like something new in the BBS Micro:bit world every week.

Linux kernel dev Sarah Sharp quits, citing ‘brutal’ communications style via @networkworld Interesting look (from one perspective) of communication in the open source world. Meanwhile, a Google study on what makes a team successful lists “Psychological safety” as the most important quality. Some good discussion points about how communication should work.

What students and teachers really think about computer science in schools is report by @HuffPostPol about the Google funded study that the Gallup Group prepared. To the surprise of no one actually teaching computer science a lot of people have incorrect ideas about what computer science actually is. And more.

A Call to Action for Higher Education to make AP CS Principles Work a post at the blog@CACM by Mark @guzdial Mark covers some great points. For AP CS Principles to really work there have to be college/university courses that student can get credit for after passing the AP CS exam.

Friday, November 20, 2015

Finding Methods in the Madness

Beginning programmers seem to like monolithic code. Give them a task to program and they start right off. writing everything in one huge method. If you assign them to use a specific method for a specific task they will do that. And the rest of the code will be monolithic. It seems to be hard for them to design code with small modules though. At least it seems they have to be taught to do so. It doesn’t seem to come natural.

Or maybe it’s just the teacher my students suffer with.

In any case, at this point in the semester I am really pushing breaking things down into small pieces and creating methods to handle things. We really just learned about methods in any detail in this first semester programming course so I can understand it not coming natural. On the other hand, we just went into methods in depth and usually students want to use the new thing they have just learned. But not in this case.

This morning I read though all of their code so far. Yep, lots of monolithic code. I spend the first 20 minutes or so of class discussing the different projects they are working on and explaining how I would break up some of the work into individual methods. It seemed to register a bit. I think that some of them who are having trouble debugging their code, in part, because they are trying to code and test “everything” at once, will really benefit from today’s discussion. I hope so.

Clearly though as we are moving into more complicated projects I need to spend more time talking about design. I’m looking back though my plans from earlier in the semester to see where and how I can talk design long before this point.

The other thing I would like to do is design a big project that requires lots of methods. The idea would be to randomly assign the methods to different students and have a test bed that calls the methods. Students would not know whose methods would be tested with theirs in advance. That way there could be no collusion to bypass the strict specification of inputs and outputs.

My hope is that this would show students the value of methods in larger projects. It should also help them understand the importance of design, specifications, documentation and working as part of a team. I just have to figure out the right project.

Thursday, November 19, 2015

Coding For More Than an Hour

hourAman Yadav from Michigan State University made this great image from the popular meme.  I love it because for me it is so very true. I code for fun these days. Oh sure a lot of what I code is for use in class as a demo or a prototype for a project I’ll assign to students but even then I pick projects that are fun.

That means I usually code for a while once I get started. Of course for professional developers (as I was in a previous life) coding can be a many hours a day thing.

This brings me to an Hour of Code. Well not the hour itself but what comes next. I love the Hour of Code. It’s a great way to introduce students to the idea of coding, let them create something cool and maybe help them to see that they can and should learn more.

Where do these students go to learn more? Sure there are lots of online resources and even a growing number of after school programs but I think we need more courses in the regular school day. A New Federal Law Means Computer Science Is Officially Part of STEM which should help convince administrators. On the other hand there is a lot of misunderstanding about what computer science actually is. A new report funded by Google (Google-Gallup research report: Perceptions of computer science reflect and reinforce stereotypes )  finds that most parents, teachers, administrators and school boards think that using a word processor is computer science. That lowers the credibility of studies that report how many schools offer computer science!

So what to do? School boards and school administrators need some education in many cases. There are resources to help. CSTA has some advocacy tools on their website. There is a growing Computer Science Advocacy Leadership Team (CSALT) made up of CSTA members across the country who are looking for volunteers to help with advocacy in the various states. Code.Org also has resources for advocacy of computer science education. NCWIT has many resources specially focused on girls in technology.

Computer Science Education week is coming up and that is a perfect time to advocate with local influential. They’re going to be hearing a lot in the news so they are going to be thinking about it. Computer science education take more than an hour. Not just to learn but to promote.


Wednesday, November 18, 2015

Creative Coding Through Games and Apps

I've been looking into this lately. It looks like an interesting first course for a lot of schools.

Creative Coding Through Games and Apps is a first-semester course to introduce programming in the early secondary grades. Students learn by creating real games or apps by working in the same ways as professional programmers. Designed to attract and reach a broad range of students, including those who may have never before considered programming, this course can be successfully delivered by any teacher, regardless of computer science background, via any modern web browser on phones, tablets, laptops, or desktop computers. The course length is flexible (6, 9, 12, or 18 weeks) and offers online and in-class resources. The downloadable curriculum package provides everything you need to deliver the course, including teacher prep materials, lesson plans, presentations, student assignments, homework, projects, and tests. Best of all, it's free!

Try out the preview package. Point them to
There they can download the freely available Preview Package that contains a course description, teacher and student guides, and sample unit materials. They will learn more about the requirements, objectives, and learning goals in the enclosed sample lesson unit with Creative Coding Through Games and Apps.

Contests for Computer Science Students and Grants for Teachers

Earth | Microsoft Imagine Cup via @MSFTimagine An Imagine Cup coding competition for students between 6 and 18 years old from Microsoft.

Do you know students who are interested in creating an app? The Congressional App Challenge is now open for submissions! Entries are due by January 15, 2016. Learn more at


Attention innovative educators! Check out these 4 free projects & apply for grants: From Allen Distinguished Educators.

DIY Grant Application period opens on Nov 3rd and closes on Dec 4th at 11:59 PM PT.

clip_image002The purpose of the DIY Grants (up to $1000) is to help us enhance the replicability of the DIY guides as well as their adaptability to a range of school types, locations, and grade levels. Toward that end we are looking for teachers who work in school environments different from those of the ADEs who created them.

Tuesday, November 17, 2015

Interesting Links 17 November 2015

Yesterday’s interesting links was all about links to educators and their blogs and resources. Today is about links from non profits and companies. Good stuff all. My UK readers will want to read the BBC MicroBit news down below.

Have you seen the Hour of Code stuff involving the new Star Wars movie from  Looks pretty good as do the new inspirational videos at that page.

EngageCSEdu offers intro CS course materials to engage diverse students. provided by NCWIT. - a website for K-12 education leaders in schools and looking to build, grow, or sustain computer science programs.

Ohbot2 - A Robot Head to program from your PC by Ohbot on @Kickstarter Anyone looking at these? What do you think about the idea?

Meet the award recipients of the first Microsoft HoloLens academic research grants  - HoloLens is Microsoft’s virtual reality system. They have given some grants to universities to create some interesting projects.

Read the latest BBC Micro:Bit information from Lee Stott in Microsoft’s UK education team.

BBC Micro:bit lessons with Touch Develop a large playlist of very short videos on the BBC Micro:Bit witl links to associated lessons.

Microsoft pilot programme to expand the reach of BBC micro:bit   Microsoft is going to buy a whole lot of extra Micro:Bits so that some lucky schools will have some very enhanced opportunities with the devices.

Monday, November 16, 2015

Interesting Links 16 November 2015

Last week was loaded with interesting things flowing from blogs, twitter, Facebook and email. When I first put this post together I realized it was so long that no one would read it all.  I decided I would break it up into sections and post one a day. Seems like if I post twice in one day one of the posts gets largely ignored. Different quality or bad timing? I’m not sure. We’ll see how this goes. I decided the first post should focus on links to teachers for teachers.

First two lessons and reflections from Dawn DuPriest


Computer Science Education week for Existing Programs by Rebecca Dovi – Computer Science Education week is a lot more than just an Hour of Code. If you are looking for ideas for the week for your existing CS classes, this post may be helpful.

Computer Science - Children's Reading List Books for and about computer science broken down by grade level by Rebecca Dovi of @codeVirginia She prepared it for librarians. Maybe your school librarian should take a look?

Announcing def hacks("Winter",2015) For NYC high school coders with @zamansky

What they don't learn in college - Other People's Code – an interesting project from Mike Zamansky.

   “A Different Approach to Coding” by Mitchel Resnick from MIT Media Lab and Scratch

Programming With Blocks and Drag and Drop Programming One of my most read posts has been updated with the addition of a link to Beetle Blocks a 3d programming language.