Tuesday, December 31, 2013

A Look Back on 2013’s Posts

Time for an end of the year look back on the posts from 2013.image I was trying to decide if I should just report on the most read posts or do the work to list my favorite posts. Enough people recommended that I do both in some way that I am attempting that. There is some overlap but not 100%. Some posts get a lot of outside attention where outside is defined as people not in my usual audience. My most read post of 2013 fits solidly in that category. This is the top ten list according to Blogger statistics.
  1. We Need More Operating Systems – not really a CS education post but it sure did attract some attention. Lots of it was through Hacker News but a couple of other sites picked it up as well.

  • What Is It With US Students and Programming Contests? – A lot of notice here as well as a wide range of people put in their opinions both as comments here and in Hacker News.
  • Beware the Self-Taught Know It All – Yet another opinion piece. I am a believer in formal CS education but when you talk about that people jump in with contrasting views pretty quickly.
  • Sexism and Women in Technology This is an important issue to me and one I write about often. I’m pleased that this post got as much attention as it did.
  • How Many Fart Apps Do We Need – a screed over the trade offs between quality and quality of apps. More a comment on the state of the industry than of education which is why I suspect it got more than the usual amount of attention.
  • Why Girls Don’t Go Into Computer Science (Infographic) – People really seemed to like this infographic. It was sent to me by the people behind creating it and so not really my work. But if people found it valuable I’m happy.
  • CSTA K-12 Computer Science Standards correlated with the Common Core Standards in general and the Common Core are important these days with a lot of people looking for resources to help correlate them with what people are teaching. This post really serves to point to CSTA resources rather than to be a resource itself.
  • A Friendly Survey of Programming Languages A discussion about a course I would like to see. It is a favorite of mine. OF course anytime you start  talking about programming languages “religion” gets involved.
  • Opportunity Matters – A favorite of mine that talks about how students need opportunities to learn and how teachers need to help them get that opportunity.
  • 5 Programming Mistakes To Warn Students About – Students are going to make mistakes. How well do we warn them about them or prepare them to deal with mistakes? It’s something I worry about a lot.

  • Now for some of my favorites from the past year that didn’t make the list of most read posts but which I am still very pleased with.
    I am really proud of the series of Computer Science Educator Interviews most of which were posted over the summer. You can see the whole list at The Index. I tried to highlight some really great people doing innovative and creative things in computer science education. If you missed the series take a look at some of these interviews.
    Teaching Problem Solving was just off the top 10 list for views and it is a favorite of mine. Problem solving is so much about what we talk about as part of teaching computer science and programming. Just how and how well do we do it though?
    All You Know Isn’t Enough is a call for teachers to look beyond what they themselves know when teaching students. So much of what we do should be about encouraging students to learn beyond just the official scope and sequence.
    Programming with Blocks was not written originally in 2013 but it has been updated over the year. It remains one of the all-time most read blog posts here because it is just so darn useful. It is one of my favorites as well.
    Would You Hire Your Graduates? Some good stuff in the comments and there is something clearly different about university faculty and it does make sense that they worry about becoming ingrown. But I liked this post and the conversation it started even if not too many people read it.
    A lot of posts are timely in that they are appropriate for the time but they also time out in that they have less value over time. I think those posts are important and even necessary. But I hope to develop more posts this coming year that have more lasting value. That’s my blogging goal for the year. Stick around and see how I do.

    Monday, December 30, 2013

    Interesting Links 30 December 2013

    Not a lot to share this week. Last week was Christmas and I spent a lot less time on the Internet than usual. However if you are looking for a few interesting things including some videos take a look below.

    How the Amazon Warehouse Works is a fascinating look at how small robots make packing your Amazon order fast and efficient.  Has the future of warehousing arrived? Perhaps> The software behind this is something that impresses me most of all even though that is the least visible part of the operation.

    Someone pointed me to a brief video of Grace Hopper talking about what a nanosecond is and why it matters.

    What are the “21st Century Skills”? Garth Flint takes on that question if depth. It got me thinking and it will get you thinking as well.

    A Brief, Incomplete, and Mostly Wrong History of Programming Languages Computer Science humor that really gave me a laugh. Read it for the fun of it.

    Rebecca Dovi@superCompSci tweeted a link to a 3D printer comparison chart. This is a very handy chart of proven commercially available 3D printers and 3D printer kits

    Come back tomorrow as I review the top posts from this blog over the last year.

    Thursday, December 26, 2013

    ACM/IEEE-CS Computer Science Curricula 2013 (CS2013) Final Report

    I was pleased and honored to be a part of the committee that developed this document over a period of several years. If you are interested in undergraduate computer science education this is a must read.

    We are delighted to announce the release of the ACM/IEEE-CS Computer Science Curricula 2013 (CS2013) Final Report. The report is available at the CS2013 website (http://cs2013.org) or directly at:


    (The report will also soon be posted at the ACM website as well as at doi.org.)

    The CS2013 Final Report contains guidance for undergraduate programs in computer science, including a revised Body of Knowledge, over 80 course exemplars (showing how the CS2013 Body of Knowledge may be covered in a variety of actual fielded courses), and 5 full curricular exemplars from a variety of educational institutions. The report also contains discussions of characteristics of CS graduates, design dimensions in introductory courses, and institutional challenges in CS programs, among other topics. The report has been endorsed by both the ACM and IEEE-Computer Society. We hope you find it useful.

    CS2013 Steering Committee

    ACM Delegationacm

    Mehran Sahami, Chair (Stanford University) Andrea Danyluk (Williams College) Sally Fincher (University of Kent) Kathleen Fisher (Tufts University) Dan Grossman (University of Washington) Beth Hawthorne (Union County College) Randy Katz (UC Berkeley) Rich LeBlanc (Seattle University) Dave Reed (Creighton University)

    IEEE-CS Delegationieee_logo

    Steve Roach, Chair (Exelis Inc.) Ernesto Cuadros-Vargas (Univ. Catolica San Pablo, Peru) Ronald Dodge (US Military Academy) Robert France (Colorado State University) Amruth Kumar (Ramapo College of New Jersey) Brian Robinson (ABB Corporation) Remzi Seker (Embry-Riddle Aeronautical Univ.) Alfred Thompson (Microsoft)

    Tuesday, December 24, 2013

    Merry Christmas 2014

    Merry Christmas and a Healthy, Happy and Prosperous New Year to all my readers and friends.

    God Jul og Godt Nyttår

    Maligayang Pasko at Manigong Bagong Taon

    Boas Festas e Feliz Ano Novo

    Pozdrevlyayu s prazdnikom Rozhdestva i s Novim Godom

    Joyeux Noël et Bonne Année!

    Froehliche Weihnachten und ein glückliches Neues Jahr!

    Kellemes Karacsonyiunnepeket & Boldog Új Évet

    Selamat Hari Natal

    Linksmu Kaledu ir laimingu Nauju metu

    Kung His Hsin Nien bing Chu Shen Tan


    Chuc Mung Giang Sinh - Chuc Mung Tan Nien


    Vesele Vianoce a stastny Novy rok

    Selamat Hari Natal dan Tahun Baru

    Feliz Navidad y Próspero Año Nuevo

    If I missed anyone's language or got it wrong I apologize. I hope you all have a great day on December 25th whether or not you celebrate the birth of Christ in your own tradition or religion. And my sincere wishes that you will all have a happy, healthy and prosperous New Year!

    The Price of Software

    This morning I was reading Robert Scoble’s Age of Context while waiting for my order to be ready at the fish market and came across mention of how inexpensive mobile apps have become. It brought me back to someone a profession of mine once said. This was back in the mid 1970s and computers were pretty expensive. I believe the university had just spent about a half a million dollars for a computer. Now the university had two computers. My professor predicted that in the near future people would spend more money on software than hardware. It seemed a daring prediction at the time. But of course he was right.

    For the first few years of my career computers were still more expensive than software. A company might spend a couple of hundred thousand dollars for customer software but the computers still cost a lot more. Hard to believe today but that was the case for years. Computers did become less and less expensive. Software became more expensive at least as a percentage of total cost of ownership.

    The PC era brought in a new time of less expensive computers. Software for personal computers was more expensive than the computers they ran on until Microsoft bundled the components of Office and dropped the cost of a lot of software through the floor. But software was still a big cost for businesses who required more software and at least some custom software.

    Today when you talk about the cost of computers and software you have to look at different markets. Software can still be a huge expense for a business. With cloud applications hardware costs can become a very small piece of the cost of ownership pie.

    For home users a lot depends on the user. Many people get buy with the software that comes with their laptop or PC and the software cost is buried. If one wants to do real work or play special games there is software to buy but volume makes the cost pretty low.  For phone and tablet users apps are ubiquitous and prices range from low to free. For many people the cost of the device is the second highest piece of the cost with the service/date cost being the highest and software often the lowest.

    Of course a lot of free software isn’t completely free. A lot of it is advertising supported. We’re used to thinking of that as free though. Many apps cost companies serious money to develop but the give it away because it lets them make money in other ways.

    For me I get excited about how inexpensive it is to write ones own software. Development tools are often free or low cost. With the price of computers and other devices so low the platform is available to a great many more people than ever before. No spending a quarter of a million dollars for a private computer or hundreds of dollars an hour for timesharing in this era. It’s a pretty exciting time to be involved in computing.

    Monday, December 23, 2013

    Interesting Links 23 December 2013

    Christmas Break! I teach in a Catholic school so we call it that. I’m out of school until January 6th for a nice 16 day break. I have some grading to catch up and I will be doing my lesson planning for the final two weeks of the semester as well. But a lot of the time will be spent with family and friends. Expect fewer blog posts for the next two weeks. Below are a few things I found interesting over the last week though.

    Some cool Education Windows 8 Apps for Kids... and How to Rate Apps in Windows 8 is a post from Dan Kasun based largely on his views as a parent.

    Cool video about Facebook's take on why we need more women in tech.

    The first draft of the program for the annual CSTA Conference this summer is up (PDF)  I think it is pretty amazing with multiple choices for me to attend in each session. Hope to see you there.

    Every other month I do a guest post in the CSTA blog. This month’s post is  Overcoming the Isolation of the Computer Science Teacher Take a read.

    Mark Guzdial takes on Google’s latest funding for professional development with a post called Google’s mistake: CS teacher PD must be on-line only As usual Mark says it better than I can. Though I did address it in part in  MOOCs For Teacher Training–Not a Fan

    Data Structure Visualizations  There are some cool tools here.

    Not Just About Numbers: A Young Woman's Perspective on Computer Science Education via the Huffington Post Education @HuffPostEdu

    Free art for computer games - http://opengameart.org/ -  the answer for programmer art?

    International Women’s Hackathon 2014mrc-event-page-ad-270x180

    April 25–27, 2014 | Worldwide on university campuses and live at the USA Science & Engineering Festival, Washington DC

    Friday, December 20, 2013

    Misteaks During Classroom Demos

    imageMost teachers make mistakes in class. I know that I do. Sometimes it is a typo. Or a slip of the tongue. Sometimes it is because we forget something and sometimes it is because we foolishly bravely try to do something we haven't tried before.  I did both of those last two yesterday. sigh I tweeted about one instance.

    and had a useful reply.

    This got me thinking. In many ways Ria is quite right. This is especially true if the problem shows up right away. Errors during a demo let a teacher reinforce points they are trying to make. The appearance of the error message and the steps the teacher follows to fix the problem can be very informative and instructive to students.

    It can, at times, be embarrassing for the teacher but I find that for the most part students are willing to cut me some slack especially if I am patient and understanding when students run into their own problems.

    Mistakes often make great learning experiences. With programming languages being so picky and people being so human anyone writing code is going to run into errors. I try to reassure students that their errors, mistakes, typos and struggles with concepts are common and not unique to them. A simple “I knew how to fix this because I have made the same mistake” can go a long way to helping a student not lose confidence. I can’t remember ever having to lie to say this either.

    I don’t try to make mistakes in class. Especially not during a demo. I may deliberately leave things out so that I can build a piece of code is steps and that may look like an error. But real errors are, thankfully, fairly rare. I try hard to prepare and practice my demos several times before showing them to a class. Every so often I decide to “wing it” or to use a demo I haven’t done in a while and that increases the chances for errors. When it does happen I try to see it as a learning opportunity. And occasionally pretend I did it on purpose to see who was paying attention. Smile

    *Yes I know the word “mistakes” is misspelled in the title. I did it on purpose. Honest I did.

    Thursday, December 19, 2013

    An Hour of Code–Now What?

    CSEdWeek_logo_vertical_RGBBy just about any of the usual measures (people involved, media attention, VIP endorsements) this year’s CS Education Week was a huge success. We’ve had a couple of CS Ed Weeks before and they often didn’t reach beyond our own little world of CS educators. An Hour of Code, initiated by Code.ORG, dramatically changed CS Ed Week. It gave people something specific to do to celebrate.

    If previous  years many people didn’t really know what to do to celebrate. Oh we talked about ideas that other departments did for math week or whatever but not much specific. CS teachers, generally alone in their school, don’t have the resources that a math or English or World Languages departments do either. So while many people tried valiantly to do something it was hard to make a big splash.

    This year there was something concrete to do. An Hour of Code!. And there were posters, celebrity endorsements, a big PR push and perhaps best of all a bunch of resources for people to use. (Full disclosure: I did some paid work for Code.Org on gathering some of those resources) So there were millions of students involved all over the world. News of the events and issues made it into the main stream media. Yea us!

    Now what? A lot of kids were exposed to wring code. Many of them had a great time and are ready to do more. A one shot event is great but how do you keep the excitement going?  Code.Org has a list of resources for teaching beyond an hour of code. There is great stuff there and lots of it. If you want to get your children or your students to continue that’s a great place to start. Build an after school program? Sure, why not? Resources are available.

    In the long run I have mixed feelings about after school programs. Some of them are great. Some of them start well but become unsustainable when a founder becomes unavailable after a time. I really want to see more computer science course in the regular school day. I want computer science to count for graduation requirements. (See petitions to make CS count for graduation requirements) I want computer science to be thought of as one of the liberal arts that everyone should have a chance to learn.

    Computer science is not just for the math geeks. It is something people need to know something about in many fields (See Mark Guzdial at Why are English (and lots of other) majors studying computer science? and Gail Carmichael’s post Why Arts and Social Science Needs Code: Testimonials)

    I want to see more good, well trained teachers of computer science. And better ways to teach it. We need to Catch and Hold Attention of a new generation.

    To do this we need to change the way state departments of Education look at computer science. Making changes like this is hard. (Reference mark Guzdial’s blog Lessons learned from ECEP: How do we change a state?

    National groups like the Computer Science Teachers Association (CSTA), ACM, code.org and others can do lots of good here. And they are doing a lot of good. But we also need grassroots efforts. CSTA has Advocacy Tools available. Local CSTA chapters can be another source of organization and support for local and state advocacy.

    In a country like the United States where there is no national curriculum (and a lot of resistance even to voluntary standards) getting more computer science in to schools is often going to be a state, a county or even a school decision. It’s going to take a lot of local work.

    Right now computer science education has a lot of attention. But people, especially political leaders, have a short attention span. Now is the time to build on what was accomplished last week and work for the future.

    Tuesday, December 17, 2013

    MOOCs For Teacher Training–Not a Fan

    Mark Guzdial shared some news about Google’s CS4HS program on Facebook today.

    Google's program to fund high school teacher professional development in CS will no longer fund face-to-face workshops. All on-line ONLY. Wish we could have figured out how to do online CS teacher workshops effectively first.https://docs.google.com/forms/d/155ZYLilZBNVUHcCFwmTl0VGjpc8ZGqutoH888tWbO_4/viewform

    This seems like a big step backwards. I think I understand why Google is doing this based on my own experiences working at a large company talking about doing teacher training. That doesn’t mean I think it is a good idea.

    In-person training is expensive and resource intensive. There are trainers to send and pay, venues to find and pay for, and resources to prepare and distribute. It’s costly. And all too often the turn out is disappointing.  Companies struggle to calculate a good return on investment to justify the spending to upper management. What seems cost effective for a class of 20 to 25 seems like a bad deal when only 10 teachers show up. And that happens a lot.

    Online training looks like the answer. “Put a bunch of videos up!” Or run online in Lync or Skype or Google Hangouts. No travel. No venue. It scales! But does it work? Not so much.

    It’s like the old joke. A man is on his hands and knees looking for a dropped item. He is asked where he dropped it. The reply is “around the corner but the light is better here.”

    MOOCs are where “the light is better.” The early returns are that MOOCs are less effective than in person training and have low completion rates.

    The online “solution” misses out on some of the other great value of face to face professional development. A large part of the value for many is the conversation during breaks and meals. The chance to discuss things one on one or in small groups of teachers informally is priceless. That’s not there in online training. If online were enough we’d be fine with Facebook, Twitter, blogs and the popular CS education email lists/forums. But we’re not. We need that in real life interaction.

    Companies are for profit organizations. Money for teacher training is hard to come by and requires some innovative cost justification. It usually comes from marketing money which requires someone to explain why spending it will lead to sales. Sometimes it comes from other parts of a company who have goals of community relations or recruiting. There funding is easier to justify but the amounts of money are generally smaller. Companies spend more when the payoff it higher in terms of income compared to “good will.”

    Still I think that companies in computer technology have a vested interest in funding training for computer science teachers. They need the computer educated population for their market to continue to grow. The return on investment may be difficult to calculate but I for one believe it is real. While MOOCs seem like a cost effective way to deliver teacher training I am not convinced that it is as cost effective as it appears. Maybe one day we’ll know how to do it well but I am not convinced we are there yet

    Monday, December 16, 2013

    Interesting Links 16 December 2013

    website-linksI tweeted a lot last week. I mean a real lot. Made it hard to sift through for the stuff with more lasting value than just all the great Computer Science Education Week and Hour of Code stuff I retweeted. But I did it. Hope you find some value here.

    My Computer Science Educator Interviews: The Index has been  updated with a new interview with Emmanuel Schanzer. I hope you caught that interview which I posted on Friday. Emmanuel is a great guy running a really good program. See this related opinion piece in the NY Times: When students have fun with math, they embrace STEM careers. Making algebraic video games is a great start!

    CSTA's Equity Committee (I’m a committee member) announced the winners for its "We Are the Faces of Computing" poster competition.

    Speaking of the Hour of Code program.    Do you need more #HourofCode certificates for your class? Create new ones here: http://code.org/certificates

    Google Computer Science First is looking for volunteers. To learn more about Google CS First, check out their slide deck!

    There have been some detractors to Hour of Code. The best reply I have seen is this one by Doug Peterson  (@DougPete) Why Coding?

    Does Computer Science Count in Your State? In this post from last week I link to a number of petitions asking states to let computer science count for meeting a graduating requirement.

    DreamWorks Presents the Power of Supercomputing: A short funny video about what super computers are doing.

    From Grace Hopper to Ada Lovelace: women who revolutionized computer science highlights some impressive women in CS. Some familiar and some not so familiar.

    Why are English (and lots of other) majors studying computer science? Interesting article from Mark Guzdial @guzdial

    Great Ebook (style & content):  Try an Hour of Code in an Ebook for Computer Science Education week 

    Hour of Code - Why Computer Science Education Matters : This post is by Dan Kasun at Microsoft. 

    The Foundry: Driving Innovation, Design & Opportunity  Cool summer internship opportunity for college students

    Sunday, December 15, 2013

    11 Things Blog Meme

    Doug Peterson tagged me in this blogging meme.  This isn’t normally the sort of thing that I do on this blog but it’s Doug Peterson! Doug is one of the nicest people I know. Plus as Doug points out  “if it helps the cause of bringing bloggers together, I’ll give it a shot.” 

    So here is the task…

    1. Acknowledge the nominating blogger- in this case it would be me…
    2. Share 11 random facts about yourself.
    3. Answer the 11 questions the nominating blogger has created for you.
    4. List 11 bloggers.
    5. Post 11 questions for the bloggers you nominate to answer, and let all the bloggers know they have been nominated. Don’t nominate a blogger who has nominated you.

    11 Random Facts About Me…

    1. I ride a unicycle. Well not in a while but I have it and could if I brought it out.
    2. I spent one Christmas Eve singing Christmas carols in Bethlehem’s Manger Square.
    3. My favorite operating system is VMS. (Bing it. Smile )
    4. I ran for school board twice. Lost both times.
    5. I was a big fire buff when I was growing up. I had official credentials to travel inside the fire lines in New York City.
    6. I spent a summer working in a camp kitchen mostly washing dishes.
    7. I rode a bicycle from California to Delaware when I was in high school. In 32 days.
    8. The house I grew up in had a real brass fire pole taken from a real firehouse.
    9. I’m the oldest of four children.
    10. My dream is to learn how to fly an ultra light aircraft..
    11. I attended a Parochial school, a public school and a private school all before high school.

    Doug’s Questions for Me Were… and my responses are in blue

    1. When was the last time you backed up your computer? The whole thing months ago. Key things get copied to the cloud (Skydrive) daily.
    2. If you could speak any language other than English, what would it be? Norwegian. Not for any practical reason but just because of my heritage.
    3. Where would you go for your dream vacation? French Polynesia. The idea just fascinates me.
    4. Have you ever received a parking ticket? Yes. Hard to avoid them when I was renting a place in Brooklyn with no off street parking.
    5. You’re in control of the thermostat.  What’s your ideal room temperature? 70 to 72 Fahrenheit (That’s 21/22 for you Doug.)
    6. Have you ever taken an online course? Not a long one but several companies I have worked for ran required online mini courses.
    7. What was the last educational conference that you attended? Last summer’s CSTA conference.
    8. When was the last time you were in a public library? It’s been years.
    9. Have you ever dabbled with Linux? Not really. I worked with UNIX for a job I had many years ago and that turned me off to the whole idea.
    10. What would you consider to be the best photo you’ve ever taken? II ‘m a poor photographer but I have a picture of a water fall in Iceland I took that I like enough to use for the background on my computers.
    11. What, and where, is your favourite park? Probably Frogner Park in Oslo Norway. It is home to the Vigeland Sculpture Arrangement which is one of the must see places in Oslo.

    The final thing that I’m supposed to do is pass this along.  If you’re reading this, consider yourself tagged. Also visit these blogs. They’re good ones.  Please  keep this thing going. 

    1. Laura Blankenship
    2. Doug Bergman
    3. Mark Guzdial
    4. Garth Flint
    5. Gail Carmichael
    6. Rob Miles
    7. Mike Zamansky
    8. Cait Sydney Pickens
    9. Michael Smith
    10. Matt Wagner
    11. “Ed” Donahue

    For you and these folks, I’ll ask the following 11 questions.

    1. What place have you visited that you think everyone should visit?
    2. Who is the most famous person you have met?
    3. If you had to live in one other country other than where you live now where would it be?
    4. What sport do you most dream of being a start at?
    5. What did you want to be with you were 10 years old?
    6. What is the worse book you ever finished reading?
    7. Who would play you in a movie about your life?
    8. What was the first car you ever owned?
    9. Dogs or cats or neither?
    10. Your ideal place to take a nap?
    11. Scariest thing you have ever done?

    I played – hopefully, you will too.

    Friday, December 13, 2013

    CS Teacher Interview: Emmanuel Schanzer

    Over the summer I posted a series of interviews with computer science Bootstrapeducators. (see the index at CS Educator Interviews: The Index) ) One of the people I really wanted to include was Emmanuel Schanzer who runs Bootstrap. Emmanuel was pretty much flat out over the summer but he recently made time for my questions which I appreciate greatly. BTW if you get a chance to take one of his workshops – DO IT!

    [NOTE: A lot of people seem to get here looking for questions to ask computer science teachers during hiring interviews. Those people may want to read Interview Questions for Computer Science Teachers.]

    Tell us about yourself.  What is your background and how did you wind up creating Bootstrap?

    I grew up in Providence, RI and studied Education and Computer Science at Cornell University. I've always loved teaching and found CS to be a fascinating field, and I'm at my happiest when I can combine the two. After  short stint in the private sector after college, I decided to become a teacher and approached a number of schools about teaching programming. 
    Ten years ago programming wasn't even being talked about as a core subject, and there just wasn't demand for someone like me. As a result, I wound up teaching introductory algebra in a public high school. What struck me then was that the vast majority of my students struggled with the concept a "function", regardless of how well they'd done in the previous class. Even the students who were doing well would struggle if I tweaked a problem or asked a follow-up question, and I discovered that they were basically memorizing different types of problems and solving them mechanically. 
    I also struggled with functions in high school, and realized that I didn't fully understand the concept until college, when I took my first real programming class. At the time there were already a number of software programs, programming languages and activities that used programming to teach math, but none of them fit my needs (more on this later). As a result, I started writing a curriculum for my own class, which is eventually what became Bootstrap. 
    However, Bootstrap wouldn't be what it is today if it weren't for the enormous contributions of a number of people and organizations. Over the last six years, Shriram Krishnamurthi (Brown University) and Kathi Fisler (Worcester Polytechnic Institute) have been instrumental in taking it from a small project and turning it into the scalable, polished work it is today.  The program has also grown thanks to the tireless efforts of Emma Youndtsmith, who runs all of the Bootstrap workshops and teacher support programs in the Northeast - it's because of her that we're able to operate on both coasts of the country! Finally, I want to thank Matthias Felleisen (Northeastern University) and the entire Program by Design team - we're standing on the decades of work they've put into the language, curriculum and pedagogy.

    What is Bootstrap? What makes it special?

    Bootstrap teaches students to program their own videogames, using purely algebraic concepts.
    I'd say there are two main differentiators for Bootstrap, the first being our use of a truly algebraic language. It may surprise some people that the programming languages used most often in schools don't behave anything like mathematics! Here's a simple program to illustrate the point:
    x = 3;
    x = x+2;
    What is the value of 'x' at the end of the program? If you said "five", you're completely right! But now consider the same expression in a math class:
    x = 3
    x = x+2
    This doesn't even make sense! Subtracting by x on both sides of the second line gives us "0=2", which we know is totally wrong. What's going on here is that many programming languages have things called "variables" that don't behave anything like the variables we see in math! If a student is struggling with the concept of variables in algebra, learning to program in a language like this isn't going to help...and it's likely to just make things worse.
    In Bootstrap, functions and variables truly behave the way they do in mathematics. What's more, we extend the algebra to talk about more than just numbers! Kids write functions over numbers, strings, images, and animations - all following the same rules in their math book.
    The second major differentiator for Bootstrap is the close integration between the software tools, the curriculum and the pedagogy. So many of the tools out there assume that teachers will just seat their students in front of a computer and be done with it -- at best the teacher is basically a tutor, and at worst they're a babysitter. The tech-ed movement has created a number of beautiful tools, but teachers need more just than a piece of software to teach: they want lesson plans, a scope and sequence, homework assignments, quizzes, and handouts. They want professional development that really demonstrates what it really means to teach with this stuff, and they want these things designed carefully so that they fit together. That's what we've done in Bootstrap, and I think teachers really appreciate the difference. 
    I should also say a few words about these three components, because we've put years of effort into each. The software is entirely browser-based, so there's nothing to download or install. Files are saved in the cloud, so students can work from any computer. We've made every effort to keep the environment as friendly and helpful as possible, while still being a real text-based IDE. The research that went into just the error messages for this language won "best paper" at SIGCSE, and we've integrated that work into the errors in WeScheme. 
    Meanwhile, the curriculum has been developed with feedback from hundreds of teachers and thousands of students. We ship it with an integrated student workbook, handouts, exit slips, homework assignments and detailed lesson plans. We've also aligned our curriculum to both the CSTA Standards for Computer Science and are the first to align to the Common Core Standards for Mathematics as well. We run a discussion group for teachers, where they can ask questions and get quick feedback, as well as a YouTube Channel where teachers can watch sample lessons to get some ideas.
    Finally, the pedagogy is drawn from the widely-respected Program by Design work, which has been used for decades in university and upper-high-school classrooms around the world. When used with an algebraic language, it also mirrors the Common Core Mathematical Practice Standards beautifully, as well as the NCTM recommendations for teaching algebraic functions. With this pedagogy, Bootstrap students live and breathe word problems, with nearly every aspect of their game being introduced as a word problem they need to complete.
    Oh, and did I mention that our software and classroom materials are all completely free? :)

    Where is Bootstrap being used? What sorts of schools?  What grades?

    Bootstrap has been integrated into existing math and computer science classrooms around the country, either as a standalone module or as something that's woven into the fabric of the class. Our "sweet spot" is generally 8th and 9th grade, but we've seen teachers use it with students as old as 18 and as young as 10. Our focus on algebra has led to broad adoption in urban public schools, but there are a number of rural, private and parochial schools that have adopted it as well.

    You do a lot of professional development. What sort of PD events do you run?

    We run some amazing 2- and 3-day workshops for teachers, as well as a 1-day "marathon exposure" class. I remember the various PD days I went to as a teacher, and I can definitely say that our workshops are not your typical PD. For one thing, 99% of the time teachers spend doing hands-on work, actively moving through the curriculum and asking questions along the way. We actually teach the entire class as a demonstration, pausing after each activity to debrief and talk about differentiation and technique. And since the teachers are participating "as students", they walk away having seen exactly how each activity can look in a real classroom -- and of course, they get to go home having written their own, fully-playable videogame!

    What are your future places for Bootstrap?

    There are some big things afoot, including the adoption of the very-exciting Pyret programming language. We're also exploring a block-based environment and a flipped-classroom model, but we're not at the point where we're able to talk about it just yet.

    What else do you want people to know about you and Bootstrap?

    1. Bootstrap is written by teachers, for teachers. If you're a veteran math teacher, you're going to like what you see.
    2. It's more than just a piece of software - it's a curriculum and pedagogical approach to problem-solving.
    3. We believe that making a dent in the universe is about more than engagement. Getting kids excited about programming is necessary, but learning real, transferable skills must always be at the heart of what we do as educators.

    Thursday, December 12, 2013

    Does Computer Science Count in Your State?

    Computer science only counts as a graduation credit (usually in either math or science) in 15 states. In most states a computer science class can be an elective but nothing more. That means that a lot of students who could take computer science don’t take it because they can’t fit it in and still graduate on time. In other places schools don’t even offer computer science because they don’t expect students to want to take it. I found a bunch of online petitions at Change.Org asking various states to correct this problem.
    I have listed the ones I found at Make Computer Science Courses Count toward Graduation Credits. If you know of others let me know and I will add them.
    If you live in one of these states please sign the petition for your state. Thanks.

    Wednesday, December 11, 2013

    Why I Write Code

    I’ve been programming for about 40 years now. That’s a long time in Internet time. Honestly in some ways it is more fun now then ever and it started off as fun for me. The story starts for me back in college when I took a programming course to avoid taking a math course. Really. I needed two requirements from a selection of math and science and one of the options was an introductory computer science course. I knew I didn’t much like math and had no idea what computer science was all about so why not?

    I struggled a bit at first but eventually it “clicked” for me. I had, what at the time was, extraordinary access to the university computer. There was a computer in the computer lab. Yes one computer for the whole university. Used during the day for school related work students had access after 6PM until (in theory) 10PM. I say in theory because some of us were granted after hours access. With this access I started writing code for fun.

    The next year the university acquired a PDP-11 computer running the RSTS timesharing OS. More fun and not a little hilarity occurred. There was a lot more computer access time for students now.

    As I look back (and forward) there are a lot of reasons to learn to code. Making money is one. Software development earned me a good living for much of my adult life. I was fortunate enough to work for two great computer related companies (Digital Equipment and Microsoft).

    Changing the world is an even better reason. Though I think my influence in changing the world is most likely to be a result of the students I have taught over the years rather than any of my own code. I have been fortunate enough to have many outstanding students who have moved far beyond my modest coding accomplishments.

    At its heart though, for me, writing code is fun. It is an immensely fulfilling process of discovery, creativity, and accomplishment. It gives me great satisfaction to create some code that makes the computer do something I want (or perhaps need) it to do. Programming is my ultimate brain teaser and creative act rolled up into one activity.

    A friend tweeted a quote earlier today that struck me as interesting.

    I’m not so sure video games would have been his thing but I have little doubt that a computer would be involved in his life. Can you imagine what a creative mind like his would have done with a computer? Or Leonardo DaVinci?

    Programming today remains as much art as science. That is both good news and bad news. The good part is that it remains a creative work that rewards people who think differently. People who may not be aware of the box enough to know they are thinking outside of it.

    I write code because it is fun. I write code because it is a wonderful way for me to create things that do something. Writing code is an art of the mind. If you just see it as a way to earn a living you will earn a living. If you just see it as a way to get some task done you will get the task done. If however you see it as creation, innovation and expression you will enjoy yourself a lot more.

    Tuesday, December 10, 2013

    That Is Not My Name

    My first major in college was Sociology.NameTag I did finish it along with a second major in Systems Analysis (few CS majors existed back in the dark ages) and to some extent that sociology background influences how I look at Computer Science concepts. Take for example identifiers. Variable names, method names, class names, and many more items in a computer program have names. Using these names correctly is important.

    There are parallels in human interaction. There are cultures where people have two names with one being public and the other being private. Why? Because these cultures believe that knowing someone’s secret or real name gives one power over the person. There is some truth to this in reality. Any teacher can tell you that yelling “hey you stop” at a running student is far less effective than yelling “Michael Robinson stop were you are!” (made up name) Knowing a student’s name gives you more power than not knowing it. Using the wrong name on the other hand is often worse than useless. Trying calling a child by their sibling’s name sometime and see what sort of response you get.

    Names, or identifiers if you want to get all technical, are what give us power over the objects/data they represent. When we teach students to program one of the things that we always try to get across is that names should be descriptive. Names should mean something and not be random or arbitrary. They should tell us something about the object in use.  They should also help us use the right object at the right time. Seems easy but some beginners struggle with this.

    I’m seeing some of these issues with my beginners. They spell names incorrectly or they use the wrong names in formulas. They sort of expect the computer to know what they are thinking. I repeat the common phrase “computers do what you tell them to do not what you want them to do.” but it sometimes takes a while to sink in. I’m working on finding ways to help them with it. Explaining it doesn’t work so I need some visuals. Any ideas?

    Monday, December 09, 2013

    Interesting Links 9 December 2013

    Today is Grace Hopper’s birthday. An amazing woman I was fortunate hopperenough to meet while in college and hear speak several times during my career. It’s also part of Computer Science Education week and that is no coincidence. The week of Admiral Hopper’s birthday was a natural selection for the celebration of computing education. Through many roles in her career Admiral Hopper always thought of education of the next generation as a key part of her life’s work.

    Speaking of CS Ed Week and the signature event of this year – the Hour of Code – the media is starting to pick up the news. For example in this article Cnet discusses the Hour of Code

    And there is this Open Challenge for Ellen DeGeneres to try and write as much code as a 4 year old by Thinkersmith

    On the CSTA Blog, CSTA executive director Chris Stephenson writes about some Concerns About a Computer-Based AP CS Principles Exam. Not on the curriculum but on the plans to only offer the exam on computers. Take a look and leave your opinion in the comments section there.

    Have you never been to the SIGCSE Conference? For the first time there are some travel grants for first timers to attend SIGCSE 2014. Thanks to Henry Walker! http://sigcse.org/travelGrant

    Top Ed-Tech Trends of 2013: Coding & "Making"   via @hackeducation Another example of why @audreywatters is a must read

    Do you use Alice to teach programming? Did you know that Students Can Create Animations of Garfield the Cat With New Version of Carnegie Mellon's Alice Software? Cool!

    Everything Is Becoming a Branch of Computer Science from Innovation Insights at http://Wired.com

    Why Teachers Must Have a Digital Footprint What do you think? Are they right?

    The Boston Globe covers the Bootstrap program for integrating algebra and computing:

    Computer science education - Readings from Thanksgiving Break  by @caitsydney

    What’s the difference between college-level and corporate programming? More or less than you thought?

    Friday, December 06, 2013

    Are you learning fast enough?

    Erik Meijer is one of the awesome people I get to meet while I worked at Microsoft. Earlier today he tweeting something that really made me think.

    I think in some respects the message here applies to teachers more than ErikMeijerstudents. Sometimes we get to the point where we think we know it all and that we are just “so smart.” It’s times like that when we have to ask ourselves if we are still learning.

    Are we learning enough? Are we learning fast enough? Are we really going to be able to help our students be ready for the world if we are complacent in our own knowledge?

    BTW yes, Erik is a colorful character. A brilliant mind and a fascinating speaker. If you get the chance to hear him talk take it.

    Programming Languages for Middle School

    There may be quick questions but are there any quick answers? I had the following Tweet recently.
    OK the question was quick and I answered quickly with:
    But that left me unsettled. It’s been a while since I taught middle school full-time. I’ve done some workshops for middle school students (Kodu and HTML) but that is not the same. But I know that a lot of people are using Python, Small basic, Alice and Scratch with middle school students. So the answer seemed reasonable.
    I decided though to ask some people who are involved with middle school computer science education what they thought. Laura Blankenship was the first reply:
    JS would be JavaScript which is a real up and coming language. That she uses different languages with different grades should not come as any surprise. Students to a lot of growing in every way between 6th grade and 8th grade.
    Patrice Gans added App Inventor and Kids Ruby to the list of recommendations. 
    App Inventor is based on ideas from Scratch and I like it. It might work best if you actually have some devices (Android phones or tablets) to work with. KidsRuby I don’t know much about at all so I guess I’ll have to do some research on that one.
    Patrice has a Google Doc with a list of K through 8 computer science education resources BTW. I was reminded of this during a Twitter chat about K8 computer science the other night. You can see a lot of that by looking at the #CSK8 hash tag. I think they may be running these chats regularly so keep an eye of for them.

    [edit] Emmanuel Schanzer reminded me on Facebook that some 2000 middle school students are using the Bootstrap curriculum he developed using the Ratchet language. "Bootstrap is a curricular module for students ages 12-16, which teaches algebraic and geometric concepts through computer programming. "

    Thursday, December 05, 2013

    How Do You Know It Works?

    I have been teaching Visual Basic programming to my freshmen this week. It’s part of a course we call Explorations in Computer Science and its new this year. The students are working on a simple program to do temperature conversions – Fahrenheit to Celsius and back again. It’s deliberate fairly simple because the idea is to get them used to the IDE, using assignment statements and simple formulas, and generally get their feet wet. I go around the room helping out here and there, repeating some information again, and of course letting the students who off their working programs. And that is when it gets interesting.software-testing

    A student will run the program, type a number into a box, click on the button and a new number will display. My question then is “is that the right answer?” Fairly often the reply is along the lines of “I think so” or even “I don’t know.” I’m sure you are thinking “didn’t you talk to them about test data?” to which I reply “you betcha!” In fact I showed them (several times) some examples of good data – input values for which I (and they) know the correct output.

    So why don’t students use that data? Oh how I wish I knew. Somehow beginners like to assume that once the program compiles, runs and displays an answer in the right place that all is good. Often it is not. In fact I accidently posted an incorrect formula which some students copied so answers were decidedly wrong. That showed up the first time a student entered good test data. As soon as the first student showed it to me I realized what I did wrong (cut and paste error). Students who didn’t test well would never have known though.

    So obviously this is something I will continue to talk about throughout the course. I may share a story that Eugene Wallingford posted in his blog - AGILE MOMENTS, "WHY WE TEST" EDITION – about someone who surely wished they’d tested more.

    Testing is a critical piece of any scientific or engineering endeavor. We need to teach students how to do it correctly from the start.

    Wednesday, December 04, 2013

    TEALS (Technology Education and Literacy in Schools) Looking for Partner Schools

    TEALS is an interesting program started by a Microsoft employee some years ago. It taps the enthusiasm and expertise of industry professionals who work with classroom teachers to bring CS course into schools that would not otherwise have them. The program is looking to expand to more schools across the US.

    Logo Linked List

    As December nears, TEALS (Technology Education and Literacy in Schools) is starting the process of recruiting new partner schools for the 2014-15 school year. TEALS (www.tealsk12.org) is an industry wide nonprofit program with a proven track record that is hosted within Microsoft YouthSpark.  TEALS helps high schools build a sustainable computer science (CS) program by integrating industry software engineers into the classroom in a co-teaching model with a classroom teacher.

    A detailed program description can be found at:

    To learn more about how a school can add computer science to its course offerings, please complete the following action items:

    1. Register your interest at: http://tealsk12.org/about/register.php?ref=ops&type=schools so that we can add you to our database of interested schools and notify you as application materials become available
    2. Attend one of two conference call information sessions to learn more about the program and the school application process. The following school representatives are advised to attend, as all of these parties will play a role in the application process and in building a successful computer science program:
      • School administrator
      • District CTE representative
      • Teacher interested in learning and teaching computer science full-time
      • Guidance department representative
      • Diversity engagement representative

        Call #1: December 9, 2013 at 10pm EST/7pm PST
        Join online meeting   
        Join by phone
        +14257063500 (USA - Redmond Campus)       
        Conference ID: 60410873

        Call #2: December 11, 2013 at 7pm EST/4pm PST
        Join online meeting
        Join by Phone
        +19173881000 (USA, New York)         
        Conference ID: 586271907

    3. Read the detailed information packet which includes the official school partnership guide, checklist of requirements, and classroom teacher development plan. It will be made available on December 9, 2013.
    4. Apply! The online application will officially open on December 19, 2013 and applications will be accepted until March 3, 2014.

    You can reach out to us via our contact page (http://tealsk12.org/contact/contact.html) if you have any questions.

    Thank you and we look forward to your attendance at the information session.
    Kevin Wang

    Tuesday, December 03, 2013

    Announcing DyslexicGamemakers.com

    Know any dyslexic students who are interested in creating video games and build some skills? They may find this announcement interesting.

    dg logoWe are proud to announce we are teaming up with Dyslexic Advantage to build Dyslexic Gamemakers an online community and virtual club to leverage kids passion for video games to build skills in STEM and Digital Media Arts.

    The Plan:

    • December 4 - First Meeting of Dyslexic Gamemakers in Webroom
    • Week of Dec 9-13 - Hour of Code Activities
    • January - Mod a Game
    • February - April - Make a Game - Team or Individual
    • April - Enter STEM Video Game Design Contest and Dyslexic Gamemaker's Contest

    Sign Up TODAY

    We are open to school age kids of all ages - SIGN UP HERE

    Help Us!

    We need mentors! Calling all pro-dyslexic game makers, parents of dyslexic kids and those who have passion for this cause. - PLEASESIGN UP HERE

    Please forward this email to friends, family, co-workers and community members who you think may have kids who are interested or who may be interested in becoming mentors. We are partially keen to build our network of dyslexic video gamemakers and technology professional.


    About Dyslexic Gamemakers

    Dyslexic Gamemakers is an official group of the Dyslexic Advantage community. It's a place to learn, play games, and develop game design and programming skills. No programming experience is necessary.

    This is a family-friendly network. All members must adhere to a policy of politeness and civility or their membership will be revoked. Feedback on member-created games should always be constructive and helpful. No private messaging of members is permitted.

    There is no cost. We are completely supported by the generosity of volunteers and voluntary contributions. You can donate on theDyslexicAdvantage.com website.

    About Dyslexic Advantage

    Dyslexic Advantage is a 501c3 non-profit charity that seeks to create a world where the strengths and talents of dyslexic people are celebrated and where every dyslexic child and adult can flourish in school, work, and life. Dyslexic Advantage is dedicated toward increasing awareness, education, research into the strengths and talents of dyslexic people.

    DyslexicAdvantage.com is one of the World's Largest Online Dyslexia Communities. Please join to connect, share resources, and to watch free webinars. Subscribe to our Videos here.

    Drs. Brock and Fernette Eide have written The Dyslexic Advantage about some of the cognitive strengths of being dyslexic. It's also available in audiobook and in the UK.

    About Crowded Fiction & Vidya Gamer

    Vidya Gamer, LLC was founded by Joe Booth, a Digital Media Executive, Innovator and (aspiring) Social Entrepreneur with broad experience of innovating and bringing consumer digital products and services to market in Video Games, Publishing and eLearning.

    Our first title, Crowded Fiction, is a innovative interactive eBook platform that aims to get older kids (9+) as passionate about reading as they are about video games. Read more or download our iPad app at crowdedFiction.com

    Booth has 25+ years of proven video game experience on major industry franchises (FIFA, Need For Speed, Ghost Recon, Rollercoaster Tycoon). Over 24m games sold generating $1b of retail revenue with 10 AIAS & BAFTA nominations. More here

    What Is Computer Science According To Search Engines

    Inspired by an image I saw from a talk by Dr. Tom Crick (@DrTomCrick) I decided to see what the more popular search engines returned as search aids when a user entered the string “computer science is” and grab some screenshots.



    I’m not sure if these mean anything but there are interesting. Especially that “hard” shows up in both – twice in Google. I’m happy that “cool” and “a great career” showed up in Bing though.

    Monday, December 02, 2013

    Interesting Links 2 December 2013

    It was a short work week for me last week. Well as far as school was concerned.chain links Only two days. I spent no time the rest of the week on school work. Not a completely smart thing as I have grading to catch up on. Oh well. I was busy with other things like giving thanks for so many wonderful things in my life. I did spend some time on the Internet and did collect some links to share. I hope you find something useful below.
    Students of All Majors Should Study Computer Science I love this line from the end “In addition to attractive career opportunities in information technology, students from all fields want to learn computer science to learn to how to change the world.”
    Programming Power? Does Learning to Code Empower Kids? Some things to think about in that article.
    Can Kano, a computer anyone can make, get kids coding? A new project built around the Raspberry Pi.
    Getting and Keeping Computer Science Teachers in K-12 A look at the issues around retention of goo computer science teachers on the CSTA blog.
    Bucket Sorting a new post by Mike Zamansky @zamansky This is pretty much how punch card sorters did things BTW. We do an exercise around this where students sort themselves by making from bucket to bucket. I need to write up something on that.
    Check out @khanacademy's Hour Of Code tutorial intro video at http://youtu.be/CYmL-Up_ZNc I love the interdisciplinary references.
    Two new posts by Garth Flint last week. Check them out.
    Teasing apart the issues of women in computing: Impact of Hollywood by Mark Guzdial @guzdial Mark makes some great points. Things are not as cut and dried as we’d like to think they are.
    Spanning the Chasm of the K–12 and Post-Secondary Relationship Chris Stephenson from the CSTA posts on the blog@CACM  We’ve come a long way but I think there is a lot of room for progress yet.
    If you want to be a better person... teach from Innovation in the Classroom by Don Wettrick   on Twitter at @donwettrick