Tuesday, February 18, 2014

Sorting Isn’t Always Simple

Like a lot of people I have been following the Olympics lately. For all the talk about sport and individual and team achievement there is always a lot of attention to what countries are “winning.”  Conveniently there are lots of places online where you can view current medal totals and see how each country is doing.
There seem to be two ways to list what country is "winning" in theimage Olympics though. One is in total number of medals regardless of type.
The other is sorting first by Gold, then Silver and then Bronze. So most gold is first even if they don't have any other medals. In a tie for Gold then how many Silver determines a "winner". Tie of Gold and Silver is broken by number of Bronze.

There's also a third way: By totaling points where gold=3, silver=2, bronze=1. I haven’t seen that way lately but am told some people use it.image
Which way is the right way? I suppose that depends on how you choose to look at things. If you are Norwegian or from the US you might prefer the list be ordered by total medals. At least as of the day I captured these screen shots. If you are German or Swiss then sorting by Gold first may be your preference.

I see a lesson in computing here. One could easily create some sort of class to hold Olympic totals. By changing how the CompareTo method is implemented either sort would work just as well. I’m not teaching AP CS this semester and we’re not going to have enough time in my Honors Programming class (just one semester long) to do this but in the back of my mind I want to remember this as a good example for the future.

Anyone else tried something like this? What did you use for different ways of sorting? How did it work for you?

[Edit: I have a list of resources for teaching sorting at http://blog.acthompson.net/2014/03/resources-for-learning-sorts.html ]

Monday, February 17, 2014

Interesting Links 17 February 2014

We’re having quite the winter here in New England this year. chain linksPeople in warm climates keep telling me about how warm it is there as if that would get me going. But I like the snow so I’m all good. I hope you are enjoying the weather where you are. In any case, here now are the links I found interesting over the last week.

Do Things That Help You Become Less Wrong Eugene Wallingford writes about teaching students testing and debugging. A favorite topic of mine.

Computer science professor Tony Morelli creates games for children with disabilities. Interesting project. I think it would be even better with Kinect than with Wii but that’s me. What do you think? 

Innovators and Explorers Sandbox - I love reading about how Doug Bergman (@dougbergmanUSA) runs his school’s computer science program. Take a read.

Know an administrator who's changing the future of Computer Science education? Nominate them for the Administrator Impact Award sponsored by CSTA and Code.Org.

Mark Guzdial gives a wrap up of the Media coverage of analysis of AP CS 2013 exam results at the CACM Blog.

Celebrate Canadian Computing Education Day 2014 in Video (and in Song, If You Like) via @csteachersa

Two Kinect Speech Tips – more helpful information on Channel 9’s Coding For Fun site.

Announcing CSTA's keynote speakers for 2014: Yasmin Kafai and Michael Kölling. Join us July 14-15 in IL. Register now!

Looks like there will be a HS Hackathon in the San Jose area   March 8-9 at Paypal HQ. http://www.hshacks.com/

This weeks interesting video to share is 15 Sorting Algorithms in 6 Minutes Some interesting visualizations.

Saturday, February 15, 2014

Keynote Speakers for CSTA Conference 2014

Well we now know who the keynote speakers will be for this summer’s Annual CSTA Conference. I have heard Michael Kölling before and  he is a really good speaker. He has done a lot of work with teaching CS with various tools such and BlueJ and Greenfoot. Both of those were developed by him and his team at the University of Kent.

I don’t know as much about Yasmin Kafai but the topic sounds very interesting.


CSTA is excited to announce our keynote speakers for 2014!

Yasmin Kafai is a researcher, co-developer, author and professor of learning sciences at the University of Pennsylvania. She earned her doctorate from Harvard University and is a Fellow of the American Education Research Association. Kafai’s discussion titled “Connected Code: A New Agenda for K-12 Programming in Classrooms, Clubs, and Communities” will cover three central shifts that lead us from computational thinking to computational participation—from code to applications, from tools to communities, and from scratch to remix—in teaching and learning programming to broaden participation in computing for all.

Michael Kölling is a professor at the School of Computing, University of Kent, in Canterbury, UK. He holds a PhD in computer science from Sydney University and has worked in Europe and Australia. He is also an author and lead-developer of educational programming environments and a Fellow of the UK Higher Education Academy. Kölling will discuss “What’s Next for CS Education: Thoughts on Topics, Tools, and All the Rest.” In his talk, Kölling will share his speculations and opinions on what should happen in the near future for computer science education, focusing on educational software tools.

Please join us at Pheasant Run Resort in St. Charles, Illinois July 14-15, 2014.

Learn more on our conference page at: http://csta.acm.org/ProfessionalDevelopment/sub/CSTAConference.html

and register today at: https://www.softconf.com/d/csta2014/

CSTAConf-Logo

Friday, February 14, 2014

Searching for Code Snippets–Good or Bad for Students?

This morning Rob Miles posted a link (C# Code Snippets on Demand) to a new site from Microsoft Research called Bing Code Search: C# code snippets on-demand. basically you enter a question “How do I …” and the site searches for a code snippet that can be used to solve you problem. Wow! Cool!

image

It’s a research project and there is still work to be done. Soon, they say, you’ll be able to automatically enter code snippets directly into popular IDEs. Since the language available is C# I assume that means Visual Studio and perhaps Eclipse.

And then I thought “Do I want to share this with my students?” and my thinking got complicated. On one hand I really do want my students to become adept at learning how to do things on their own. In this day and age that means searching for answers on the Internet. It means learning how to separate the good from the bad and learning from examples. So this site could be a big win.

On the other hand students also get good at asking other people to do their work for them. Hang out on any inline support forum enough and you’ll see cases of students looking for people to do their homework for them. They try to hide it but generally not very well. I want students to learn for themselves and to do their own work. I don’t expect them to memorize everything but I don’t want them to have to look up every little thing either!

When it gets down to it I will share this site. I want students to explore beyond what we can cover in lectures and demos. I want them to be able to find the tools to make their own programs truly their own programs. Exploration is why I like that Visual Studio has Intellisense for example. These snippets are short enough that they are not total solutions and so students will have to understand them to really use them. And if they can’t figure them out on their own I’ll get a teachable moment. Right? Plus the searches I have tried so far bring up enough options that students will have to use their own judgment about which possible option is what they really want/need.

What about you? Would you recommend this site (or one like it) to students? Or do you do as much as you can to discourage students from looking for code on the Internet?

Wednesday, February 12, 2014

My Favorite Students Ask Me The Most Questions

I try hard to explain every well the first time. I really do. I think most teachers do. It never fails though that someone doesn’t get it the first time. In all honesty I think a number of students don’t get it the first time. On a good day though at least one of them will be willing to admit it and ask me a question. Or a bunch of questions. I love those students!

I used to have a cartoon in my classroom. It showed a class full of students al thinking the same thing. In panel one it was something like “I don’t understand.” In the second panel they are all thinking “Everyone else gets it.” In the third panel they are thinking “I’m not going to ask a question and let others know that I am the only one who doesn’t understand.” Most teachers know that this happens more then they would like. But how do you fix it if you don’t know what the students are not understanding?

Lately I have been blessed with students who will, if not in front of their peers at least in private, ask me for help with a concept. Invariably as we talk one on one I see a better, or at least different, way that I can explain the concept under discussion. Sometimes this results in me doing a bit of review next class. Sometimes it results in me adding to my class slides or notes. Sometimes it results in me writing a new demo. It always results in helping me to learn how to make things more clear to more students.

In computing there always seems to be a different way of doing things. Just think about how many ways there are to do a cut and paste for example. Keyboard shortcuts, mouse clicks, menu options, you get the idea. For me it is logical that there are multiple ways to explain everything. I love computing. I mean I really love it. That means I really want to see my students love it as well. When they ask questions and give me another chance I appreciate it. When they help me discover new ways to make the topic fun, interesting and understandable that is a huge win.

I suppose I could take these questions as a failure on someone’s part. On my part in explanation or the students failure to understand. But I choose to take them as an opportunity to learn more about the topic, about teaching, about understanding and about my students. While it might be great if my explanations were spot on all the time and that students understood it all the first time that is not reality. And besides it would get boring if I did everything the same way all the time.

So spending time during a prep period or after school with a student reviewing a topic is a win-win. It is something I embrace as the best part of my day. I do love learning from my students!

Tuesday, February 11, 2014

What’s Wrong With This Picture?

Are all I.T. Guys <sic> white males?

INFOGRAPHIC - What Do IT People Really Do All Day?

I'd hang this in my classroom if there were some women and some non-white males in it. Sure the information is not bad but there is a hidden message I don't want to broadcast to my students.

Monday, February 10, 2014

Interesting Links 10 February 2014

A lot of people seem the be ready for spring. I’m enjoying the snow in my yard and around the area. Inspired in part by the Winter Olympics going on my family and I went snowshoeing in the woods over the weekend. I’m ok with a bit more winter. How about you?

I have a few good links to share this week. Near the end is a set of links with different takes on the idea of computing or programming anyway as a replacement for foreign languages in school. Let’s start with a video though. A student talking about how she has become interested in computer science and how she wants to use it to improve the world of medicine.

Why STEM? Why Now? Featuring student Ifrah Abshir

Teaching sorting? You may want to check out this video of 15 Sorting Algorithms in 6 Minutes.

There are no computer science teachers in NY Well not on paper. Read what some people (including some I know) are doing to correct this situation.

Coming in March – The UK Hour of Code The Hour of Code was a great success in the US - now for the United Kingdom

Rebecca Dovi pointed me to some posters by the Orlando Science Center called Career Bytes. PDFs free for the download.

Career Bytes

These posters were created by Orlando Science Center as part of an educational series for Otronicon. The idea was to highlight career aspects and information beyond just computer programming that are not always associated with the videogame and modeling and simulation industries.

The idea of substituting a programming language for learning a second natural language has been a big discussion point lately. Here are a couple of links that discuss the issue.

The Best Job of 2014 Has Been Announced.  Is your school teaching what is needed to prepare students for these jobs?

The Top 10 Best Jobs:

  1. Software Developer
  2. Computer System Analyst
  3. Dentist
  4. Nurse Practitioner
  5. Pharmacist
  6. Registered Nurse
  7. Physical Therapist
  8. Physician
  9. Web Developer
  10. Dental Hygienist

Wednesday, February 05, 2014

Are We Going To Learn How To Do That?

The other day I was demonstrating some things to my programming students. We’re at the very beginning of a new semester and students are learning the very basics. We were doing a simple exercise to help students understand how assignments work with object properties. The program moves the contents of one picturebox into another when a button was clicked. I took my sample program, added an array and a timer and had it automatically rotate images across the screen.

image

It looks sort of nice and reminded me of the old idle loop light displays we had “back in the day.” It was something I did just for the fun of it. One might say “because I could.” And then a voice in the back of the room asked in wonder “Are we going to learn how to do that?” And then it hit me that I had done something a bit more interesting than I’d intended. I’d attracted some curiosity with it too!

Students are always willing to work harder to learn something they want to learn. A number of teachers have talked to me about just in time learning where students are taught a concept because they need it then. I tend to push out a concept and  then asking them to use it in a project. I think I need to set things up so they pull the concept from me rather than me pushing it out. Doing the right demo may do that. That is something I want to try.

At this point  I’m planning on demonstrating working programs first and then talking about the concepts needed to create them. What I want to do is create projects the students want to do so they want to pay attention. Few seem to be interested in learning for the sake of learning. Or even for potential future use. If they see an actual use that seems interesting I think it will be easier.

Ultimately I want to help students motivate themselves to learn rather than me trying to force feed them information.

Tuesday, February 04, 2014

Software Is Empowering

Microsoft ran their first ever Super Bowl commercial over the weekend. While it is obviously a advertisement for Microsoft and Microsoft products I see it as an advertisement of the empowering and life changing potential of computer software. That is a message I try to give to my students on a regular basis.
Computing is so much more than business machines or game machines. In so many ways computing is making a big difference to empower people in their daily lives. In the commercial we see a bit about the connection between medicine and computing about which so many people are unaware. I see this as an important message for many of our young people to see and hear.
image
The commercial highlights, very briefly, some major empowerment of some people and is pretty moving. The Microsoft video site though has longer (about 2 minutes apiece) videos on each of the people in the commercial. I’ve listed them below with direct links in case you are interested.
  • See how Skype is allowing students around the world to take virtual field trips. (VIDEO)
  • Watch the amazing story from @teamgleason. (VIDEO)
  • Technology changed a little boy’s life. Watch his story here.
  • Imagine hearing for the first time at 29 years old (VIDEO)
  • Once an artist, always an artist. (VIDEO)
  • Surgeons provide better care to patients using @GestSure and Kinect. (VIDEO)

Monday, February 03, 2014

Interesting Links 3 February 2014

Starting the second week of a new semester today. Last week was interesting. It was a major adjustment because with a new group of students I had to reset my expectations. I had to transition from a group of students who had been learning things for months to a group that was hearing things for the first time. It harder than some might think. All in all I seem to have spent less time online this past week so only a couple of things to share. Some good ones though.

I’m taking a look at this Microsoft Excel Lesson Plan: The Olympics for possible use in some of my classes. I like the idea of something timely that students might be interested in doing.

Congressional App Challenge (on Twitter at  @congapps) started yesterday:app challenge logo2

Modeled after the Congressional Art Competition, the House Student App Challenge promotes Computer Science and STEM (Science, Technology, Engineering and Math) education by recognizing and incentivizing our nation’s young programming talent.

The House Student App Challenge is open to all high school students in participating districts. The inaugural App Challenge will run from February 1 to April 30, 2014.

How I teach programming to 7-11 year olds using Scratch was written by Phil Bagge in the UK, Something for people teaching younger students. Phil is on Twitter at @Baggiepr

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 code.org 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 code.org. 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 Code.org, 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.

Eligibility

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 http://tinyurl.com/cstaaaward

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:

http://tinyurl.com/cstaaaward

Questions?

Contact Chris Stephenson at c.stephenson@csta-hq.org

CSTA Logo

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 http://hackbca.com/

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  http://blueprint.hackmit.org

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 http://Code.org 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.

CSTAConf-Logo

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 www.cstaconference.org.

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: www.cstaconference.org

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: http://csta.acm.org/About/sub/CSTAGovernance.html
  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 nominations@csta.acm.org. The documents may be submitted in Microsoft Word or PDF format; PDF is preferred.

Nominations deadline: February 1, 2014.

Please contact: nominations@csta.acm.org 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! http://www.sohacks.com 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. http://science.house.gov/sites/republicans.science.house.gov/files/documents/HHRG-113-SY14-WState-HPartovi-20140109.pdf 

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: http://csta.acm.org/ProfessionalDevelopment/sub/TeacherWorkshops.html

or contact Chris Stephenson at c.stephenson@csta-hq.org

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 http://blueprint.hackmit.org . 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:

http://computingportal.org/SE2013

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:

https//www.surveymonkey.com/s/SE2013-Draft

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.