Friday, January 31, 2014

Computer Science Has An Identity Problem

Where does computer science fit? At the university level I’ve seen it in Business departments/Schools of Business. I’ve seen it in various science schools – Schools of Engineering, schools of Applied Science to name two – or Schools of Mathematics. Often this depends on where computing as a discipline started many years ago. And there is some movement. A few places have a School of Computer Science as well. But as mixed and confusing as that it things are worse in high schools/secondary schools.

Again I have seen CS courses in business departments, math departments, rarely in science departments and also rarely in computer science departments. Where I teach it is in its own computer science department. Why so many places? A couple of reasons.

In some areas computer programming is seen as a vocational subject. Note I said computer programming not computer science. In many career/technical programs calling something a science moves it out of the area of vocational training that these schools or departments see as their mission. Though of course it is hard to teach programming without some of the basic CS science.

In some areas there is special money set aside for vocational programs and that makes having a CS (calling it computer programming) course means more money for the school while having an academic computer science program means not more money but additional costs.

In college prep schools, the few that have CS programs, computer science seems to usually fit into mathematics departments. In many of those schools administrators hires people who can teach math well and computer science as a secondary focus. CS is second class in some of those schools with all the baggage that entails. Even there computer science seldom counts as meeting a mathematics requirement for graduation. Some 17 states and the District of Columbia now allow the counting of CS (generally only the Advanced Placement coures0 to count as either a math or a science requirement.

Lately people have been suggesting that computer programming languages count Globe_of_languageas meeting a foreign language requirement. Amy Hirotaka at explains why Computer Science is Not a Foreign Language. Although I am tempted at times to show the similarities between learning a natural language and a programming language (learning a different culture for one thing) I think she is right that this is not a good fit.

Is science or math a good fit? Yes and no. Given that we are probably not going to see a computer science requirement for graduation anytime soon (in my life time?) and we want to to really matter for students it probably has to meet some requirement and science and/or math are logical locations.  But which one?

Different states have chosen different options with most seeming to side with mathematics. One big problem remains the certification issue. What is the right certification for someone who teaches computer science? Is it different for a math credit or a science credit? Should it be? These are questions that are largely unanswered or in some ways worse – answered ambiguously!

If only it were as easy as people not involved seem to think it is.

Ideally I would like to see real computer science courses (not just AP courses!) being taught by highly qualified computer science teachers (not just repurposed teachers from other disciplines using CS to fill out their workload) that count towards a high school students graduation requirements.

I would like to see universities asking guidance councilors “why did this student applying to our CS program not have any CS in high school?” In fact I would like admissions officers in all universities looking for CS courses on high school transcripts as a positive indicator of who should they accept. A man can dream right?

CertReportCover(BTW CSTA has released a report called Bugs in the System: Computer Science Teacher Certification in the U.S. that addresses many of the issues with CS teacher certification.)

Tuesday, January 28, 2014

CSTA Announces a new K-12 Administrator Impact Award

Great new program from CSTA and We sometimes forget that administrators can have a huge role in promoting and developing computer science programs in schools. This is an attempt to recognize those outstanding individuals in our schools.

CSTA 2014 Administrator Impact Award

The Computer Science Teachers' Association, in partnership with, has established an award to recognize an administrator who has made an outstanding contribution in K-12 computer science. The purpose of this award is to identify and promote administrators who have made a significant impact to improve access to and the quality of computer science education.


Any public or private school administrator who is a CSTA member in good standing may be nominated for the CSTA Administrator Impact Award. Both the nominated administrator and the nominee must be able to attend (at CSTA's expense) the 2014 CSTA Annual Conference scheduled for July 14th and 15th in St. Charles, Illinois. The winner and the person who submitted the nomination will be encouraged, although not required, to present at a dedicated session at the conference.

The Award

The Computer Science Teachers Association will award the winner and the nominating educator an all expense paid trip to the 2014 CSTA Annual Conference to be held in St. Charles, Illinois. The winner will be recognized during an awards ceremony at the conference and will be featured in an article in the CSTA Voice.

Application Deadline

The application must be submitted online no later than March 3, 2014. See below for the Application Process.

Notification of Winners

The winning nominator and awardee will be contacted by April 11, 2014. The winner will be posted on the CSTA website by April 18, 2014. The winner will be announced to all CSTA members via email by May 1, 2014.

Application Process

To complete the online application, go to

You will need to enter the following information:

  • Nominator Information (name, school name, school city and state, email address, phone number)
  • Nominee Information (name, title, school district, email, phone number)
  • Description of how the person nominated has influenced or improved K-12 computer science education
  • Description of the scope and impact this person has had on the school, district, state, or national level
  • Description of the special qualities the person nominated demonstrates as an educator and leader.

Evaluation Criteria:

Proposals will be evaluated on the basis of how the administrator influenced or improved K-12 computer science education. The scope and the impact of the nominee's contribution may extend to school, district, state and/or national levels. The nominee should possess outstanding educator and leadership qualities as documented by the nominator. Significant impact of the contribution should be broad enough to be replicated by other school districts and must be sustainable over time. Leadership qualities may be demonstrated through a variety ways including innovative approaches to local or national computer science challenges, mentoring of teachers, and visionary thinking.

Recommendations for Preparing the Application

  • The online application must be completed in its entirety in one sitting. It cannot be saved and/or continued at a later time
  • Keep the narratives simple, unformatted, and concise
  • Descriptions may be completed in a word processor then copied and pasted on the application; however, formatting may not be copied.

To complete an online application for the CSTA Administrator Award, please go to:


Contact Chris Stephenson at


Monday, January 27, 2014

Interesting Links 27 January 2014

New semester starts for me today. Brand me (to me) batch of chain linksstudents in two sections of Explorations in Computer Science and one section of Honors Programming. I’m pretty excited about that. A chance to improve based on what I learned teaching those classes the past semester. Finishing grading semester projects? Not quite as exciting. Smile 

Here now some links to get your week off to an interesting start.

Why aren't more girls interested in computer science? Barbara Ericson of Georgia Tech talks about that issue on CNN’s Headline News.

Pick your heads up students; Active Learning is saving the day  A lot of great stuff going on at a school in Florida where my friend Lou Zulli teaches.

NJ/NY/Philly peeps: @hackBCA high school hackathon will be held at Bergen County Academies HS on March 22. Visit the site at

Dusty World: Do you teach computer studies or computer studies? Apparently the confusion between computer science as an academic subject and a career/technical subject is not just an American thing. Take a read on how things are going in Canada.

Microsoft Brings Its Perspective on Computer Science Education  to the World Economic Forum Annual Meeting 2014 in Davos Switzerland.

Rock, Paper, Kinect for Windows v2 I have got to play with this!

Boston area peeps: @MITBlueprint is hosting a workshop on 2/22 for HS students! Learn 2 build apps Google Cambridge! More at

Google After-School Program Encourages Study of Computer Science Sounds like this program is going well. I still think we need CS education as part of the school day but better after school than nothing.

Broward transforming computer science classes and so is Chicago.  CPS to make computer science a core subject Looks like the attention computer science education is getting lately is starting to pay off.

"Password" unseated by "123456" on SplashData's annual "Worst Passwords" list I have this list in my computer lab. Kids get a kick out of it but it is also a powerful lesson.

The “Secret Agenda” of The co-founder of Code.Org writes about its mission and not so secret goals.

Computer Science Teacher: CS Educator Interviews: The Index  Updated with a great new interview I found.

Friday, January 24, 2014

What Do Comedy and Coding Have in Common?

Timing. OK maybe not the most funny joke in the world but I’ve been dealing with time-managementtiming window problems in student programs all week long. A lot of my students in my Honors Programming course have been writing game programs for their semester projects. Some of them are using XNA which has been great. Their problems have been a different sort of interesting. But a number of students are writing Windows Forms programs and have discovered timers (mostly on their own) and using them to make things happen in a form of parallels. It’s been interesting.

On the one had setting up a timer and using it is pretty easy. On the other hand timers open the door to timing window problems especially if you use more them one of them. Frankly some kids have gone a bit overboard. Now it is not really their fault. And not really mine either. Timers were not something we talked about in any detail and timing window problems not at all. There is only so much one can cover in a single semester after all.

So what am I seeing? In some cases students are doing to much in a single event handler, or doing something that really shouldn’t be in there like open a message box, and the timer fires again before they are through. Crazy hard to debug loops quickly develop. Nothing quite like a hundred message boxes appearing in a few seconds.

In other cases they have multiple timers set at the same time and they step all over each other. Sometimes the students have trouble keeping track of which timers are set, which ones unset, and which ones accidently interfere with each other.

Having spent some time doing both networking and operating system development timing issues are far from foreign to me. Thank goodness for that! This is the first time I have seen students run into so many of them in the same class though. Debugging them has been interesting, entertaining and most of all educational for me. And I hope for them.

Threading and parallelism are  very important topics. They are becoming more so all the time as we move into the world of cloud computing and computing everywhere. While these used to be issues that affected only systems level programmers I can see this becoming something more and more developers have to deal with everyday. While most students will get some of these (sometimes a lot of it) at the university level we don’t see much of it at the secondary school level.

That is not to say that there are not tools that can help to some extent.image Alice has long had a Do Together command that causes several actions to happen in parallel. And threading options are available in many languages including the .Net languages (C# and Visual Basic) that I teach with. The actual use of many of these features though can get tricky quickly. I used to do some network programming with students that had tow executable on two systems communicating. Timing issues abounded as students struggled to make sure that messages did not come and go, or at least get handled, in the wrong order. It can be a lot for secondary school students.

The is no room in my one semester Honors Programming class. It is far too advanced for my Explorations in Computer Science class by a lot! No room in the APCS course either. I wish I had a post AP course where I could get into such advanced topics in the sort of detail they deserve. I think it would be fun.

For the time being I think I will spend a little bit of time with timers this semester (starts Monday) but not too much. I just want to cover some defensive tactics for those students who want to dig in deeper. Maybe make it less frustrating and more fun for them. And of course let them know just how deep and powerful threading and parallelism can be!

Tuesday, January 21, 2014

Using The Technology We Preach

Habits die hard. I printed out some end of year surveys for my students to fill out about me (as teacher) and the courses they were finishing last week. Because, you know, that is the way we've always done it. How often do we keep doing things the same way year after year?

And then it hit me. What a waste of time and paper. 

So I created a survey with SkyDrive and placed a link to it as an assignment on the class page. I had the students hit that link and quickly answer the short set of questions.

This made tabulating the results fast and easy. So much better than sifting through pieces of paper to get the same data. Plus I think I got more comments in the free response questions than I would have otherwise. To say nothing of how legible the comments were.

We have the technology so why don’t we use it more? Habit I guess. But as I look forward I think I need to embrace the technology and model its use for my students.

BTW the following is a screen capture of the survey editing features in SkyDrive. Yes I know Google Docs has something like this but I use SkyDrive as my main cloud storage. And having worked nine years for Microsoft Google is never my first choice.

survey capture

Monday, January 20, 2014

Interesting Links 20 January 2014

It’s the calm before the storm for me. Tomorrow starts semester exams at my school and I’ll be busy this week grading semester projects. I’m a huge fan of end of semester projects over exams. Today though is a school holiday for Martin Luther King Day. I wonder how many students are using the day to study?

I really like this interview with James Allen conducted by a student. It is called How computer science teachers can better reach their students James Allen at an all girls school.

Want to take a look at how technology has changed? Take a look at  Everything From This 1991 Radio Shack Ad You Can Now Do With Your Phone via @HuffPostTech

Registration open for CSTA’s 2014 Annual Conference. Discussions workshops & sessions tailored for K–12 CS educators  The best professional development event of the year for computer science teachers in my opinion.

20-hour-bannerDid you know that Code.Org has  a new online K-8 Intro to CS course (w/rewards for teachers). Check it out. Love to hear your opinions if you teach to those age groups.

Is your school or business still running XP? Read this. Windows XP: Apocalypse Now via Hal Berenson @halberenson

Computer science fairy tale about queues I a cute video that your students may enjoy. Discussion starter at the very least.

Cait Sydney Pickens had a great post called "A few thoughts on being an ally" in response to my post at “Teachers and Role Models in CS Education.” Worth a read.

Applications for Google's CSSI and the Generation Google Scholarship have opened for graduating high school seniors. These look like great opportunities for HS seniors planning on studying computing in university.

Friday, January 17, 2014

Registration Now Open for the 2014 CSTA Annual Conference

If you are a K-12 computer science educator there is one must attend professional development conference during the year. That is the CSTA Annual Conference. Sure SIGCSE is great and if you teach at the college/university level you really want to be there. But there is no conference for K-12 CS educators where there is as much good stuff for you then the CSTA Conference.

CSTA members should have gotten the following announcement in email already. For those of you who are not members (why not? Its free) here is the official announcement.


Registration Now Open for the 2014 CSTA Annual Conference

  • July 14-15, 2014 Pheasant Run Resort, St. Charles, Illinois
  • July 14: Hands-on Workshops
  • July 15: Keynotes and Breakouts

You are cordially invited to attend the 2014 CSTA Annual Conference. This year’s conference will be held at the beautiful Pheasant Run Resort in St. Charles, Illinois. Register at

The CSTA annual conference is a professional development opportunity for computer science and information technology teachers who need practical, classroom-focused information to help them prepare their students for the future.

Learning and Networking Opportunities:

Take advantage of this opportunity for relevant professional development.

  • Explore issues and trends relating directly to your classroom
  • Network with top professionals from across the country and around the world
  • Interact with other teachers to gain new perspectives on shared challenges

Some of this year’s session topics include:

  • Advanced Placement Computer Science
  • Computational Thinking
  • Increasing Enrollment in Computer Science
  • Programming
  • Robotics

New This Year

  • Choose from 12 three-hour workshops and 24 sessions, including sponsor spotlight sessions
  • Visit Sponsor’s Hall
  • Meet local chapter members
  • And for pre-registered attendees, check-in early on Sunday afternoon

Act now to register for the 2014 CSTA Annual Conference at:

Pre-registration is required and will be accepted for the first 500 teachers. The registration deadline is June 26, 2014. Also, please note that you must complete the payment portion of the online form in order to be fully registered for the conference!

Thanks to the generous donations of our sponsors, the registration fee of $75 (+$60 per workshop) includes lunch, resource materials, and a closing session raffle.

Please note that all workshops are “bring your own laptop” and that workshop registration is limited to 30-40 participants; so be sure to register early to get your workshop choice. Workshop registrations are non-transferable and it will not be possible to change workshops onsite. Registration and workshop fees are non-refundable.

The 2014 CSTA Annual Conference is made possible by the generous support of Oracle and Universal Technical Institute.

Please join us for this exciting event!

Thursday, January 16, 2014

Reverse Bell Curve In Programming Projects

I have some 60+ students working on end of semester projects these days. I have one section of Honors Programming and two sections of Explorations in Computer Science. And let me tell you I am learning a lot! I’m pretty sure the students are as well. One issue for me is that I am teaching both of these classes for the first time. Well as least as they are currently structured. So getting timing right has been a challenge.

My honors programming kids are really impressing me with what they are doing. We have obviously been programming for the whole semester and they’ve all completed a lot of projects. Most of my time is spend helping them with some just in time learning. I think I first heard that phrase from Doug Bergman or perhaps Lou Zulli – both amazing teachers who are focused on project based learning. In any case the students know what they want to do to solve their problems but sometimes need some help learning how to accomplish that. They need stuff that was not covered in the basic scope and sequence. Sometimes I know how to do what they need and sometimes not. Either way I’m having fun.

I am seeing some variation between the students who have and have not had prior programming experience. That’s to be expected but I’m learning from this how to teach to a mixed group better going forward. I get to try these ideas in a week or so.

My Explorations in Computer Science class has only beenreverse bell curve doing programming for about a third of the quarter. We haven’t had time to cover a lot so of course the projects are simpler and mostly focused on things we covered in class. Here is where I am seeing a reverse bell curve. On one side the kids who are struggling to figure out how to create their projects. They know the syntax but haven’t made the full leap to solving problems from scratch.

At the other end are the students who really “got it” and are going to town on their code. Not a whole lot in the middle. We see this a lot in CS education and it is a constant issue. It’s not an issue of smart or not smart but an issue of whose brain works in what ways. Part of my job as a CS educator is to help all of the students develop their brains to think the way a programmer needs to think.

What I often see is that some students make a steady progression along the “new way of thinking.” Those seem to be a minority. Most people find a time where it suddenly (relatively speaking) clicks and they just “get it.” Learning and problem solving take off at this point. Some lucky people reach that mark early in their learning but some people take longer. Sometimes a lot longer. Speeding that “click” up is my constant goal.

I wish I had more time with this semester’s students but unfortunately these are all single semester courses. With the Exploring students I would spend more time on problem solving. Not necessarily more code syntax or language features but how to put it all together. I’m thinking about how to do more of that earlier next semester.

For the honors programming students I would like more time to talk about designing with objects. We did an introduction to objects and even created some simple ones. But I didn’t spend enough time talking design. Not that there was a lot more time for it. What I am seeing in their projects is that most of them would be easier, faster, better,  even prettier if they were using more in the way of object oriented design. Many of them will, I hope, take AP CS next year and they’ll get more in that course. They’ll be ready I think.

New semester starts in about 10 days with a new set of students. Going to be fun.

Wednesday, January 15, 2014

Nominations for the CSTA Board of Directors 2014 Election

Are you an active member of the Computer Science Teachers Association and looking to get more involved? The CSTA Board is a working board that develops policy for the CSTA. There are some great people on it but we are always looking to get new blood and a diverse membership. These are two year terms. (I’m still in my first year.) Are you thinking about running for a position on the board?

Nominations for the CSTA Board of Directors 2014 election will be closing February 1, 2014.

Nominations are being accepted for the following CSTA Director positions.

9-12 Representative (1 position): A 9-12 classroom teacher who is currently teaching computer science at the high school level.

At-Large Representative (1 position): An educator with responsibilities for K-12 CS education.

International Representative (1 position): An international (outside the United States) classroom teacher who is currently teaching or promoting computer science at the pre-collegiate level.

School District Representative (1 position): An administrator whose focus is technology or curriculum across multiple schools.

Teacher Education Representative (1 position): A college- or university-level faculty member who has primary responsibility for the instruction of pre-service and/or in-service teachers of computer science and/or computing disciplines.

University Faculty Representative (1 position): A faculty member from a university computing department offering graduate degrees in computer science.

To submit a nomination:

  1. Download the 2014 CSTA Nominations Form from the CSTA website at:
  2. Complete the Nominations Form.

    The form includes the following information:

    • Position for which you are applying
    • Your Name
    • Address
    • School or Employer
    • Current Title/Role
    • Email Address
    • Phone Number
    • Personal Statement that explains your motivation and why you are a strong candidate (limited to 130 words).
    • Answers to the following four questions (no more than 100 words each):
      • What experiences and/or interests in K-12 computer science/information technology education qualify you to serve as a leader for the organization?
      • What previous experience do you have with CSTA?
      • What leadership skills do you have that would enrich the Board and the organization?
      • What do you think are the most important issues for K-12 computer science education?
  3. Submit the completed Nominations Form and your current résumé of experience to the Elections Committee by emailing it to The documents may be submitted in Microsoft Word or PDF format; PDF is preferred.

Nominations deadline: February 1, 2014.

Please contact: if you have any questions.

Tuesday, January 14, 2014

Teachers and Role Models in CS Education

There was an interesting bit of chatting going on over Twitter about the importance of teachers as role models over the weekend. A lot of people think that having more computer science teachers of color and more female teachers would lead to more diversity in students. It’s a theory but I haven’t seen much evidence that female teachers have many more female students than men do. Not as a general rule that is. There may be some data out there but I haven't seen it.

There is a real shortage of computer science teachers of color and I don’t know much about their enrollment either. But at least one person on Twitter was adamant that having a teacher “that looks like you” is critical for women and minorities. And it is hard to argue with someone who speaks from their own personal experience.

So what is a middle aged white computer science teacher to do?

Let me start by saying that I strongly believe that male teachers have an important role is changing the culture of computing. Computing has become, in many companies and even universities, a female unfriendly, even misogynist environment. We can theorize all we want about how it became that way but I think it is clear that it is the case. And it is hurting our ability to attack and retain smart talented women into the field.

It is important that we recognize that computing is a field that desperately needs more diversity. We need more women. We need more people of color. We need more people who would not fit seamlessly in with the characters in the Big Bang Theory. Changing the environment is key, in my opinion, to getting this diversity.

All teachers can do a part to make this happen. A lot of attitudes are developed by school aged students. We can all do our part to make students comfortable and help them to feel safe in our computer labs. We, especially male teachers, can make it clear to male students that making the girls feel uncomfortable is not ok. We can make it clear to girls that they are just as good, just as important and just as valuable as anyone else.

Some people think that means that girls and boys should be treated differently. Some people think it means that boys and girls should be treated exactly the same. I think it means that all students have to be treated as unique individuals with individual needs, individual strengths and weaknesses. It means not writing off any student because they are not easy to teach or they don’t fit a specific pattern or personality. You know, it’s like being a real teacher in a real classroom.

We also have to make all students aware of people of diverse characteristics – race, color, religion, and more – who are succeeding in computing. No one can be a role model for all students but we can all share individuals who can be role models for everyone. I’m never going to be a young female of color. What I can be is a white male who respects young women of color and is accepting and encouraging of them (and everyone else) in my classroom and my chosen career.

I can share stories of women I have worked with. I can use videos from groups that work specifically with young women and who provide mentors to those young women. I can invite people into my classroom. Any women want to Skype in to my classroom and tell their stories? I think I’d like to try that next semester.

An important motto at the school where I teach is that “every student is known, valued and treasured.” I can make sure that is true in my lab/classroom. I can make sure that treating any student without proper respect is not acceptable. I can make sure that all students know I am on their side. I may not be able to be a role model that looks like them to the girls or to the minority students. One thing I can be is a role model for the white male students on how they should respect those who are different from them. I think we can all do that. And maybe if we all do that we can change the environment beyond our schools over time. It’s worth a try.

Monday, January 13, 2014

Interesting Links 13 January 2014

Highlight this week? Free and inexpensive books! And some links to interesting news and discussions about women and others in AP CS classes. And more so read through the whole list. Thanks.

At Last - CS Gender Equity in Multiple States – Mike Zamansky has his take on the  media buzz popping up from the data compiled by Barbara Ericson on AP Computer Science test takers in 2013. “In addition to going to the source there was a piece in The Atlantic and in Education Week.”

Did you catch my post last week about application being open for the Computer Science Principles Summit. If you and an administration are talking about adding AP CS Principles this is a conference for you both to attend.

Nation's largest "hackathon" for high schoolers to be held in San Antonio Rackspace Global Headquarters in June! Looks interesting.

Who doesn’t like free book? 28 Free eBooks On Game Programming! via @efyindia

Rot13 - Gateway Drugs Techniques another great project based learning post from Mike Zamansky.

Interview with CEO and co-founder of the National Center for Women & Information Technology (@NCWIT) – Lucy Sanders, USA 

Computer Science Posters  for Python based in the UK ICT curriculum. If you are teaching with Python they are well worth checking out.

New C# Yellow Book Available - and on Kindle via @robmiles. yellowbookcoverThe Kindle version is $0.99 and I bought a copy myself.

Girls Who Code on Before and After Their Participation in Girls Who Code Nice video.

Workshop at Microsoft Research highlights medical uses of Kinect technology. I’m really excited about these sorts of possibilities.

Read testimony to Congress by Hadi Parvati  @hadip of @codeorg last week. 

Friday, January 10, 2014

Apply Now For Computer Science Principles Summit

The Computer Science Teachers Association just announced the Computer Science Principles Education Summit and applications are now open for the 50 available spots.

CSTA invites teachers and administrators to apply to attend a special summit aimed at broadening understanding and creating capacity for the wide-scale adoption and on-going support of the Computer Science Principles course.

This summit (to be held in conjunction with the CSTA 2014 annual conference in St. Charles, IL) will explore the pathways to CS Principles for the entire community (middle school and high school) and provide teachers and administrators with a context and strategies for implementing CS Principles in their high schools.

This summit, featuring presentations, flash talks, and working groups, is open to teachers interested in teaching the new AP Computer Science Principles Course and administrators at all levels (Principals, District Superintendents) interested in bringing the new AP Computer Science Principles Course to their districts.

Funding may be available for accommodation and travel. Attendance is limited to 50 participants and applications will close February 1, 2014.

The summit will take place:

Location: Pheasant Run Resort, St. Charles, IL
Dates: July 16, 2014
Registration Deadline: February 1, 2014

Online applications are now open.

For more information, see:

or contact Chris Stephenson at

Chris Stephenson
Executive Director
Computer Science Teachers Association

Thursday, January 09, 2014

Student Hackathons in California

I get email from people pushing blog post ideas all the time. web-ol-hackathon-12Several a week generally. Some of them are completely off topic for this blog. Some are close in that they are education related though maybe not CS related. Some are pretty clearly commercial in nature. But some are right on. Those as the ones I post about. For example this week brought an email about some hackathons for students in California sponsored by the Level Playing Field Institute with help from a number of Silicon Valley  companies.

The Level the Coding Field hackathons were a weekend mobile apps competition for over 215 low-income students of color under-represented in computer science held in Mt View and Oakland in October and November of 2013. Not only were students taught to be producers rather than just consumers of technology, they were taught to utilize technology to address some of their communities biggest problems in the areas of Education, Environment and Health. The students blew us away with their mobile app designs and solutions, presentations in front of entrepreneurs and venture capitalists and their grace under pressure (a mobile app build in a weekend!). 

Some Press Coverage:

There is a Hackathon video here and it looks like it was a great event. I love the idea of bringing kids and mentors together to help students see the potentials in software development.

In terms of outreach to students by companies though events and programs it often seems like New York leads Silicon Valley. Girls Who Code, for example, started in New York. And support for CS education seems to be growing rapidly in NYC. So it is nice to see the left coast getting more involved.

Wednesday, January 08, 2014

Simplify, Simplify, Simplify

It is amazing how often students write many lives of code when a few lines would work better. There are several reasons, I think, why this happens. One is of course that they lack the tools – the specific knowledge of features and functions – that would make things simpler. I think most teachers try to create projects that can be done easily and simply without features that haven’t been covered in class. Unfortunately sometimes students don’t pay complete attention (imagine that) and so forget about features and use the ones they do remember.

That leads to a second problem for some students – they fall in love with specific features and functions. If you really like loops ever problem seems to call for a loop to you. As we gain experience we learn to avoid this trap but students are prone to falling for it. This is related to another problem.

Students often rush. This brings to mind one of my favorite Mark Twain quotes.200px-Mark_Twain,_Brady-Handy_photo_portrait,_Feb_7,_1871,_cropped

“I didn't have time to write a short letter, so I wrote a long one instead.” ― Mark Twain

Yes, in their hurry students do not take the time to think about and design a simple solution. They create a solution in their mind that they don’t realize to overly complicated. As a poster in one of the other labs at my school says “Weeks of coding can save you hours of planning.”

Another interesting case is the show off. The student who really wants to impress the teacher with how much they know. These students occasionally try to do too much all at once and get lost in their own complexity. This is closely related to a lack of planning of course. These students often think that complicated code is “worth” more than simple code. They don’t always appreciate the work it takes to make things look smile and easy.

As teachers we try to talk about these things and prepare students so they can avoid these pitfalls. Somehow though a lot of students just have to learn things the hard way. Our job then becomes helping prevent too much frustration and assist in recovery. Once they have learned something of course.

Tuesday, January 07, 2014

Then A Miracle Occurs

I was reading an interview with Lucy Sanders from NCWIT Sidney Harris cartoon - a miracle occurs hereearlier today and this famous cartoon came to mind. Specifically Lucy said:

“Some people think that girls’ and women’s ownership and use of these [mobile] devices will automatically lead to their increased interest in computing education options. That has not proven to be true.”

She’s right of course. We see/hear/read a lot of talk about miracle devices in education. “Just give a student and Internet connected device and they’ll teach themselves everything they need to know.” Or “I just need a classroom set of iPads and my students’ creating will grow by leaps and bounds.” Bah! I seldom works that way in real life.

Sure we can read about trials in far away places and be amazed about third world self teaching. Is that reality of American students? Most American students have access to all sorts of computers, mobile devices and Internet connections. The miracle is not happening.  While there are exceptions to most things most students need teachers. The miracle device does not exist.

In the case of the mobile devices students have today students (and adults) see themselves limited to the apps that are available to them though app stores. They do not see themselves as creators of those apps. Why not? I think mostly because they don’t know that they could create apps. The tools are available to them. All they need is a little encouragement and some teaching to help them get started. There is a lot of creativity out there that is untapped because students don’t know that creating apps is within their reach.

To quote the above article once again:

One major issue, she says, is lack of encouragement for young girls and women to go into careers in technology and computer science – jobs that Sanders believes women are very well suited for as they are flexible, creative and can be found in pretty much any industry or company. “Everybody can encourage a young girl to go into computing.”

BTW I read Anthony Salsito’s daily edventures blog regularly for good interviews with people involved in education. Like the one with Lucy.Print

Monday, January 06, 2014

Interesting Links 6 January 2014

Back to school for me today after a two week Christmas break. I got some rest mentally and physically and I’m ready to go. It’s going to be a great year I just know it. And to start it off here are some interesting links to share.

Hal Berenson does a great job of explaining why Data Breaches ARE a big deal. Need to explain it to people/students? Point them here.

Did you know that Lyndsey Scott, a Victoria’s Secret model, is also a serious computer programmer? No, really!  Interesting how she writes apps for other models to use.

Hadi Partovi @hadip from @codeorg on how to get more women in computing. I’m constantly impressed with how much Hadi “gets it.”

Did you see my post last week about how Girls Who Code is expanding in 2014 Looks like this program is really gaining some traction. For more details sign up here

Have you heard that the second/latest iteration of @medialab & @MIT_CSAIL's @AppInv is now entirely run from the browser.

CS teachers in or near Boston: check out the @HackMIT event at . Being held at Google’s Cambridge MA office.

Even Tech Crunch is asking the question -  What Makes Girls Fall In Love With Computers And Code?

Interesting technology video on @YouTube The Smartest Elevators with destination dispatch is all about how making elevators smarter can help with customer satisfaction and improve through put.

Friday, January 03, 2014

Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering (Draft)

This may well be of interest to people who like software engineering.

A draft of "Software Engineering 2013: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering" is now available for public review at:

This is based upon the original set of guidelines published in 2004, but has been extensively revised and updated. The changes are based on comments received from numerous stakeholders over the last 3 years, including a survey that received 477 responses. We encourage you to review this draft and invite you to provide your feedback to the task force responsible for the revised guidelines no later than January 31, 2014.

We would encourage you to provide your feedback via a short survey that is available here:


Thursday, January 02, 2014

Girls Who Code - Expanding in 2014

imageGirls Who Code is a wonderful summer immersion program for girls interested in computing. In its first year, Girls Who Code worked with young women from New York City’s five boroughs. In 2013 the launched   programs in New York, Detroit, San Francisco, and San Jose. More expansion is planned for 2014 with programs in Boston, Seattle and Miami. I wanted to share the request that was forwarded to me this week.

In less than 1 week [Girls Who Code] will officially launch [their] recruitment efforts for Girls Who Code Summer Immersion Programs 2014!

This past year has been a tremendous success with over 150 girls taught computer science nationwide (nearly half in NYC!) and coverage in top media outlets such as The New York Times, The Today Show, and Fast Company.

Help me spread the word about 2014 recruitment by sharing this very short Girls Who Code Interest Form with your networks!

Wednesday, January 01, 2014

Happy New Year–Now What?

January First always seems to be a good time to start thinking about the future. I don’t generally make New Year’s Resolutions but this seems like the time when a lot of people at least enumerate some goals. I’ve been thinking about both personal goals and things I think we, all of us involved in CS education, could have as goals for the new year.

Personally I’m focused on two things. One is improving the courses I have been teaching this past semester (two weeks left) and making the spring semester go as much better as it can. I’ve learned a lot this past semester and hope to incorporate it going forward. Second is a book proposal I am behind on writing. More on both of those things as they happen. But I want to focus on the wider question of CS education today.

I’m thinking about two big questions.

  • How are we going to build on what happened during CS Education week in 2013?
  • Is this the year we really make big gains in getting more females in computer science?

CS Education week had a huge effective effort called an Hour of Code that involved millions of students all over the world. It was great but is there follow up for this? Mark Guzdial put it this way in a Tweet - Hour of Code was an invitation that 15 million students opened. Now we have to make good on that invite into CS. (see also his blog post at CSEd Week 2013 was Amazing!) My related post was An Hour of Code–Now What?

One shot events are great. They get a lot of attention. They may in fact actually turn kids on to coding and computer science. If they don’t have an opportunity to learn more that can all fade quickly and be lost. We can’t afford to waste the moment. We need more CS in schools. I believe that after school and summer programs, while great in many ways, are by their nature too exclusive. They support students who already have a lot of support from parents. Far too many students need their education to be within the school day or it doesn’t happen at all.

Currently only 15 (or is is 16 now?) states allow computer science to count as meeting a graduation credit. That needs to change. Even if you feel that not everyone needs computer science we have to open the possibilities for more students and allowing a graduation credit helps there. Please think about visiting Make Computer Science Courses Count toward Graduation Credits and signing the petition for your state (at least).

Companies are starting to see the problem and work at it as well. See Tech Companies Work to Combat Computer Science Education Gap in US News and World Report. But we need more. More companies and more individuals in more companies. Computer science educators need support. They need more and better training and they need people to lobby for more CS in schools. Computer science teachers are trying – many though their local CSTA chapters and the CSTA Leadership Cohort – but industry has to join the call.

Now on to getting more women and girls in the field. Just as important as more imageCS courses in my opinion. We can’t continue to be missing half of the population in computer science. Here again industry is starting to take note and we’ve seen a lot more in the media about this over the last year. The venture capitalist Fred Wilson ‏@fredwilson for example has been a big supporter of CS education and of outreach to girls and young women. His recent post Girls Who Code talks about several programs including one called Girls Who Code

Tech Crunch asked the important question - What Makes Girls Fall In Love With Computers And Code?  I ask myself this question all the time. Not being a girl makes it harder for me to answer I’m afraid. For far too long we have included only the girls who like the same things that boys who fall in love with computers do. That’s not enough. And oh by the way we’re probably losing some boys the way we do things now as well!

There are a lot of things we need to do here. One is about perception. Girls don’t have enough role models in computing so we need to let girls know about the ones who are there. We talk about the idea of a TV show or a movie with a computer scientist (perhaps a woman?) all the time but we can’t wait for something like that. (Would a TV Show Fix the CS Recruitment Program?)

I like this video for the recent Grace Hopper Celebration of Women in Computing - WHAT DO YOU LOVE ABOUT PROGRAMMING? though there are others out there as well. We have to let young women know that computer science is not something that happens in isolation. It is a collaborative effort. It involved communication. It is also more than first person shooters and other video games. It is about making things that make life easier, better, healthier and generally better for people.

We also have to make the environment more welcoming and accepting for women. I recently read a whole series of sexist experiences that women I know in computing have faced. It’s embarrassing for me as a man to read them. Yet I know there are far too many men (called them older boys) who have attitudes that exclude women.  I think they are afraid of women to be honest. I think many of them at some level are worried that women will come in and show people that you can have a life outside of coding and still be good at it.

The women I have known in my 40+ years in computing have been great developers and computer scientists and still have lives! The more I work with women in the field the less I want to work with men whose lives revolve around being a “bro” or hacking all night over and over again. I love computer science but there is more to life than that!

It’s up to men to let other men know that it is not ok to discriminate against women. It is not ok to exclude them for reasons that have nothing at all to do with how well they can do the job. It is not ok to create an environment that only allows one sort of person with one set of values and interests. We need diversity in computing if we are really going to meet the needs of the whole population.

One of the things I have seen in my years teaching and have read about happing in other areas of computing is that men consistently over rate their abilities and women under rate their abilities. I don’t know which is harder for me to deal with – the boys who think they are amazing and aren’t or the girls who think they are terrible but are really doing quite well. I see it as my job to help them both though. That has to be a constant in the field. Let’s see how well we can all do that in 2014.