Monday, September 01, 2014

Interesting Links 1 September 2014

Nothing like easing into the new school year. Last week was a four day week and so is this week. Today being Labor Day in the US most schools are closed. Here in New England and in fact much of the US tomorrow is the traditional day to start school. Some have been back longer of course. Standards and US education seem to have a rough time of it. No matter if you are off today or working I have a few links to share.

School administrators are really starting to take notice of and advantage of social media. The school district where my son is an assistant principal has made that a priority this year. Not just school accounts but administrator accounts. Want to help my son get going? Follow him at @ace_thompson

Mark Guzdial is looking for help figuring out how to design ebooks to be usable. If you have ideals drop on by his blog.

I made some minor updates and additions to my Computer Science Education Blog Roll last week.

I’ve been seeing a lot of good times from CS Teaching Tips @CSTeachingTips on their Twitter feed and in the gadget on the side of my blog. Like this one:

Speak to students directly if they use language that downplays the ability of women and students of color.

Are you a STEM teacher? Interested in serving at the national level for a year?

The Albert Einstein Distinguished Educator Fellowship (AEF) Program is now accepting applications for the 2015-2016 Fellowship Year. Program applications are due by 5:00 pm EST, November 20, 2014, and must be submitted through an online application system.

The AEF Program provides a unique opportunity for accomplished K-12 educators in the fields of science, technology, engineering, and mathematics (STEM) to serve in the national education arena. Fellows spend 11 months working in a Federal agency or U.S. Congressional office, bringing their extensive classroom knowledge and experience to STEM education program and/or education policy efforts.

Sniff – A (next) programming language for Scratchers on Arduino and Raspberry Pi Sort of a textual version of Scratch. Interesting idea.

Is this a great clock or what? I wonder if I can find one for my classroom to go along with my clock that shows time in binary lights.

Embedded image permalink

Wednesday, August 27, 2014

Yet More Block Programming Languages

I saw this announcement on Facebook first but I probably just missed seeing it on the email list. At this stage I have to wonder why? Why more of the same? Do we really know that these languages work and if so for what definition of “work?”

From Dr. Jeff Gray at the University of Alabama via the SIGCSE mailing list:

We would like to announce the availability of two new Blockly-based languages that may be of interest to CS educators:

  •  Spherly is a web-based programming environment that allows programs to be written using a block language to control a Sphero robot. Project URL:
  • Pixly provides a block language for exploring topics in media computation; particularly, the manipulation of pixels within an image to support red-eye removal, chroma key, etc.  Project URL:

Both projects can be run from within a browser (Spherly requires a provided server to be executing on a local machine for Bluetooth contact to the Sphero). Each project page has links to a demonstration video, a user manual, a Google Groups users forum, related links, and a “run” link for executing each environment.

For completeness I did add these to my Programming With Blocks post.

Tuesday, August 26, 2014

Rotate the Cell Phones

One of the things I am working hard at this year is making things more clear to students. I want them to understand concepts and why they are important and useful. Of course one issue with teaching computing is that experienced people are used to thinking in the abstract but beginners are not. So tying theory into physical activity can be helpful. And if you can use something students care about even better. I was pleased to discover a new visual aid today that I think worked well.

I was working with a simple project – rotate the values in a series of textboxes.


Take what is is the first box and move it to the second, the second into the third, the third into the fourth and the fourth back into the first.

Experience tells one to save what is in box 4 in a temporary variable so you can copy it later and not lose it. Students sometimes have trouble visualizing this in their heads and I often see projects were a value is lost for each rotation. In the past I have used classes of soda (pop, tonic, soda pop) and asked students about how to swap the contents. Today I didn’t have any of that (poor planning perhaps) and I was talking about more than two items to swap. Fortunately an answer was at hand.

The new school policy this year (let’s ignore if it is a good one or a bad one for now) is for all students to place their phones in a rack in the front of the classroom when they arrive. Teachers can of course tell students to keep and use the phones when educationally appropriate. In any case I had a rack of phones to use. Four phones in the bottom four slots in the rack.PhoneRack How convenient!

I asked a student to come up and show me how he would rotate them though the slots in the rack. Interestingly he tried to explain it to me but I insisted he show me.

This turns out the be an important step because it forced him to think for a second. The answer was there but not clear and solid until he was forced to move physical objects. After a pause he picked up the first phone and moved it out of the way – to an empty slot in the rack. Rotating the rest was easy after that.

Watching the students duplicate my example (from only the running form and explanation) is seemed like students understood the concept of the temporary variable better than usual. We are teaching a visual generation for sure. I wonder if the cell phones were an extra incentive to watch? Regardless this is a visual I plan to use again. When we cover sorting for example.

Monday, August 25, 2014

Interesting Links 25 August 2014

Well I made it though going back to school. Teachers went back Tuesday, we saw our freshmen students briefly on Wednesday and had a full (very full) day of classes on Friday. Today starts the regular routine.

Edutopia says the Computer Science is the Future of Education. Agree?

Abby Fichtner aka @HackerChick who I first met when we both worked at Microsoft writes convincingly on  Why We Need to Teach Kids to Code

Google is giving $1.5 million tosite.site_name organizations that encourage girls and minorities to learn computer science in the Google RISE Awards.  Apply now

I found yet another robot startup designed to get kids interesting in computing on twitter at @start_robo I don’t know much about them yet but their web site looks interesting

Bing's Developer Assistant for Visual Studio promises to make coding a little bit easier via @neowinfeed I’ve been using it a bit as I write some small projects. It’s helpful but you still need to know a) what you are looking for and b) how to recognize when what you have found will or will not solve your problem.

Computer Science and "Makered" on the @csteachersa blog by Laura Blankenship @lblanken  The maker movement in education and computer science are natural fits.

Friday, August 22, 2014


Time flies when you’re having fun. It seems like just yesterday I got home from this summer’s CSTA conference. But it has actually been a while. And then yesterday I saw the call for proposals for the Annual CSTA conference. Are you doing something interesting that you are willing to share with other computer science teachers? Seriously think about making a proposal.

The Computer Science Teachers Association (CSTA) invites you to participate in the 15th Annual CSTA Conference. This event will be held July 13-14, 2015, in Grapevine, Texas (Dallas/Fort Worth area).

The CSTA 2015 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 and 1-hour sessions, and 20-minute mini-sessions that focus on pedagogy and best teaching practices.  Proposals for all three 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 symposium submission system that can be found at If you encounter a problem with the submission system, please contact Duncan Buell at

The deadline for proposals is midnight on October 6, 2014. Review of proposals will occur shortly thereafter and notification of a decision will be made around November 15, 2014.  All submission will be evaluated on the following criteria:

  • technical quality
  • writing and presentation
  • relevance to CSTA (focus on K-12 computer science)

Successful proposers should expect to be asked to submit a draft copy of their presentation by May 15, 2015. 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 2015? 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 2014 conference attendees had to say about the conference:

  • “Best session and workshops I’ve ever attended at CSTA conference”
  • “First year as CS teacher, and I’ve heard a number of good ideas that I’m excited to research further and implement, via CSTA”
  • “Very welcoming presenters, participants and volunteers”
  • “Excellent conference! Very informative and exciting!”

Additional conference details can be found at

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

The 2015 Annual Conference Planning Committee

Wednesday, August 20, 2014

Hacking Away at Little Problems

We have a fairly nice system for student information and the like. It is not perfect but then what system is? For example, our student management system will output class rosters as PDF, Word or Excel files. The problem with the excel output is that there is way too much information in it to be easily used for many of the things teachers want to use it for.

If it were just a matter of extra columns it wouldn't be too bad but there are also extra rows. It is tedious to strip things out. I’ve done it before but it’s just not fun. Writing code on the other hand is fun. Well for me anyway.

So of course I wrote some code. I saved the Excel file as a CSV, ran it through my program which output a new CSV file with just the information I want. That CSV was opened in Excel, nicely formatted and saved for future use.

Honestly I think it took less time to write than it would have to manually clean the data. It was something under 30 lines of code and a bunch of that was just variable definitions and other setup.

As a bonus, now I have the code for next semester. It's not fancy and it is not bulletproof - I'd really worry about supporting it for use by others - but it works for me. Just one edge programmers have over people who are not comfortable writing code. I did this in Visual Basic. Others would use other languages or tools and I am sure some UNIX/Linux person will jump in without how they would do it as a shell script using utilities. But the point doesn’t change that knowing these things can be useful.

I think lots of people run into simple problems that can be solved with what we like to call “a small matter of programming.” One doesn’t have to be an expert or a professional to write many simple programs to solve simple problems. Nothing is my code is beyond what I teach my beginning students for example. In fact my honors programming students will have a similar, but involving more complicated string manipulation project, later this semester.

In today’s world should basic coding be part of more people’s skill set? I think so.

New Widget–CS Teaching Tips

I added a new widget to my blog last night. It is connected to CS Teaching tips which is a webpage and Twitter account – @CSTeachingTips. imageThe widget provides a different teaching tip when ever this blog is opened in a web browser. It looks like it could be a useful addition. You can of course also go to the CS Teaching tips website and search for specific types of tips.

Some information from the website’s About Page where you can learn more about the people involved.

Project Summary

Problem: CS pedagogical content knowledge (CS PCK) – i.e., knowledge of how to teach computer science – is mostly undocumented.
Project Goal: Develop a set of CS teaching tips to help teachers anticipate students’ difficulties and build upon students’ strengths.
Status: Beginning the project in October of 2013, we are currently recruiting CS teachers who have insights into student learning.
Funding: This material is based upon work supported by the National Science Foundation under Grant No. 1339404. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Tuesday, August 19, 2014

Why AP

Sometimes you miss something by reading a blog post too early. Such is the case with a recent post by Mark Guzdial - Python is the most popular intro language: But what about CS Principles? There have been some 37 comments worth of interesting discussion since I read the initial post. I wouldn’t have known about it if not for a post by Laura Blankenship. The comments discuss the future of the new CS Principles course as an AP course. A lot of the discussion is about why students take AP exams. There are two main reasons:

  • To get college/university credit
  • To improve their chances of getting into the college/university of their choice

A lot of the discussion on Mark’s blog post focuses on the possibilities for students getting credit at the university level. Most of the people commenting are in fact teaching at the university level and there is some skepticism as about the number of universities that will teach an equivalent course and give credit or placement for the AP CS Principles exam. If students can’t get credit will they take the course?

Some point to the perceived value of AP courses on high school transcripts towards college admissions. With additional weighting at many school and with admissions officers looking at AP courses as evidence of students being able to handle post secondary workloads this is a big incentive for many students to take these courses.

Are these what we really want in a high school course though? Should it be all about university credit or acceptance or something else? Do we worry too much about the post secondary aspect/goals and not enough about both shorter and longer term benefits?

I think we are looking at AP courses, at least in CS, as the only way or perhaps the best (for some definition of best) way to get CS into the curriculum. It may be true but it is also sad.