Tuesday, July 09, 2013

How Important Is The First CS Course?

I’ve been reading a lot from CS educators lately. Regular readers know I am running a series of interviews with teachers from all over. As I write this I have five of them posted with an other half dozen or so in the queue to post over the next couple of weeks. Patterns are starting to emerge. One of them is that many successful programs start with a very good first course. Not the AP CS course. And not an applications based course. rather they start with a first course that is more of less a gentle introduction to computer science.

These courses include programming as you would expect (or hope) but they do it in a way that encourages students to want to do more. Make Zamansky (who I hope to have an interview with soon) talks a bit about his schools first course on his blog at Gender Stats. While the main thrust of that is his school’s success with attracting and retaining young women in the program he talks about the first course that is important to those efforts.

A well designed required intro course where young ladies can see that this stuff is cool and women are just as good at it as men.

The word required is Mike’s emphasis but I’d highlight it myself. Would that we could get more schools to require a first computer science course. It is long since past time when students should get the basics of word process and spreadsheets long before they get to high school. Having an applications course in high school is a systemic failure. But we do need students to have some early exposure to computer science. If not in middle school than no later than early secondary school.

When I bring this up I often get the response that another required course will just turn students away. My answer is plain – if your required courses, in any subject, do more to turn students away from the discipline than towards it you are doing it wrong.

In the case of computer science there are lots of fun and interesting things to teach and ways to teach them. You can use block languages like Scratch, Kodu and Alice (see lots more at block programming languages) for example. You can use turtle graphics in tools like different versions of LOGO or TouchDevelop or Small Basic and many more. You can use languages like Visual Basic that are more friendly than the semi colon and curly brace languages.

But most of all you can teach things that students care about.Let them get creative. A project they can and want to show their friends is worth five they have no interest in. You can talk about applications that change the world. Or even just their world. But by golly computer science is fun and interesting and a first course should show that. Get them interested. We are not yet at a point where courses that weed out the kids who are not already hooked on software are necessary or desirable.

Monday, July 08, 2013

Reflections on EdTech Conferences

This was the second year in a row that I didn’t attend ISTE. I really miss it but events conspired against me. But I’ve been reading a lot from people who did go and it has gotten me thinking quite a bit. Over the last 15 to 18 years I have attended ISTE (starting back when it was NECC), TCEA (Texas’ wonderful and huge ed tech conference), FETC (also huge but in Florida), the Christa McAuliffe Conference (New Hampshire's much smaller more intimate ed tech conference), SIGCSE (the big conference for computer science educators at the post secondary school level) and of course the CSTA Annual Conference (Hope to see a lot of my readers there next week.) I’ve attended them both as a full-time teacher and as a full-time Microsoft employee. Two different perspectives.

Audrey Watters (Possibly the best independent journalist covering education technology) was the first person I saw who pointed out that there were one  industry person at ISTE to every 3 or 4 teachers. (On (Not) Missing ISTE 2013) Is that a bad thing? I think some think so. This forces me to look at my involvement in ISTE (and other conferences) over the years I worked for Microsoft.

What was my reason for being at these conferences? Was it positive or negative? I like to think it was positive. I like to think that my purpose at those conferences was to learn as much if not more than to sell. I sure have learned a lot at these conferences. Microsoft paid my way to promote the use of Microsoft technology in the classroom. That was my job. I liked to say that I was mainly in the “make friends and influence people” business rather than sales. I gave away a lot of software over the years. I didn’t sell in the sense of looking to exchange money for goods and services. That’s a lot different from most industry attendees at ISTE of course. Even most Microsoft people manning booths at ISTE are hoping to sell products. Although they too give away a lot of software. And this year thousands of Surface devices.

So what does industry contribute to these conferences? Money for one thing. Many of these conferences could not take place at affordable rates for attendees without the income from the exhibit hall. The CSTA conference does not have an exhibit hall but the generosity of several industry sponsors is critical to funding the conference. We’ll talk more about CSTA in a moment. I noticed that the exhibitor badges at most conferences are distinguished by a black band. A warning of sorts. I once joked that they should be green because exhibitor money was so important. Either way it sometimes feels like an use v. them situation. Predatory exhibitors paying to prey on unsuspecting educators. I don’t think that is the reality though.

Speaking for myself at least I never pushed/promoted anything I didn’t honestly feel had real educational value. I suspect that some people working in industry don’t know if what they are selling is great for themselves but they have been told it is. I doubt many people sell things they don’t think are helpful and productive. While many products have their critics most also have their own staunch defenders among educators. Are these companies trying to kill education? I doubt it. They may or may not be wrong about the value of their products but I think most of them think they are doing good.

ISTE and TCEA, FETC and similar ed tech conferences are the most dependent of exhibitors and have more of a separation of sides than the SIGCSE conference. Yes there is an exhibit hall and yes there is some selling going on. But it always feels more collaborative. Microsoft typically sends a bunch of people from Microsoft Research who show off tools that are a) mostly free and b) leading edge looking for research and teaching partnerships. The products shown are generally also available to educators for free or very inexpensive. It is more collaborative (at least to me).

I always enjoyed showing off new things that I thought were useful for teaching at SIGCSE. I also spent a lot of time listening. I sure did learn a lot about what was being taught, how it was being taught and even why it was being taught. SIGCSE was always a conversation to me. I wish ISTE could be more like that. Maybe ISTE is too big and SIGCSE is small enough that we can all just be friends?

CSTA’s annual conference has no exhibit hall. It does have industry sponsorship though and that has generally meant that there were some industry speakers. There was not a specific quid pro quo though. Sponsors presented proposals and the committee generally picked the suggestions that had the most perceived educational value to attendees. So we have had some Google talks on App Inventor and Google Scripting. And we’ve seen some Microsoft talks on XNA and similar technology. But all good stuff that teachers have found value in. (I hope)

By and large though CSTA is all about teachers showing and talking about what works for them. Industry speakers have come and gone (except for that Thompson guy with the hat who seemed to be butting in everywhere). It’s a conference by and for educators. Industry in there mainly via their logos in exchange for money. Perhaps because it is small (roughly 200 attendees) this works. There isn’t the value for most companies to pay to send someone for that size audience without even an exhibit section. Google and Microsoft (and previously Intel and IBM) have been willing to support it out of concern for computer science education rather than real commercial gain.

This is not a model that scales though. The more money a company pays the more they have to get out of it to justify the spending to higher management and stockholders. Right now industry needs to help support computer science education. More companies in the computer field should support CSTA (and probably SIGCSE) as an investment in the community or environment that they live in and need. But it is always a fine line between helping the community and helping oneself. We need to find the win win in these conferences.

Interesting Links 8 July 2013

I don’t know about you but I am enjoying my summer. Keeping very busy though. Really spending some quality time with TouchDevelop. Also working on my presentations for the CSTA Annual Conference which is only a week away! Plus working on curriculum stuff for the fall. To say nothing of all the household tasks I promised my wife “I’ll do it in the summer.” That doesn’t mean I don’t have links to share though so here they are.

I posted a list of my Computer Science educator interviews over the weekend. I’ll keep it updated as more appear. Let me know if you want to take part BTW.

5 Programming Mistakes You Should Stop Making it’s a good list and one worth talking about with students. I plan to.

Small Basic July Challenges! Lots of great project ideas on the Small Basic blog. How did I not know about this excellent resource before now? Following the blog now though.

 Want to Change a High School Kid’s Life? Show Them This via @TopCoder

Zero Robotics is a coding challenge and tournament where high school team’s across America write code to operate and fly zero-gravity miniature satellites

Zero Robotics is a game. So as kids are learning to actually program these real world objects, they are playing an extensive game that incorporates strategy, mathematics, computer science, and much more

The on-site finals are hosted at the MIT campus

The finalists have their code sent to the International Space Station where an astronaut will run the programs in a live, finals broadcast from outer space

The entire program is absolutely free

Amplify is creating a massive online open Advanced Placement Computer science course (the first AP Computer Science MOOC). Rebecca Dovi, an experienced APCS teacher, CSTA chapter president, and blogger at Super Computer Science, is teaching the course and spending the summer developing materials. Not everyone is excited about it and you can read about that at  AP Computer Science MOOC and make up your own mind.

Learn to develop for Windows Phone 8 in one weekend with Channel 9. I am doing a demo of Windows Phone development at CSTA next week. Looking into doing more of it with my students in the fall as well.

Announcing the $10,000 Poster Design Contest to help girls into STEM! more   from @TopCoder

10 free ebooks for python  anyone have a recommendation from this (or other) list? I really need to make some time to learn Python.

New safety online Facebook site from Microsoft.

Computer Science #2 on official teacher shortage list for Texas. No surprise there. Well except that for there to be a shortage people have to be actually looking to hire people for the job. So I think this is a mix of good and bad news.

Kodable Teaches Kids To Code Before They Learn To Read by @laureninspace Not quite sure about this one.

Saturday, July 06, 2013

CS Educator Interviews: The Index

In June of 2013 I started collecting interviews with computer science educators. The plan was to highlight people doing interesting things at a wide range of schools. It’s been an educational experience for me. And a lot of fun as well. This post will serve as a regularly updated index to the interviews as they are posted.
I didn't do this interview with James Allen who teaches at an all-girls school but I thought it was well worth including here. It was conducted by a student. It is called How computer science teachers can better reach their students .


[NOTE: If you got here looking for questions to ask computer science teachers during hiring interviews you may want to read Interview Questions for Computer Science Teachers.]

Friday, July 05, 2013

CS Educator Interview: Ian McTavish

For today's computer science educator interview we head north of the (US) border to Huntsville High School in Huntsville, Ontario, Canada and talk with Ian McTavish. The Province of Ontario has some good curriculum support for Computer Science education (more than most US states for example) but that doesn’t mean there isn’t lots of room for creativity and innovation!  

Where do you teach? What sort of school is it?

I teach in Huntsville High School located in Huntsville Ontario (north of Toronto).  Huntsville is a small town of around 18,000 and HHS contains under 1,000 students.  The student population is fairly homogenous. 

How did you get started teaching computer science?

I was teaching at the elementary level when there was a posting for the library position at HHS.  After applying I was offered the position but there was a twist.  The computer science teacher had suddenly resigned and they knew I had experience with computer science and had worked as a computer consultant for the board so they asked if I would take on computer science as well.  That first year there was only one course running with only eight students in it.

Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?

This past year we've offered a combined ICS3C/4C course (Computer Programming grade 11 and 12 college bound) and ICS3U/4U (Computer Science grade 11 and 12 computer science).  We also offered a Dual Credit course in web authoring (Dual Credit courses allow students to achieve a high school credit and a college credit).
ICS3C/4C used Visual Studio C#.  The focus is primarily on programming skills where students develop specific skills (i.e. in the grade 12 creating a program to read an xml file) that they then incorporate into larger projects.  Students negotiate there culminating projects where they have to demonstrate certain skills.  This year we had video games (KFC Falling chicken was very fun to mark), music players for a student who works as a DJ and a program that was a web crawler.
ICS3U/4U used Visual Studio C++.  These are much more intensive courses. By the end of grade 12 students are using Object Oriented Programming techniques.  In addition to programming skills they are required to create and analysis different algorithms (i.e. sorting, searching), research emerging technologies etc.
Web authoring used Web Matrix and students learned HTML5 (CSS and JavaScript).  By the end they create a web site.
I also run the First Robotics Team in our school.  Students programmed the robot (as well as helped to build it). [ED: Ian is the one in the lower right of this picture of his schools FIRST Robotics Team.]

What is your overall teaching philosophy? Project based learning? Flipped  classroom? In short, what makes your CS program “your CS program?”

  1. Learn how to learn - one of my favourite projects I've used in the past is called Programming Primer - students pick a different programming language from what we are being taught in class and have to create a primer that someone could use to learn how to program.  The programming language I used when I was a student at HHS (Watcom Basic) is simply not used anymore.  This project shows them the similarities between languages and develops the independent skills to learn on their own.
  2. Fix it.  I sometimes drive my students nuts - when they tell me their program has a problem I respond "then fix it".  I partner students up with another student who has dealt with a similar problem and get them to help each other.  I will only help when they have spent time working with another student first.
  3. Follow your passion.  Students have the option to negotiate final projects.  They are given a list of skills that they have to demonstrate (some students choose to do two projects since their project may not use all the skills).  Doing a project for an actual client or based on their own interests really seems to connect.  We had graduation the other day and I've already been in touch with students who want to take their projects to the next level since they can see they could actually sell it if they add certain features.
I make my resources available online for students.  This year I used D2L (Desire 2 Learn) so students could work through all the tutorials at home and spend the time on school programming.  D2L shows login information and there is appears to be a pretty solid relationship between the amount of time outside of school students spend on the course and their final grade (no surprise to me but having the hard data to show the first day of school is handy).

What is the biggest challenge in teaching CS at your school?

Even though our school is facing declining enrollment (we had 1200 students six years ago and are now under 900) our cs courses have steadily increased enrollment each year (next year we will have three full courses compared to the 1 class of 8 students!)  Unfortunately our ratio of female students is still very low.  This past year one of my female students ran a great workshop for grade 8 girls using Alice.  I have some plans for the upcoming year to continue to address this issue.
The other issue is that I'm the only teacher in our school and it is the only high school in town.  Staying on top of best practices isn't easy.

What is administration’s support (or lack of support) like at your school?

I had the benefit of spending a year as an acting vice-principal for my school.  Having worked so closely with the admin team they have been very supportive. 

How do you measure success for your program? For your students?

Former grads are the best measure of success.  The students who have gone on to study computer science have mentioned that their marks in computer science courses tend to be much higher than their other marks and they find it very easy.  Enrollment numbers also indicate interest.  I have a fairly large number of students who take all four of the ICS course and almost every student in the dual credit course have been in one of my other courses. 

What is the one thing you like to talk about regarding your program that  I haven’t already asked?

I'm looking forward to adding the University of Waterloo Canadian Computing Competition to my course!

More About Ian on the Internet

For a full list of interviews in this series please see CS Educator Interviews: The Index

Thursday, July 04, 2013

TouchDevelop–Acceleration and GameLoop

Happy Fourth of July! If you are on the Internet today it should be for fun. For that reason I recorded a little video of using TouchDevelop to demo the GameLoop event and the Acceleration sensor on a Windows Phone 8.

TouchDevelop Demo using GameLoop and Acceleration sensor

I have no idea if this is the best way to do things but it was fun and it seems to work. Basically the GameLoop is an event that happens in an infinitely repeating loop as long as the app is running. After adding that event I added some simple code to check on the acceleration, have the Turtle turn based on that acceleration and then move forward a bit. Easy as it gets.

image

I figure this is just a start for experimentations. Let me know if you do anything cool with it yourself.

Wednesday, July 03, 2013

CS Educator Interview: Myra Deister

Today’s computer science teacher interview is with Myra Deister from Sunny Hills High School  in sunny California! As you will read Myra faces some challenges in her school. Some are more easy to overcome than others but she works pretty hard at it all. Quite active beyond her school, Myra is an At-Large member of the CSTA Board of Directors.

Where do you teach? What sort of school is it?

urban high school in southern CA with a diverse student population

How did you get started teaching computer science?

After teaching math in a junior high school I transferred to a high school in the same district.  I had planned on returning to college to earn my masters degree in math but had issues with the faculty at the local state college.  I looked into a computer science masters instead.  I took some courses at the community college as a prerequisite and was very successful. 
There were no computer courses at the high school where I was teaching but a neighboring district was advertising for math teachers so I applied.  I was offered a position teaching math and computer applications.  I accepted the position.  From teaching computer applications I progressed to teaching BASIC, FORTRAN, Pascal, Visual Basic, and then Java.

Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?

I currently teach:
Introduction to Programming  I am always trying something new with this class.  I have used Alice, Karel J Robot, Scratch, BYOB, Some of Dan Garcia's Beauty and Joy of Computing.  I am always looking for something new to try with these students.  My current issue I have is that they are scheduled in the same period as AP Computer Science A. This class is taught as a hybrid class and I do try to do flipped teaching with readings and videos. This is a one semester course.
Visual Basic  I currently use an outdated textbook that I have to supplement for this class.  I also teach this class as a hybrid class and I use videos and reading to do some flipping.  I have Finch robots I want to incorporate this year.  This is a one semester course.
AP Computer Science  I also use a hybrid approach to this class.  I use Alice and Media Comp as the curriculum as well as some of Stacy Armstrong's A+ curriculum.  I also hope to incorporate some of the Oracle curriculum this year.  I  incorporate some projects in this class but would like to include more. 
Computer Science AB  This class covers Java Data Structures and is a dual credit course where the student can earn 3 units of credit from the local state college.  The students in this class because it is scheduled the same time as AP Computer Science are expected to do much of the work on their own.  I use a combination of the Litvins' textbooks, ICT Curriculum and Stacy Armstrong's curriculum. 

What is your overall teaching philosophy? Project based learning? Flipped classroom? In short, what makes your CS program “your CS program?”

Last school year I received a certificate in Online Teaching because I had been using an LMS to deliver most of the curriculum.  I am moving more toward a flipped classroom as I incorporate more videos into my LMS.  I do lecture and expect the students to use Cornell Notes. 

What is the biggest challenge in teaching CS at your school?

My biggest challenge is recruiting students and retaining them.  The push to include diverse students is great but I have found that I need new ways to reach these students.

What is administration’s support (or lack of support) like at your school?

I have books that are 10+ years old.  After I attended Grace Hopper in Portland, one suggestion I received was to mail home letters rather than have students deliver them.  At my own expense I sent home over 100 letters.  I received several calls from parents inquiring about computer science classes and stating that they had no idea that cs was offered on my campus. 
When I shared this with my principal the reaction I received was that my program is old and she is only promoting the new programs.  Also, when planning the new engineering program, computer science was never considered.  I spoke to the chairperson of the engineering program and he always says he will get back with me.  I hope to speak to the chairperson of the Art Department to see if I can have some of the Media Comp projects included in his Art Show.  We will see...
Last summer, however, I did ask the school board to recognize Computer Science Week and they agreed.  At the first board meeting in December, computer science students from each of the high school were recognized.  I was thanked by parents and teachers at that board meeting for making that request. 

How do you measure success for your program? For your students?

I measure success with my enrollment.  If I can maintain 2 computer classes, I am thrilled.  I would like to grow my program but haven't figured out how to do that. 
I feel I am successful when I hear from former students and they have graduated with a degree in CS with a job in CS. 
Success for my students is having an appreciation for computer science.
For a full list of interviews in this series please see CS Educator Interviews: The Index

Tuesday, July 02, 2013

CS Education Interview: Pat Yongpradit–Code.org

PatYongpraditPat Yongpradit has been an award winning computer science teacher at Springbrook High School for a number of years. He has taken high school teams to the national finals of Microsoft’s Imagine Cup competition where they have outshone university students. He was named a 2010 Microsoft Worldwide Innovative Educator by Microsoft’s Partners in Learning program. He’s also been a frequent speaker at conferences, a valuable curriculum developer and education advisor to schools, industry and elected officials. Recently he made a new move and is now Director of Education at Code.org. I asked Pat if I could interview him about his new role.

Let’s start with Code.org. How would you describe the goals and mission of code.org?

codeorglogoOur mission is that every student in every school should have the opportunity to learn computer science. It’s about more than just coding, we’re just called Code.org because it sounds snappy.
We aim to do this in three ways: Educate. Advocate. Celebrate.
Educate: We aim to bring CS into schools that don’t already have it. First, we are crafting an online programming environment. Second, we are creating a blended-learning curriculum based on many of our community’s ideas of what should go into an introductory computer science experience. Third, we plan to continue making a series of videos featuring celebrities, industry professionals, and CS educators teaching CS concepts. Lastly, we are backing our offerings with professional development.
Advocate: We will continue to do the good work started in the Computing in the Core movement by advocating for CS to be recognized as a graduation credit.
Celebrate: We aim to inspire students, parents, and schools through high level marketing via videos, events, and celebrities.
We are collaborating with the CS education community to reflect the latest and greatest in CS education thought.
[ED: as of this posting Code.Org is in the running for a $50,000 grant. You can vote for them at http://www.azuredevs.com/Programs ]

What is your role in this new organization? How will you be spending your time and energy?

I am the Director of Education. I originally asked if I could be the Secretary of State or the Minister of Defense, but they weren’t having it. All the stuff under “Educate” is what I am charged with.
How will I be spending my time and energy? Emails and conference calls. No, just kidding… though I do see that outside of the classroom, much of the adult professional world is composed of meetings and communication. Fortunately, I get to meet and talk with people I enjoy and about a topic we all care about. I will make the time to hop into classrooms, including my previous one.

You were pretty happy as a classroom teacher. What was it that lured you from the traditional classroom to this new role?

What first comes to mind is the chance to make a difference on a larger scale. But I also started to grow weary of the pace of work when trying to do too many things at once in the cause of CS education. In addition to teaching CS to my students, I was building the CS community in my district, writing curriculum, and advocating for CS education nationally. Now I can focus more and have greater impact. Once I started teaching computer science, I thought I’d retire doing so. Luckily, I still get the chance to do so, but now my classroom is composed of our nation’s CS teachers and students.

Code.org has some ambitious goals for an online learning program. What does the implementation time line look like? Or is that still too early to tell?

Too early to tell. I want to do things right and learn from our community’s successes. I have always been grateful that our community has some great minds leading it and any organization would make a big mistake to not fully consult with the oracles before going into battle. A proverb comes to mind, “Plans fail for lack of counsel, but with many advisers they succeed.”

Who is the audience for the code.org learning platform?

Students engaging in an introductory computer science experience and their teachers.

Many teachers are already showing the videos that code.org has produced. What do you see as the future relationship between code.org and classroom teachers?

To all of my fellow CS teachers, novices to experts: Code.org has your back. We are creating tools and curriculum that will offload some of your work to allow you to focus on what you do best. We are going to have celebrities inspire kids to take your classes and continue their CS studies. We are open to any suggestions you have. Email me at pat@code.org

How did you get to where you are now?

Friends, mentors, and hard work. Friends looking out for me and my students. Mentors who didn’t even know they were modeling to me what it means to be a quality computer science teacher. The hard work to make a vision a reality.
More about Pat Yongpradit on the Internet
For a full list of interviews in this series please see CS Educator Interviews: The Index

Monday, July 01, 2013

Interesting Links 1 July 2013

I started a new series I am calling CS Educator Interviews last week. The first two interviews posted are with Kathleen Weaver and Garth Flint. Check them out when you have a minute. I hope to post about two of these a week over the summer months. If I forgot  to ask you to take part please drop me a note in the comments or via email to act2@acthompson.net.

Microsoft demos Project Spark at the //Build conference. Sort of like Kodu on steroids. Awesome graphics. I can see this appealing to older students.

Check out the latest CSTA Voice! Volume 9, issue 3: Gearing Up for Fall http://csta.acm.org/Communications/sub/CSTAVoice.html …

"CS Principles: Computation in Action" curriculum is ready for download!

Did you miss the ISTE conference? So did I. I did find this summary of ISTE's Top Ten Conversations to be pretty interesting. A lot of chatter about the Surface RTs that Microsoft gave out. Will be looking at how that plays out in the long run.

Thank you Microsoft is a post from @PaulRWood talking about that Surface RT from Microsoft.

A take of a different sort is On (Not) Missing ISTE 2013 by Audrey Watters via @hackeducation

New Blog@CACM post from Mark Guzdial: Why more/better CS education in schools is likely to reduce computing labor shortage.

Computer Science Teachers Association reports on a new http://Code.org Video Released.

CS2013 and K-12 is a preview post of a talk I am giving with two other people are this month’s CSTA Annual Conference. Hope to see you there!

MS Partners in Learning offers Common Core Kit Also the 2014 Partners in Learning Global Forum will take place in...Barcelona, Spain! Read more here:

President Clinton on computer science education Nice (and short) video. I wonder if things like this make a difference though. What do you think?

More women will pick computer science if media nix outdated ‘nerd’ stereotype is an interesting report of some research into how stereotypes are driving women away from computer science.

Why AP CS:Principles is a good thing: Responding to Gas Station without Pumps is a well thought out and reasoned response to some concerns about the new AP CS P course written by Mark @guzdial

On the road with TouchDevelop a teacher talks about his experiences showing off TouchDevelop at several events in the UK. Helpful links to his curriculum as well

Which one is for you? Weak, Strong, Static And Dynamic — An Introduction To Programming Type Systems One of the better explanations I have seen on this important topic.

Stuy CS Software Development Demo Night by Neal Zupancic A visitor to a demo night for high school projects. Held at Google’s NYC offices BTW. Mike @zamansky – the teacher – has his take here at Demo Night.

Friday, June 28, 2013

CS Educator Interview: Kathleen Weaver

For the second in my series of blog interviews with computer science educators I present Kathleen Weaver from Hillcrest High School  in Dallas Texas. Texas is a big hub of high school computer science education by the way. Here now Kathleen.

Where do you teach? What sort of school is it?

Public high school in Dallas Texas, urban school, mixed demographic -- from free and reduced lunch to massively spoiled rich.  Every religion, every ethic group you can think of, over 50 home languages.

How did you get started teaching computer science?

Needed to make a major change -- either divorce or job change -- decided to ditch the career and keep the husband.  

Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?

I’m it.  We’ve got PreAp / AP CS which meets together and don’t have much call for.  Robotics is new this year.  Game programming was new last year, widely popular but doesn’t go the way I want it to.  Web design has been around for a long time, again widely popular but doesn’t go my way.  We have an intro course, traditionally was basic, revamped it last year, and well, it’s an intro course.

What is your overall teaching philosophy? Project based learning? Flipped classroom? In short, what makes your CS program “your CS program?”

I try to make things student centered.  However their ambitions are a lot bigger than their will power.

What is the biggest challenge in teaching CS at your school?

See above.  What they want to learn is a larger subset of what they actually want to do.

What is administration’s support (or lack of support) like at your school?

They generally leave me alone, as much as they can.

How do you measure success for your program? For your students?

Success in later life.  I’ve been doing for 21 years and I get a lot of feedback.

What is the one thing you like to talk about regarding your program that I haven’t already asked?

All the cool things my former kids are doing:
  • Network support -- kid was raised to be homeless, I swear.
  • Flying tourists around the Denali National Park -- web design got him there
  • Supporting hardware for Bing
  • Came back and paid to refurbish the baseball field ($20,000 worth)
  • Recently gave my classroom $50 through Donor’s Choose because I help her understand her husband.

More of Kathleen on the Internet

For a full list of interviews in this series please see CS Educator Interviews: The Index

Thursday, June 27, 2013

Computer Science Education Act (CSEA)

This looks like a very good piece of legislation. The basic idea is not to create new programs or additional spending but to reduce barriers to creating more computer science programs. More information at About the Computer Science Education Act on the Computing in the Core website.
The Computer Science Education Act (CSEA) is a piece of legislation that has been introduced in the US House of Representatives that would make important changes to federal education laws to remove barriers to computer science in K-12 classrooms nationwide. Read a summary of the issues the bill addresses and what the bill does here.
Code.org, Computing in the Core and its members, and K-12 computer science education advocates support this bipartisan legislation.
The Computer Science Education Act would:
  • Amend the statutory definition of “core academic subjects” to add computer science
  • Define computer science
  • Add computer science to the academic subjects addressed by federal teacher professional development programs
This is something we can get behind by telling our Congressional representatives that they should co-sponsor and support this bill. My rep has already heard from me. Has yours heard from you?

CS Educator Interview: Garth Flint

One of my summer projects is to collect stories from different computer science teachers. There are many teachers in many types of schools and many of them often feel like they are alone; that they are the only one in “their situation.” While all schools and all teachers are different (which is not a bad thing) there are usually similarities if you know where to look for them. That is the purpose of this series. I have asked a good number of teachers to answer some questions for me so I can post the result as a sort of interview.

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

Garth Flint from Loyola Sacred Heart High School in western Montana is one of the first teachers I approached. Garth is a regular blogger (Garth Flint’s blog) and frequently comments on my blog. The result is that I learn from him. So without more wasted time here is Garth’s response to my questions.

Where do you teach? What sort of school is it?

I teach at a private Catholic High School in a town of about 60,000 in western Montana.  This is a poor Catholic School so close to half of our students are on some kind of scholarship.

How did you get started teaching computer science?

When I interviewed for my first teaching job as a math teacher in ’83 the superintendent was giving me the school tour. We walking into the classroom and he pointed to two TRS-80 computers and asked if I know how to use them.  Apparently they had just bought them and nobody in the school know what to do with them.  I lied and said “Yes”.  I had some Apple IIe experience from college so I figured I could fudge a little on the answer.  That fall I started using them in my math classes and the kids wanted to learn how to program.  So I said to myself “I can figure this out.”  I have been saying that ever since.

Describe the computer science curriculum at your school. What courses do you have and what are the focuses of each?

Our curriculum is very flexible but the usual is:
  1. Computer Apps (freshman usually) – the usual Office, Photoshop and odds and ends.
  2. Computer Technology (9 – 12) – hardware, a little networking, viruses and malware, troubleshooting, ethics and a mish mash of other stuff that is happening in the world of technology.
  3. Programming I (9-11) – Typically Scratch and Small Basic.  Just a intro to the concepts and idea of programming.
  4. Programming II/III (10-12) – Mostly Corona but usually 2 or three other languages.  These courses are somewhat driven by the students in the class.  I like to show them a variety of languages with the intent of making them learn something from the beginning.  I try to teach them to learn, not teach them a language.  If I teach them language X then sure enough the college of their choice will use language Y.
  5. Programming Research (11-12) – Whatever I think is cool.  Again the focus is on learning a language from the beginning and not building Christmas trees with asterisks.  This fall I think we are going to look at TouchDevelop and some C++.  One of the students is in a robotics club that uses C++ so I figured it would be a good direction.
  6. Computer Technology II (10-12) – Offered when I have enough kids interested.  Setting up computers from scratch, building a domain, networking, Active Directory, Group Policy, routers, switches, troubleshooting weird issues, etc.

What is your overall teaching philosophy? Project based learning? Flipped classroom? In short, what makes your CS program “your CS program?”

I try to teach my students how to learn.  I taught math at the local university for 10 years and have friends teaching in the CS department.  College and high school students can learn by rote but they cannot seem to troubleshoot, develop a good trial and error strategy or locate learning resources.  My teaching philosophy/goal is to fix that as much as I am able.  One of my favorite assignments is “Draw a house using a turtle in language X.  You have two weeks.”  The students reply “But we do not know language X”.  My reply is usually “Bummer.  You better get to looking for resources then.”  One year I gave “Draw a house using a turtle in three different languages.”  One girl drew the house in Python.  I do not know Python.

What is the biggest challenge in teaching CS at your school?

My biggest challenge is keeping up with the kids.  I give these broad assignments then I have to find time to do them or at least be able to give the kids some help when they hit a bump.  Having learned all my CS on the job leaves some huge gaps in my knowledge base.  It also does not help when a good number of the kids are smarter than I am.  I think for any CS teacher the lack of formal education in methods of teaching CS is a massive handicap.  As a math teacher I have had multiple courses in math pedagogy and learning techniques.  There are a huge number of studies on why kids struggle or succeed in math classes.  CS not so much.

What is administration’s support (or lack of support) like at your school?

I get all the support my administration can afford.  Our graduation requirement is two semesters of computer technology.  We pride ourselves on offering more CS that the public schools.  Private schools can end up a little geek heavy demographically so my administration realizes a good percentage of our kids are going into computer intense fields.  We strive to be a tech school on a poor man’s budget and we do a pretty good job of it because the administration is behind the CS.

How do you measure success for your program? For your students?

I measure success by talking to the college students that come back to visit.  When they come back and say their first year of college CS was boringly easy I know I am doing OK.  My graduates are consistently hired to be tech aides at their universities.  Not because they know a lot of computer tech, but because they know how to troubleshoot and know how to learn.  I also measure my success by the way the students that take my CS courses are not absolutely turned off by CS or programming.  They may not go on in the field but they are no longer adverse to learning about computer technology or programming.

What is the one thing you like to talk about regarding your program that I haven’t already asked?

I get to build my own courses which allows me to pick up a new direction as CS changes.  Since we have not spent big money on a textbook or on some “program” we are able to introduce something new in the time it takes me to figure it out.  CS is not like math.  Math has been pretty much the same for a long time.  Euclid did the geometry we teach today.  CS on the other hand can change last week.


For a full list of interviews in this series please see CS Educator Interviews: The Index

Monday, June 24, 2013

Interesting Links 24 June 2013

Second year in a row I am not at ISTE this week. I understand that there are twice as many computer science sessions this year than last. That’s a good thing and something I believe that ISTE really needs to continue.  I hope to go to ISTE next year in Atlanta though. In the mean time I do have links to share with you all.

Ken Royal @kenroyal wrote a great post on Mobile Learning: Top 7 Recommendations  Digital-aged Instructional Technology tips.

Microsoft's innovative Project Spark to let users create, share games on Xbox One, 360, and Windows 8. Will this be the big new thing in game creation? Check out the Project Spark FAQ.

Teacher Education, not AP CS Good comments from Garth Flint on the need for more teacher education in computer science.

Partners in Learning Global Forum 2014 Celebrating the best of education in Barcelona! from Microsoft in Education

REACHING OUT TO CSTA's INTERNATIONAL MEMBERS http://feedly.com/k/14N8oFM Good read on the CSTA blog Looking for CS teachers around the world

Learning Scratch (playlist): is a great series of videos on using Scratch created by Laura Blankenship @lblanken

From @NCWIT: Learn How to Celebrate Girls in Computing in Your Region.

"Learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript" Good read from Channel 9.

Have you seen the new http://Code.org Check it out. 

6 Tips To Integrate Coding In The Classroom has a lot of great ideas. via @teachthought

Peter Beens@pbeens Sent out a link to  pynguin - a Python Turtle Graphics Application. Well worth checking out if you are using or thinking about using Python in your classroom.

Friday, June 21, 2013

Teaching Computer Science: Profession or Craft

A recent report on the quality of teacher training has stirred up a lot of discussion about how teachers should be prepared. With the ongoing shortage of qualified computer science teachers (putting aside the discussion of what being a qualified computer science teacher actually is) this has some relevance for CS education. I was struck by one set of comments by Arthur Levine in Inside Higher Ed.

“We don’t know how to prepare teachers,” said Arthur Levine, former president of Teachers College at Columbia University and author of a scathing critique of teacher preparation. “We can’t decide whether it’s a craft or a profession. Do you need a lot of education as you would in a profession, or do you need a little bit and then learn on the job, like a craft? I don’t know of any other profession that’s so uncertain about how to educate their professionals.”

Full article at University programs that train U.S. teachers get mediocre marks in first-ever ratings

I know another profession that is that uncertain about how to education their professionals – software development! We get hit with a double whammy. On on hand we don’t really know how to train our teachers and on the other we don’t really know how to educate our future professional developers. It’s a mess.

The debate over software being a profession or a craft (or an art to really mess things up) is one of long standing. I’ve been hearing it throughout my almost 40 year career. Google reports (In Head-Hunting, Big Data May Not Be Such a Big Deal) that something around 14% of their engineers are not college graduates. Google is pretty fussy about who they hire so that means something. Any discussion of development of software professionals will include loud voices declaring that formal education is somewhere between useless and downright harmful.

I lean closer to the craft idea both for teaching and for software development. Now software development is not all or even most of computer science. I think there is a lot of science and profession in CS. Developing software though remains something of a craft. It is something that is best taught through mentorship (think apprenticeship) rather than just rote learning. As someone who entered teaching though non-traditional path I think the same about teaching BTW.

Now be aware that most modern apprenticeship programs include a pretty fair amount of classroom teaching. It is not all on the job. I like that mix. I think that computer science and software development can benefit from a mix of classroom and apprenticeship theory. This is why I am a huge fan of project based learning.

Projects open the doors to out of the textbook thinking. They allow students to move in their own directions while at the same time taking clues from an organized and well thought out plan for learning. My problem with purely self teaching is that with pure self teaching the student has an unprepared teacher. There is a tendency to narrow ones focus on the particular project that one has taken as a learning platform.

A good teacher expands options rather than limits them. I see this as especially important in K-12 computer science. Our goals should be to help students expand the range of possibilities. Let them get focused later. Point them in directions they are not aware of themselves. Give them projects that both get them excited and motivated but that also force them to learn how to learn and move in different directions. It has been said that education is not about filling a bucket but starting a fire. Projects are fire starters.

Thursday, June 20, 2013

Your GPA Doesn’t Mean Anything Useful

A recent interview in the New York Times with Laszlo Bock, senior vice president of people operations at Google had some interesting things to say about the value of GPAs and standardized tests. Google, to no ones surprise, looks at data for everything. This includes what works or doesn’t work in hiring. The insights on grades was particularly interesting to me.

One of the things we’ve seen from all our data crunching is that G.P.A.’s are worthless as a criteria for hiring, and test scores are worthless — no correlation at all except for brand-new college grads, where there’s a slight correlation. Google famously used to ask everyone for a transcript and G.P.A.’s and test scores, but we don’t anymore, unless you’re just a few years out of school. We found that they don’t predict anything.

Full article at In Head-Hunting, Big Data May Not Be Such a Big Deal

It’s been 35+ years since I graduated college. More than half my life ago. It’s hard for me to see how anything about my career could have been predicted from that GPA. I’m surprised anyone thinks they are good predictors of anything other than an ability to get good grades. This got me to thinking about how we grade in schools though. Are the grades I give my students any indication of anything of real value? If not, how do we fix that?

Generally I see evaluations as being good for two things. 1. Understanding what students do or do not know 2. Providing objective grades for transcripts

The first I see as very valuable as long as it is used as a tool for improving how the material is taught. Grades? Not so impressed with the whole idea. Administrators love them. Students like them when they support the idea that they are smart or that they know something. If you notice though most professional development events for industry professionals don’t include grades. Online training I used to take at Microsoft used to give quizzes but they seemed mostly designed to see if you were paying attention. They were easily “gamed” as well. The real proof was if you were actually able to apply the information to your job. The real evaluation was on how you used the material and not how well you did on a quiz.

The real value of what you learned in college (or high school) is not what grades you received but how you are able to apply that knowledge. Of course you have to learn and retain that knowledge. Testing, to a large extent, the way we do it encourages non-retention. Once the test is over students feel free to forget the material because they see its value only for getting that test score. It is a mentality that we encourage by the way we grade.

The value of a comprehensive end of course test/exam/evaluation is problem only that it forces students to retain more information longer than they might otherwise. On the other hand too many students think they can cram enough into short term memory in the days before the exam to get by and then forget it again.

One of the things I used to say to students in my APCS course was that anything I taught them at any time in the year as well as anything they were taught (and should have learned) in the courses preparatory to taking APCS was fair game for testing at any time. I took that seriously. Did it help? Hard to tell but I hope so.

What I surely believe is that we have to make it clear to students that the goal is not good grades but the acquisition and application of knowledge. It’s a little abstract especially for high school students. In the end though education has to be about a lot more than the GPA or its utility is marginal at best.

Wednesday, June 19, 2013

Two Sides: APCS Principles

CSPrinciplesLast week there was an announcement of a multi-year $5.2 million grant from the NSF to fund creation of a new Advanced Placement Computer Science course called (working title at least) AP CS Principles. This is based on the work done by many over the last several years to create a new college level computer science course that would be accessible to more students and teachable by more teachers. (See the CS Principles website) Exciting news for many people who see a lot of potential in this course. But not everyone is excited.

A blogger and college professor who posts under the name of Gas Station Without Pumps took on the question on his blog with a post titled Millions for a fairly useless new test. He is skeptical that the course is really college level. I’ve heard the same thing expressed by others. Now the course, or some variation of it, is being taught at a good number of colleges and universities but as this blogger points out there are other courses offered that we don’t have AP level courses for because they are, perhaps, not such high level courses in the first place.

He also has some concerns that this “easier” AP CS course will eventually push out the more strenuous AP CS A (what I like to call APCS Java) course. I’m not so worried about that. I suspect that schools who  teach APCS A now will use APCS P as a feeder course in hopes of expanding the total number of students learning computer science. This new course may help a lot of schools that currently only get to teach one CS course (APCS A) to expand to two courses.

Overall I continue to have mixed feelings about AP courses in general and AP CS courses in particular. On one hand AP courses give a subject a sort of legitimacy that they don’t always have without an AP course at the top of the scale. The states that allow for an AP course to count as a graduation credit in either math or science only allow the AP CS course to count. Will this new APCS course count in the same way that APCS A does now? One hopes so but nothing is certain.

It seems unlikely that in the current political climate we could get states to set a standard for a course that counts outside of the AP curriculum. This is something I believe needs to happen. We don’t see only AP courses counting for graduation in many (any?) other subjects do we? Schools with no AP courses at all manage to give out state backed diplomas as far as I can tell. This makes CS still very much a second class subject.

So there is good and bad in the APCS program. I think we will not really know if the new course is really college level until we see the way it is evaluated. For that we largely have to trust the people who develop the test and than see what universities decide to with with the results of the test. It’s a multi million dollar gamble for computer science education. NSF and other outside money (Google is spending some to support this as well) the College Board is largely getting a free ride. They have little to lose and much to gain.

Two Sides: Putting Industry Professionals in the Classroom

Logo Linked ListMark Guzdial is one of the people I most respect in the area of computer science education so when he says something is good or bad I tend to take it very seriously. Not that I always agree but I have to think long and hard about it before I disagree. So I have been thinking a lot about some recent comments he has made recently abut the TEALS program. (Most recently in  a post titled It’s time for Teach For America to fold: The lesson for computing education) In brief Mark says:

[…] why TEALS is not a useful strategy for the long-term health of computing education in the United States.  We need to build up our corps of veteran computer science teachers.  Using professional IT workers as stop-gap measures means that there’s no incentive to develop those veteran teachers, and means that we’re not spending our efforts in teacher professional development that will pay off over the long-term.

Now before we go further, Kevin Wang who started and runs the TEALS program is someone I know from my time working at Microsoft. He’s a good guy and his heart, in my opinion, is definitely in the right place. And of course I have had many good things to say about this program over the last couple of years. So I am conflicted a bit.

I understand Mark’s points. I can see schools and school districts taking the easy way out and letting these volunteer teachers take over. It saves them money and it means they don’t have to do (or pay for) a lot of training of new CS teachers. It is a short term fix though as people move around quite a bit in industry and someone who may be able to take a course one year (or several) may suddenly become unavailable leaving a school high and dry. Not a risk that is good for stability and continuity. In fact it really takes a couple of years for someone to become a good teacher so swapping in new people every few years (the Teach For America problem) is not a good thing. In fact it is arguably pretty wasteful.

In fact I would go one step further than Mark and ask if perhaps all programs run outside of schools are making it too easy for schools to avoid teaching computer science. Summer camps, after school programs at YMCAs and Boys & Girls Clubs and many more. If we have “enough” programs outside of school (by someone’s definition of enough) do schools have to teach computer science at all?

On the other hand can we wait for schools to develop enough teachers? There is not much indication that they see the need or have the desire. Is a so-so short term solution better than no solution at all? Depends on your point of view. If you have a child in high school right now you may want a teacher there right now. If you have a third grader then maybe hoping for an optimum solution that will be ready when they get to high school may very well seem like the way to go. Though I think you have to be a real optimist to expect that to happen. Or maybe I’m too pessimistic.

I really want to see computer science in the main stream of education. I really want to see people who are trained as computer science educators in the classroom. I don’t want schools to be dependent on volunteers or highly educated non-educators for what I see as an important subject that every student should have some exposure to.

One possibility I see is that having more schools offering computer science, even with volunteer professionals as instructors, may give the field more visibility. Perhaps schools in areas without high densities of professionals will see this as an indication that they need to develop their own programs using “real” teachers in order to make their students competitive with students from other areas.

I jokingly tweeted last week “Please don’t teach CS to your students. I want my students to have an edge.” It’s one of the most retweeted things I have ever tweeted. Somehow we need to make schools (and school boards both locally and state-wide) see that they need computer science programs to make their students competitive in the world today. I’m not sure how we do that but the attention that programs of all sorts that are outside of school may get the message that the world outside of school sees some value may help.

Monday, June 17, 2013

Interesting Links 17 June 2013

First Monday of “summer vacation” and my grading is done and have been submitted. You know what that means! Yep, working on my lesson plans for August. Two brand new courses to teach and I am determined to be ready for them. OK, yeah, maybe I have some fun planned as well. Since it is Monday I do have links to share. I hope you’ll find some useful.

First off, if you are going to ISTE 2013 you really want to take advantage of a free Microsoft Surface RT that is available to eligible attendees. You need to bring some paperwork so go to the Windows in the Classroom Surface Experience Project site, read the details and get the paperwork done before your central office clears out for the summer.

I’m not going to be at ISTE this year and I am very disappointed about that. Looks like more computer science sessions than they have had in years. And do stop by the Microsoft booth. I may not be working at Microsoft anymore but a lot of good people who care about education are.

Peter Beens ‏@pbeens tweeted a link to pynguin - Python Turtle Graphics Application. Turtle graphics really seem to be coming back in a big way to introduce students to programming. (See also my TouchDevelop Demo: Simple Turtle Graphics )

AP CS Principles Course Moves One Step Closer with millions of dollars in new funding. Good read from the CSTA blog

Should All High School Students Learn Programming? While an obvious YES to me not everyone agrees.

Coding Is Coming To Every Industry You Can Think Of, Time To Start Learning It Now for the pro learning coding from  @FastCoExist

Computer Scientists Get Wet talks about the way computer science is getting deeply involved in all the other sciences. 

A reminder that I keep a list of computer science educator blogs is available at Computer science education blog roll Looking for any I have missed.

Computer Coding Lessons Expanding for K-12 Students via @educationweek

Biggest EdTech Question: How? Good read from @KenRoyal about how many schools struggle with how to get and maintain education technology

Interested in CS education? It's worth taking 40 minutes to learn from one of the field's top researchers – Mark Guzdial. What We Know About Teaching Computer Science ("What does Guzdial do, Anyway?")

A recorded session from TechEd 2013 - Building Apps with the Kinect for Windows SDK – is available. yet one more thing I will be looking at for ideas to use in class next school year.

Friday, June 14, 2013

Free Computers For ISTE Attendees

Wow! Free computers. Hard to ignore that one. gIf you are heading out to San Antonio for ISTE 2013 Microsoft has a deal for you. They are giving away free Microsoft Surface RT computers to attendees from eligible schools. There is a some simple paperwork to make sure no ethics violations take place. The computer is for the school and for academic use after all. But what a deal!

You must register online and have your school official and/or ethics officer sign a gift acknowledgement letter provided to you by Microsoft, and adhere to all the other Windows in the Classroom Surface Experience Project terms. Offer ends June 25, 2013. Please see for project details and full offer terms and conditions.

fThe project is called the Windows in the Classroom Surface Experience Project and it seems like a pretty good deal to me. If I were going to ISTE I would sure take advantage of it. I don’t actually have a Surface RT myself.  But I’d like one. I have a Windows 8 Slate and I  like it but a Surface would beh better for what I want a slate for.

The Surface RT doesn’t have the ability to run traditional Windows Apps and I’d still use my Samsung for developing using Visual Studio but the Surface should be ideal for TouchDevelop work and with a great web browser and the RT versions of Office I’d be pretty well set for everything else I do. Especially with that cool keyboard/cover that my Samsung doesn’t have. So this would be great for travel.

theteachercollectionlogoI think it would be great in the classroom as well.  There are some apps I was looking at using in the fall already at The Teacher Collection Apps site. Seating charts, lesson planning, essay grading and more.

This is a big risk for Microsoft BTW. They are spending a ton of money on it (I assume – I have no inside information since I’ve been gone from Microsoft for 9 months or so). I suspect that they believe (hope) that once teachers get these in their hands and start using them they will find them as useful if not more useful than iPads. If teachers give them a fair chance that may be true. If if does it will help Microsoft combat the “oh its an Apple isn’t that wonderful” attitude that seems to be pervasive in education. If Microsoft is smart these Surfaces will come pre-loaded with a bunch of apps so that teachers don’t have to do too much looking for them on their own. Lucas Moffitt’s Teachers Collection or other apps like that would be a good start.

Ray Fleming in Australia has a good list of Windows 8 Education Apps and of course the Windows 8 Store shows many as well. So it should not be too hard to find something useful.

Wednesday, June 12, 2013

They Just Don’t Seem To Get It

An article was published yesterday with the very optimistic title of Computer Science May Become Mandatory Part of Mass Public School Curriculum. If you read the article though the work “may” could be defined as “when hell freezes over.” OK maybe that is too far in the other more pessimistic direction so let me start over talking about the article. basically a coalition of high the companies including Google, Microsoft, Oracle. and Intel have formed the Massachusetts Computing Attainment Network, or MassCAN to lobby for more computer science education in Massachusetts.

There is more information at the Boston Globe article Tech firms call for mandatory computer classes Want computer science taught but I don’t know more than what is in those articles. The companies are willing to put their money where they mouth is to support curriculum development and teacher training. The response from the state Department of Education has been anything but enthusiastic as far as I can tell. That is why I see any of this happening as unlikely.

For example Mitchell Chester, commissioner of the Massachusetts Department of Elementary and Secondary Education:

While Chester agrees with tech executives that Massachusetts graduates should be better equipped to pursue computer science careers, he said a better approach would be to incorporate computer teaching in existing course work, or to work with individual school districts to develop their own specific curriculums.

The first approach, incorporating computer teaching into existing work, is a great idea. In theory. The problem is that few teachers know how to do this. Many seem unwilling to learn because they just want to teach the way they always have. Getting real computer science into the curriculum rather than just computer applications is a whole lot harder still. I wonder if the apps is what he thinks of as computer teaching?

Working with individual school district to develop specific curriculum seems like a way to say “go fight the same fight as many times as there are school districts.” That is a huge drain on resources and highly unlikely to be very successful. This strikes me as a huge failure in leadership.

Paul Reville, a former secretary of education in Massachusetts and now a professor at the Harvard Graduate School of Education:

[…] suggests the companies should start on a smaller scale, selecting a few schools as a pilot for a more focused approach to the skills gap in technology. If those proved effective, Reville predicted, computer science courses would spread rapidly.

This makes no sense to me. There are schools doing good things with computing education in and around Massachusetts. Some in public schools, some in private and some in charter schools. They could take a look at the program at the Advanced Math & Science Academy (AMSA) for one. Computer Science from middle school up through high school. Their CS students win awards. 

Having an effective program is far from enough to get things to spread. Computer science has to have value to the schools and to the students. If computer science stays an elective that doesn’t “count” towards graduation schools are going to continue to give it short shrift. Students are likewise going to avoid it unless already very interested in it.  Eleven states (Indiana last week made it 11) accept APCS as a math or science credit for graduation. Massachusetts needs to do the same at a minimum.