Thursday, January 29, 2015

The Queen of Code – Grace Hopper

There is a new movie about Grace Hopper out in the Internet. The movie is about 16 minutes look and I think it is pretty good. I’m looking for a place in my schedule to show it to my students. Grace Hopper is a long time inspiration for me. I was able to meet her in person back in the early 1970s and hear her speak several times. She was ahead of her time and many ways.

As a rear admiral in the U.S. Navy, Hopper worked on the first computer, the Harvard Mark 1. And she headed the team that created the first compiler, which led to the creation of COBOL, a programming language that by the year 2000 accounted for 70 percent of all actively used code. Passing away in 1992, she left behind an inimitable legacy as a brilliant programmer and pioneering woman in male-dominated fields.

Hopper’s story is told in “The Queen of Code,” directed by Gillian Jacobs (of “Community” fame). It’s the latest film in FiveThirtyEight’s “Signals” series.

Monday, January 26, 2015

Interesting Links 26 January 2015

A new semester starts for me today. Since I only teach semester courses that means a whole new group of students to meet and teach. I have spent much of the weekend retooling my plan for the semester based on what I learned last semester. My goal is always to teach each new group of students better than I taught the last group. Wish me luck!

Guest speakers are often hard to arrange but can add a lot to student experience and learning. Over the weekend I learn about a program to provide Guest Speakers in Computer Science via Skype. This looks pretty interesting to me.

Ontario CS and Computer Tech teachers, don't forget to register for the ACSE Conference on Feb 28! Looks like a great conference. If it were just a little bit closer I think I would try to attend myself.

I thought this was interesting. Retiring Python as a Teaching Language a number of teachers have pointed out that there are tools for solving all the “problems” with Python that this brings up. I link to it manly to show the thinking that goes behind decisions on languages. And as a suggestion to look more than superficially for answers.

I always talk about what makes a good password with students. Having an updated list of really bad and yet still common passwords hanging on my bulletin board starts a lot of conversations. SO this article “123456” Maintains the Top Spot on SplashData’s Annual “Worst Passwords” List means my board gets updated today.

My big post last week was: Robots For Teaching Programming What am I missing? Are you using something not on my list? Please let me know.

Wednesday, January 21, 2015

Robots For Teaching Programming

One of my most popular posts has been a collection of links to block programming (drag and drop programming) tools and languages. The other day it occurred to me that a similar list for programming with robots might be useful. There seems to be more and more interest in this as time goes on. A lot of students prefer to “move atoms more than move pixels” after all. Since I first posted this I have added more and reorganized a bit.
Robots are not just for boys either. Girls love robots as much as boys do. Many of the newer educational robots appeal to younger students as well with bright colors and friendly shapes. There are many options. I plan to add to this post as I learn about more robots over time. If you know of something that should be listed please mention it in the comments.
I’m not listing costs because a) those change a lot and b) there are often different options for educators including loans and grants. Visit the web sites to learn more.

Pre-Built Robots

Finch_logoFinch robots were among the first robots designed from the ground up for teaching programming. They seem to be programmable in just about any language you want to use. There is also a lot of curriculum support available and a large community of users.

Scribbler Scribblers are another of the early robots designed and built for teaching programming. “The S2 robot is suitable for a wide range of programming skills. The Scribbler robot arrives pre-programmed with eight demo modes, including light-seeking, object detection, object avoidance, line-following, and art. Place a Sharpie marker in the pen port and it will scribble as it drives. Next, use the Graphical User Interface (S2 GUI) tile-based programming tools, or modify the Propeller source code in our BASIC-like Spin language. Through the use of third-party tools you can also program the S2 on a Mac or under Linux, in PropBASIC and C using PropGCC.”

If you interested in Scribblers be sure to check out the Institute for Personal Robots in Education (IPRE) resources including the Calico project.

DotDashDot and Dash from Wonder Workshop Dash, the larger robot, moves while Dot is stationary. Both are pretty cute. These are both connected via Bluetooth to iOS and/or Android devices. They are programmed with a version of Blockly which is very similar to Scratch. There is also a very simple app that I am told works with students in the very early grades.



BeeBot_blinking_leftBee-bots are definitely for the young students. Small and cute they are programmed using buttons. A wide variety of resources and add-ons seem to be available.


Sparki Sparki is an Arduino based robot. “Sparki works out of the box with its remote control. To write your own programs, just plug it in via USB, install the custom-enhanced Arduino software and try any of the dozens of example programs.”


banner_edison__04371 Edison sort of fits in both the pre-built and the build it yourself categories. It is Lego compatible so you can add more to it pretty easily but from the looks of it you can use it right out of the box as well. “Edison is programmed using EdWare, a drag and drop graphical programming language that is easy to learn. EdWare is free and open source and works on Windows, Mac and Linux computers.”

graphic-render-spherographic-render-ollieSphero and Ollie from Go Sphero  are another set of app controlled robots. Ollie (the barrel shaped robot) has apps for iOS and Android devices. Sphero (the ball) has apps for iOS, Android AND Windows 8.1 and Windows Phones as well as some Amazon Kindles. There is also some curriculum support materials available.


create2The Create 2 is the latest educational offering from iRobot, the people behind the Roomba home vacuuming robot. A bit more expensive than some of the others and also a bit more appropriate for people who want to add on to a robot. But it is also a lot larger than the others on the list which can be a plus in some situations.




Codie_logoCodie is not available as I write this but should be available in the summer of 2015 according to the company. They are developing their own language for programming. Check out their web page if interested.



Built Them Yourself Robots

mindstormslogo A lot of students get their start with Lego Mindstorms. Involvement with FIRST Robotics and their FIRST Lego League competition has been a big part of that. This is a nice platform for people who want to include building the robot as well as programming a robot.

arduino-UNO Arduino is not strictly robots but a lot of people use them as the base for a robot.  And there is an Arduino robot kit! There are other robot kits built around Arduino as well. One of them is the Funduino UNO Robotics Kit

Arduino is an open-source electronics platform based on easy-to-use hardware and software. It's intended for anyone making interactive projects. Arduino senses the environment by receiving inputs from many sensors, and affects its surroundings by controlling lights, motors, and other actuators.

 Hummingbird Robotics Kit Not complete robots but important building blocks for creating and programming robots. Probably just the thing for maker spaces and pre-engineering programs. “The Hummingbird Robotics Kit is a spin-off product of Carnegie Mellon's CREATE lab. Hummingbird is designed to enable engineering and robotics activities for ages 13 and up (8 with adult supervision) that involve the making of robots, kinetic sculptures, and animatronics built out of a combination of kit parts and crafting materials.”

BrainNewLogoandPhotoRiQ This is a “brain” for use in building with a number of build it yourself platforms.

“The All-New Cortex™ 5.0 is compatible with Windows and Apple computers and, best of all, offers tablet based robotics programming for Android and iPad!!  The Cortex robotics programming language is gamified, visual, and intuitive. Kids have so much fun with RiQ they don’t realize they’re learning to program robots!”

Monday, January 19, 2015

Interesting Links 19 January 2015

School is out today in honor of Martin Luther King Jr Day. Semester exams start tomorrow. I think I’m ready. I hope my students are ready.  I do have a couple of interesting links to share today. Hope you find them useful.

Logo changes: The challenge of making a square in modern Logos – From Mark Guzdial – you can’t use lessons and instructions from early Lego materials with modern implementations of Logo. I’m wondering how hard it would be to write a new Logo that was backward compatible with the original materials.

Kids these days -- they don't know nuttin – New from Mike Zamansky about how little students know about the technology industry. 

Applications are now open for Google’s Computer Science Summer Institute and the Generation Google Scholarship! Mostly for graduating high school seniors. Looks good for those who can get in.

Choice of Programming Language - Justifying my Choice. We all get asked about what languages we teach with and why. In this post Ben Gristwood, an ICT/Computing teacher in the North West of England, writes about why he teaches with Visual Basic.

New Entrepreneur Unit for CS Classes – on the CSTA blog, Irene Lee writes about and interesting looking add-on unit for computer science classes being developed in New Mexico.

Thursday, January 15, 2015

Surface Pro 3 – First Thoughts

Thanks to a contest run by the Office Mix people I won a Surface Pro 3 for my school. And I get to use it which is great. I’ve had a Surface RT (first edition) for a while and while I like it the fact that it is Windows RT means I can’t run “regular” Windows apps on it. That is not always a problem since office is there and I can do a lot of web based things easily. But I teach programming so not being able to run Visual Studio is somewhat limiting. Also I could not use Windows Live Writer on it for blogging. Those issues go away with the Surface Pro 3.

First off the keyboard. Yes not quite the computer but I have a Type keyboard with my RT and while it works just fine it doesn’t give me the tactile feedback I like. The Pro came with a Touch keyboard and I love it. Looks great, feels great, is just enough bigger that it works better with my big hands and fat fingers. Recommended.

Performance is great. The screen is beautiful to look and the 12 inch screen is large3 enough for most things I do. And it is a touch screen I love touch. TouchDevelop works better with touch than with a keyboard and mouse for me. There may be a game or two that I occasionally play where touch is an advantage over a touch pad or even a mouse as well.

The whole unit is very light and it looks so far like battery life is going to be very good as well. Seems like a great computer for traveling or for 11 computing at school.

It came with a pen and I confess I haven’t used it yet. I probably will use it with creating Office Mixes as I think it will be easier to highlight things with a pen than it was with the mouse. This is going to work for me.

Set up was quick and easy and since I save things like favorites to OneDrive my web browser settings, screen background and more personalization came over from my other computer automatically. Good thing since the hard drive on my main personal laptop died yesterday. My most important files are all on OneDrive as well. So a possible catastrophe has been avoided.

Wednesday, January 14, 2015

Code Hunt for Review and Problem Solving

Code Hunt is something I have been experimenting with a bit this year. For those who are not familiar with it, Code Hunt “is an educational, browser-based coding game targeting teachers and students” (link to information about Code Hunt) I’ve used it in a couple of ways. I had my students do the standard Code Hunt puzzles for a while and I have used Code Hunt combined with Office Mix to provide some exercises following the audio recording of some PowerPoint presentations. I suggest them for review for my students. (Links to them are below if you want to check them out.

What I like about Code Hunt is that it forces students to do some critical thinking. They have clues to what the code should do and have to analyze it to understand the problem. Then they have to develop the code to provide the correct answer for the problem. They are forced to review the syntax so that is reinforced. But since they have to use the syntax is more than just a “fix this code” sort of thing.

I had two issues with the standard Code Hunt puzzles. One is that some of them are a bit too hard for my absolute beginning programming students. Great fun for more experienced coders of course. The other is that the solutions are findable via Internet search. Also not a totally bad thing but I’d rather some puzzles my students can’t find the answers for on the Internet.

This week we are reviewing before semester exams so I created my own set of levels and puzzles for my students. These C# Code Hunt puzzles are based on things we have done in class so they are optimized a bit towards the things I have tried to cover during the semester.

The four sections of my C# Code Hunt puzzles are basics (assignment statements with some math), Decisions (solved using if statements), strings (some basic string handling) and loops (loops required for solutions). I plan to use these earlier in the new semester in hopes that I can improve the connection between problem solving and understanding the programming concepts. I’ll probably try to come up with a second set for review. And they are going to appear in more Office Mixes as well.
Anyone else using Code Hunt with their classes? Any interest in sharing puzzles?

A great Office Mix lesson about getting started with Code Hunt may be found at

My Office Mixes with C# Code Hunt puzzles

Tuesday, January 13, 2015

But I Have The Same as Him

One thing I hear a lot is “I have the exact same code and someone else and theirs work and mine doesn’t.” The obvious wise guy reply is “if yours doesn’t work then it is not the same.” Students are not huge fans of that reply. Typically this situation occurs because students copy code without understanding it. They don’t realize that code does not exist in nice isolation.

The two most common reasons I see this complaint is that the code depends on variables the student has not defined or there is an identifier mismatch. For example the code uses a variable that has a scope beyond just the method the student is looking at. Usually there is a warning or even an error that would point the student to this answer. For some reason students often want someone else to explain the error message to them.

The identifier mismatch comes into play in a lot of Windows Forms applications. The student whose code does not work has named their objects differently from the student whose code they copied. Students seem to expect the computer to magically understand what object they mean regardless of what they call it. Alas the “do what I mean” instruction seems not to have been implemented yet.

I try to impress on students that names matter and that spelling names correctly matters. Somehow it seems to take a while to stick.  Students are used to other people understanding what they mean even when they have trouble expressing themselves. Computers are not very good at that though.