Wednesday, May 29, 2013

You Never Know Who The Computer Science People Are

Apparently  Justine Bateman, yes Justine Bateman the actress who played superficial Mallory Keaton on Family Ties, has started a new role as a college freshmen at UCLA. Theatre major? Not hardly. With a long successful career she could teach that. No, she is a computer science major.

She’s blogging about her experiences on a Tumblr blog called Get A College Life. A few more F-bombs then I would use but otherwise an interesting read on life as a college student starting at age 47. Good for her for both going for this and for sharing the experience. I wish her all the best.

Tuesday, May 28, 2013

What’s In It For The Company?

WP_000501Last night there was some chatter on Twitter about news that The World’s First LEGO School Set to Open in Denmark! It’s an interesting idea with a goal to include “LEGO’s emphasis on fun and playful engagement.” The question came up, as it invariably does, “what does the company want to get out of it?” Even though the funding is coming from the LEGO Foundation and not the LEGO Group it is lost to few that the LEGO Foundation owns 25% of the company it gets it name from.

We tend to suspect companies of selfish motives in most education related transactions these days. I think this is because we tend to think in zero sum terms – if it is good for the company it must be bad for education. A number of companies who produce educational materials including books, exams and supplemental teaching resources have come under criticism for their products from educators. Of course other educators embrace the products and support their use. Sometimes they face criticism for that as well. I’m not so sure this is always fair. Sometimes it is of course but often I see cases of tools being criticized for being used incorrectly or otherwise not up to their potential. But back to companies.

I spent 9 years working in industry where my job was defined mostly as getting educators to use the company’s products in education. Mostly I was able to give those products away for free (which is a pretty good price). I was promoting products that for the most part I had actually used with some success in my own classrooms. As new products came along I looked carefully at their educational value and suitability and promoted only those products I believed in. Was there something in it for the company? Why yes!

Though not so much in the short term. It is expensive to give away software for free. Students do not get to pick what software they use when they first get jobs out of high school or even university. It was a long term play. I used to describe my job as being the in “make friends and influence people” business with emphasis on make friends. The big short term benefit, as I saw it, was to the schools who took advantage of programs and opportunities for students to learn with and about state of the art professional software.  Plus a lot of teacher developed and Microsoft funded curriculum.

Today I see a number of companies doing work to support computer science education with even less of a direct or short term benefit. Dan Kasun, one of the Microsoft execs I really respect, wrote about his work with the TEALS program and why he sees it as important recently. (Thoughts on the TEALS High School Computer Science Field Trip) Not much “all about Microsoft” in that program. While some of the courses being taught do use Microsoft technology a lot the teaching is the APCS course which is all about Java. Arguably teaching APCS is counter to Microsoft’s goals and greater good. So why do it? Because it is good for society.

It’s not bad for Microsoft of course. A well trained, smart tech savvy population means more potential hires and customers. But that is also a long term good and not the short term quick win many people associate with big companies.

Google is another large company spending some good money on CS education. They have been sponsoring CS4HS and the CSTA Annual Conference ( though not this year unfortunately) for a number of years. My understanding is that this year they have moved a lot of money into supporting pilot programs for the new CS Principles course. I see that as a badly needed shot in the arm for high school computer science BTW. 

Google also funded development of App Inventor for Android and provided continuing funding when they handed it over to MIT. While one can argue that the benefit from having more students buying and programming for Android phones that is still not a major mover in a huge smart phone market. It’s pretty cool and useful for educators though! I doubt that Google will make enough money directly attributable to App Inventor to fully justify its expense. But in the long term Google, like Microsoft, benefits from more smart people going into computer science.

Hard to put on a balance sheet though and trust me if it doesn’t show on a balance sheet a lot of companies will just not do it.

So what does LEGO get out of this school? Well they talk about building a school so good that it brings smart people to the area. That’s a win. They may sell some more LEGO blocks but only if the educational value proves to be real. Ultimately they benefit from more smart creative people and then only if it all works. Any blocks they sell is just icing on the cake.

Monday, May 27, 2013

Interesting Links 27 May 2013

Memorial Day in the US today. Today we remember the men and women who have fallen in battle serving their county in the military. My Dad didn’t die in battle though he did serve in the Navy in WW II. He’s in my thoughts today as well. And we’ll probably grill today as well. Traditional Memorial Day food. For now I have some links to share with you.

Ruthe Farmer at NCWIT has been tweeting some links to interesting workshop lately.

More than 500 students from 17 local schools came together in South Seattle to program their first apps at a major hackathon for students. Seems like a great event. They are planning more and larger events in Seattle. I wonder if  this is something that will spread.

Wes Fryer @wfryer Sent a link to a Linkly list of 14 apps & websites for programming on Simulation/Game Most of these I knew about but a few are new and I’ll still checking them out. Lots of these are good for younger students as well.

Via @MindShiftKQED: Why Programming Teaches So Much More Than Technical Skills.

Education Tablets: Look for More Than A Device is a great commentary from  @KenRoyal He points out that software in something important to take into account.

Career Day at Craig Elementary Good read about introducing computer science to 4th graders by Crystal Furman.

Vicki Davis interviewed me for the @BAMRadioNetwork: Why Computer Science is Not Just for Geeks. We had a great conversation on the importance of computer science education.

How These Amazing, Kid-Friendly Languages Are Hooking Tomorrow's Programmers on THE Journal.

Computer science: catch them early a post by Bertrand Meyer on the blog@CACM and Communications of the ACM.

Meet The Statistically Average Computer Science Teacher Results of CSTA annual survey of computer science educators.

The FOCUS interview with Dan Pink by @DonWettrick

Mike Zamansky@zamansky provides an update of his data related CS projects with his HS students at  Real Data - Part II

Thursday, May 23, 2013

Some Thoughts About MOOCs

Massive Open Online Courses (or MOOCs) seem to be a major topic of conversation in higher education these days. Online courses for high school students tend to be neither massive or open where open means that anyone can take them. Online education in high school (and younger) seems to be viewed as a solution for students who don’t do well in traditional schools, credit recovery or offering courses that a local school doesn’t have the resources to offer specific courses. No one (or few at least) seems to be suggesting that MOOCs or online education will revolutionize secondary school education. Thankfully.

I can’t see online education being a general solution for secondary school students. Since no one is trying to make that happen I am relieved. Not just because it means my own job is safe for a while either. But I have some concerns about MOOCs in higher education.

My recent post (Would You Hire Your Graduates?) drew some real indications that universities value diversity in their faculty. They value it enough to not hire their own graduates so as to avoid becoming inbreed. On the other hand many large universities seem to be embracing MOOCs as parts of consortiums such as EdX, Udacity, and Coursera. Where is the concern about diversity there? Could we wind up with a handful of courses that an overwhelming majority of students (how ever we redefine students) are taking? Would that be a good thing or a bad thing? I tend to think it would be bad.

So why are universities who clearly want diversity in faculty so quick (in many cases) to embrace a system that seems to be going in the opposite direction with regards to teaching? I suspect two reasons:

  • Increasing income while reducing expenses
  • Direct more attention to research over teaching

MOOCs seem to offer an education to a lot of people for very little money compared to traditional teaching. There is a lot of high minded talk about bringing a first class education to more people in more places around MOOCs. And clearly some people believe that talk. It sure sounds good in theory. But how is the practice? I think the jury is still out on that.

With reductions in income because of the economy while at the same time costs are rising many university administrators are looking at their schools more like a business. Cutting costs and increasing tuition revenue seem to be higher goals than quality of education in many places. We’re already seeing trends like more courses being taught by adjunct faculty who are generally paid much less than tenured faculty and also get fewer (if any) other benefits. I’ve seen universities where discussions are taking place about shorter “terms” so that more terms can be taught in the same calendar year. And of course online education as a way to reduce costs for classrooms and similar resources that bricks and mortar teaching requires.  MOOCs much seem like a logical next step for many administrators. Even if most students take the course without getting credit if enough students do pay for credit the potential profits look pretty good.

I’m heard university faculty say things like “teaching is what I do the get the opportunity to do the research that is important to me.”  With grants getting harder to come by I can easily picture some faculty wanting to see MOOCs do the teaching and bringing in the revenue to support faculty with lighter teaching loads and more time for research. I haven’t seen data but I would not surprised if faculty whose first love and reason for being at the university is teaching are less supportive of MOOCs than faculty who live for research.

MOOCs do have the potential to provide more education for more people but is the MOOC education going to be as valuable as a bricks and mortar education? I remain a skeptic because I believe that a good university education is about a lot more than what happens in the classroom or lab session. I don’t think we’ll ever get there with a completely online education. I also worry about a loss of diversity in what is taught and how things are taught. Every university is unique and that has value to society.

A lot of things that people thought the Internet would bring – greater understanding, more transparency, higher levels of cooperation – have not materialized. Theory and practice are often not the same thing.

Tuesday, May 21, 2013

Sexism and Women in Technology

There seems to be a lot of discussion on the Internet about women in technology. More specifically the troubles they have with. The Girls in IT–Infographic and Report from NCWIT I wrote about talks about the shortage of women and girls in information technology. A couple of recent articles give some clues about why that shortage of girls in the field may be.

Women I know in industry say that things are better then they once were but that there is still a lot of sexism in information technology roles. It drives me crazy.

I hear/read men saying that women are just not good at computing but that is opposite of my experience. I remember back in the middle ages when I was a college student the women had a curfew and had to be back in their dorms by 11 PM. Men had no restriction and often pulled all-nighters to get code done. In spite of spending less (often a lot less) time on projects the women in my classes never seemed to miss deadlines. Not a sign of “less ability” to me.

I’ve worked with professional developers for many years and the women I worked with all managed to be just as good or better than the men. AND they had a life outside of work which is more than some of the so-called “rock star” male developers didn’t seem to have time for. That’s not data but I have seen some data that strongly suggests that men often over estimate their abilities and women often under estimate their abilities.

So what brings on the aggressive sexism we all too often see, especially on the Internet? I don’t know for sure but I wonder if some of it is fear. Are some men intimidated by the way women work? Are they afraid that people will expect them to change the way they work and ask them to work smart rather than hard and long? At some level do some of these men realize that they don’t compare well to women? Not that they’d admit it to others of course. That would be a bit much for them.

What ever the problem is with these guys the rest of us need to speak out about the issue. We need to avoid laughing as the “jokes”, tolerating the snide comments, and reject actions that make women uncomfortable or unwanted. We don’t need to tell women to “toughen up” or “let it slide.” We need to tell other men to grow up.

Girls in IT–Infographic and Report from NCWIT

I found an info graphic from NCWIT on Girls in IT to be pretty interesting. I can’t get it to format right in this blog format but you can see it here. I’ve got one snippet of it below.


  It is shocking to me how under represented women are in the Advanced Placement Computer Science program and in undergraduate CS programs.

There is a lot more in the graphic and the accompanying report - Girls in IT: The Facts. I’m also reading the report which “aims to bring together this latest research so that readers can gain a clearer and more coherent picture of 1) the current state of affairs for girls in computing, 2) the key barriers to increasing girls’ participation in these fields, and 3) promising practices for addressing these barriers.”

Monday, May 20, 2013

Would You Hire Your Graduates?

I was reading a blog post by a university professor on the subject of adjunct faculty (Tenure-track’s untouchables) when I can across the statement that “the university has a disinclination to hire their own graduates.” This seemed weird to me. I teach at a high school that has a good number of their own alumni on the faculty. On a recent visit my my university alma mater I noted that there were a good number of graduates who had returned to teach there as well. I always saw this as a good thing.

I struggled to think of why a university would have this sort of disinclination and the only thing I could think of was a fear of becoming “in breed” in some way. The flip side of that is that it can also contribute to maintaining a mission, culture and environment. Maybe if you don’t like your mission, culture or environment you’d want to go outside for faculty but in general I’d think a mix of “old” and “new” would be closer to ideal.

The cynic in me wanted to ask “are the students you are turning out not good enough to teach at your school?” What does not wanting to hire your own graduates say about your program? After a bit of this sort of non-productive thinking I refocused on myself and my own teaching. If I were starting a new company or hiring for an existing company would I want to hire my former students? Am I preparing my students for the world they are entering after graduation?

Teaching high school I think mostly about if I am preparing them to succeed in university. I’m frankly less interested in what school they attend next as I am that they are prepared for what they find when there get there. I am also concerned about their ability to perform in industry jobs. Oh I know, I know. I hear it all the time No one gets a job in computer science right out of high school.

Bah, not true at all. Most do not of course but I have had a good number of students get great summer internships and even year round jobs while still in high school over the years. They have done well enough that the companies that hired them have returned with the question “any more like so and so?” It does happen.

So would I hire my graduates? Not all of them. At least not out of high school. But some of them? In a heart beat. I can think of several I would want to hire me if I were leaving the classroom again. While I wouldn’t think of taking full credit (or in some cases any credit other than not screwing things up) I like to think I have helped prepare a few students pretty well.

The goal should be to give students the knowledge and skills they need at a level were you would feel comfortable either hiring them yourself or at least giving them a strong recommendation for someone else to hire them. It’s not about passing time or giving them the minimum to get by but giving them, at least the opportunity to acquire, the knowledge to succeed either in industry or academia. If you would not recommend a student for an appropriate  job/university you should be able to answer the question “Did they not work hard enough or did you not give them enough opportunity to learn the right things?”

Yes, I want to turn out graduates I would like to hire.

Interesting Links 20 May 2013

In case you missed the announcement last week the CSTA Election results are announced. Thank you very much to those of you who voted for me. I’ve really looking forward to helping out on this board. The school year is nearing an end. The school I teach at had their senior prom over the weekend. I hope to see pictures today. I’m also starting to think about how I am teaching next year. We’re creating two new courses to replace some existing but dated courses. Some of the links below will play into my thinking.

I’ve been working a lot more with TouchDevelop lately. I really want to use it with students. I’ve posted one of the bits of code I’m playing with as a web app at   I’ve also been experimenting with TouchDevelop Presenter. Presenter lets me display want I do on my phone on a wi-fi connected computer. I understand it currently only works with the Windows Phone 7 app. It was developed before the web based version of TouchDevelop was created. I’m hoping to upgrade to a Windows Phone 8 soon so I will probably use the web version for demos with students. 

Microsoft Touch Develop is looking for adventurous Windows Phone 8 mobile app creators for a beta of the WP 8 app of TouchDevelop. Yep, this is one more reason I want to upgrade my phone.

Ray Chambers in the UK has developed a Touch Develop - Scheme Of Work for teaching. I’m taking a good look at it for my own use.

Doug Peterson wrote a very thoughtful response to one of my posts at Life in a Browser. It was in response to my little rant Why Web Apps? 

Washington State passed a bill that gives students graduation credit for AP Computer Science. This is a great thing and now 10 states allow this sort of credit. Still a long way to go though. But there continues to be discussion of this sort of thing in the media.

Dear Learn to Code Startup is a great post with words of advice for all those companies what think they are going to “solve” the problem of not enough computer science students written by Laura Blankenship (@lblanken)

Do you remember the Incredible Machine? It was a great game all about problem solving/ Well it looks like The Incredible Machine Is Back, Spiritually at least. Read about it in Wired.

Why teachers do what we do is a recent post by Doug Berman  @dougbergmanUSA that you should read.

Thursday, May 16, 2013

Why Web Apps?

I have a bias in favor of applications that run locally and take full advantage of the hardware and OS of the base platform. These days it seems like everything is moving to the web in some form or other. Scratch 2.0 runs completely in the web browser for example. Twitter is shutting down the TweetDeck AIR app that I love so much in favor of some sort of web based version. I’ve been using some web based email (unhappily) for a while now. It seems as though everything is moving there.

I can understand some of the logic. The web (or more specifically web browsers) are a common baseline that can be programmed against. Write it once and it runs on any system with a compatible web browser. A developer gets the benefit of ubiquity without having to write and maintain multiple versions. It’s cheaper.

Web apps also have the benefit that the developer can make fixes once in  one place and all of the users have the benefit of changes, improvements, and additional features transparently. No update routines. No version mismatches. It just seems like a dream.

The elephant in the middle of the room is of course that you have to have Internet connectivity to use these tools. Sometimes that has to be very fast Internet as well. While Internet access is becoming more wide spread it is not yet ubiquitous. Where it is available it is often not cheap. Or fast. Internet on airplanes, where it exists, is expensive and slow. On trains (Amtrak for example) it can also be spotty. Cars? I haven’t tried it while moving as I am usually driving but given how often I find poor cell coverage for calls I don’t know that I want to bet on it there either.

School Internet connections can get pretty slow as well. We’ve had some issues lately with slow wi-fi and Internet in my school.

Even if you assume wi-fi that is fast and affordable applications can not always easily take advantage of device functionality. For example with the TouchDevelop app I can handle a “shake” event. Not so on my iPad (thought that is “coming”). It takes more work to make all the hardware available to a web app. For security reasons giving a web app too much access to hardware and local storage is not always a good idea either.

It still seems like a locally run application that is targeted to the hardware (or at least a specific operating system) is going to give users the opportunity for better performance, more functionality and less dependence on external factors like Internet connections. Maybe I’m a Luddite or maybe just a cranky middle aged man but I really want real applications over web apps.

Tuesday, May 14, 2013

2013 CSTA Board Election Results Announced

CSTA Election results are announced  Congratulations on reelection to Patrice Gans, Dave Reed and new member Stephanie Hoeppner. Oh and I have been elected too.  Pretty excited about that.

The Computer Science Teachers Association is the professional organization for K-12 computer science educators. If you are a computer science educator you should belong to the CSTA. And also think about attending the 2013 CSTA Annual Conference this summer.


Monday, May 13, 2013

Computer (and Math) Humor

Many more like these are

Two Kinds
I like this one in part because it is subtle. There are two basic standards for opening the curly brace in C-type languages.  Not everyone will pick up on it. Is it important which way you do it? Actually no. It may not even be important if you stick to it. But some people really do insist that their way is the one true way and that everything else is wrong.
Of course there is also the group of people who think that curly braces and semi colons are crutches for compiler developers and that real programming languages don't need them.
I’ve seen this time and again. OK perhaps even felt the same way. When nothing seems to be working programming can be frustrating and even something to hate. But lots of us persist. And when it works it just feels so good.
OK it’s math not computer science. But is sure is fun.

Interesting Links 13 May 2013

Just about a month left of this school year for me. In between trying to keep things going with grading and teaching I’m starting to think about what I want to learn over the summer to use in class next year. Some of  the links below are about some of these things. A lot going on in CS education these days.

Ray Chambers who is one of the very innovative teachers I have run into over the past few years has posted his Scheme Of Work for Touch Develop. I've downloaded most of it myself to look at how I might use Touch Develop in my own classes.

For more  on Touch Develop take a look at Getting in touch with TouchDevelop (Think 'From What to Wow")  from Channel 9 @ch9

Four ways to kick start zombie coders is another great post by a UK CS education blogger. Zombie coders are those students who just don’t know where to begin. Some great ideas here. BTW I follow her @CodeBoom on Twitter.

Peter Beens in Canada  (@pbeens) pointed his Twitter followers to this great article written by Mitchel Resnick of MIT and Scratch fame.  Learn To Code, Code To Learn.

Speaking of Scratch, there is a new upgrade to Scratch 2.0! Check out the updated website:

Computer Science Concepts in Scratch - Free textbook and more. Set up for Scratch 1.0 but still useful now. Updates are planned as well. 

Chris Lehmann: Students as Active Agents is a new interview by Ken Royal. Chris is one of the outstanding high school principals I know.

More genius from @drenton72: NoNeed4Green - The Green Screen without a Green Screen is a Kinect application with a lot of good educational possibilities.

Sorry, College Grads, I Probably Won't Hire You. Not without programming knowledge. Some controversy about this one. See this contrary view at Sorry, Digital Ad Exec, I Probably Don’t Want To Work For You

From Google to Botball, check out what NCWIT Aspirations in Computing recipients have done lately.
Kinect Magic Cursor version 1.7 with Gesture support /by @drenton72 Good read

Expeditous - Time Lapse is a video by one of my wife’s students. I’d like to see it get some views to encourage them for the future.

Ingenious app for the deaf!  Help @Bookwormlexa reach her goal.

See how this Texas CS classroom inspires students and teaches skills for in-demand careers.

CS Resources Abound But There’s Still a Crisis in CS Education an insightful look at what is going on in CS education by Joe Kmoch.

Friday, May 10, 2013

How Many Fart Apps Do We Need

The satirical publication TheOnion released a fart application on GitHub. One can add it to their web page and people who visit it will hear fart sounds when they scroll on it. Sophomoric? Obviously. But as an advertising gimmick it seems to be working as there is apparently a lot of Internet chatter about it already. No doubt some more main stream media will take it up as well. But is this really the sort of app we want students to emulate?

Fart apps, in my mind, is short hand for a whole category of apps that are simple to make, usually amusing (to some people), occasionally (somewhat) useful but basically not significant. We tend to create a lot of these sorts projects for students. We want them to create someone that demonstrates mastery (or at least some level of ability) with specific concepts. These days we’re also looking to have students create their projects to run on phones, tablets, and other hand held devices. A simple app that shows an RSS feed, random pictures from the Internet, or plays some sort of sound (i.e.. farts) fits into the process easily.

But ultimately how many such apps do we really need? Not many. The problem though is creating applications that are both legitimately useful and yet within the abilities of students. Can we do it with scaffolding? Or does that cause its own problems? (Beware the Scaffold That Becomes a Crutch) Can we do it with group projects? Or does that create a different complexity for beginning students.

I’m just tired of “fart apps.” I want students to create meaningful apps. A big part of my summer planning is going to be about what sorts of projects students do. I want students to know that they can and should create meaningful work.

Tuesday, May 07, 2013

Visualization–can you see it in your head?

I had dinner tonight with several computer science professors. The topic of conversation turned to the question of “can everyone learn to program?” One professor is pretty sure the answer is no. He believes that some people just can’t think that way. I fear that he may be right. But we moved on to how can we make it so that more people CAN learn it? Even if we can’t teach it to everyone how to we get more people to understand programming or more broadly computer science concepts. We decided that one problem at least is that it is hard to visualize some concepts.

Recursion for one is hard to some people to picture. I know it took me quite a while. To this day my mental picture of it is cloudy but at least usable. Many concepts that computer scientists picture in their heads almost as if second nature are opaque to other people. The tools we have to create images that will help others picture these concepts too often seem inadequate. They are too hard to use or too limited in scope. After all most of the concepts we want to teach are not static. Images that don’t move do little justice to the concepts.

Honestly I wouldn’t know where to begin with an animated image of recursion. My own image is too cloudy. I suspect that others have a much better image but converting that to a useful tool is non trivial.

Other concepts lend themselves to visualization more easily. Linked lists, trees, stacks, and arrays for example. We can sort of do them using tools like PowerPoint but it sure does take a lot of work. We can draw them on the board. But as anyone who has demonstrated something like adding and removing nodes in a linked list can tell you this can get messy very quickly. I’ve always wanted to try using pieces of something (paper?) and strings (you know the fiber ones) to show links and lists but the logistics of that takes someone more handy than I tend to me.

Sometimes there are physical objects we can use. I can’t be the only one who bought a giant Pez dispenser to demonstrate stacks right? Or labeled boxes all in a row for arrays. Ideally though what I would love was something that students could actually manipulate themselves to see things work. Something they could ask themselves “I wonder what happens if I do this?” and then try it out.

We have more and more new tools for programming and implementing things. Where are the tools that help beginners picture how it works though? Are there things out there I am missing? What do you use to help students visualize the concepts?

Monday, May 06, 2013

Interesting Links 6 May 2013

About five weeks left to my school year. I’m behind in grading. I’m behind in lesson planning. This means less time on the Internet for the next week or so. Somehow I managed to collect a bunch of interesting links last week though.
Makey Makey is cool stuff that lets you use all sorts of items (bananas?) as input devices. I‘ve seen a demo and it looks cool. This post reminds me I need to look closer at it.  via @drenton72
Programming for kids is a good list of programming environments for kids which includes a few I need to look into.  (via David Wees @davidwees)
Most everything you need to know about CS education and jobs . Includes a lot of statistics and links to information you can use.
Education Week: N.Y.C.-IBM Partnership Focuses on Students' Tech. Skills  Things keep happening in New York City with regards to computer science education. I have to wonder were it will all lead.
The Role of HyperCard in Today's World interesting post on the blog@CACM from Communications of the ACM. Remember HyperCard? It may be coming back!
Gwinnett pilot hopes to draw students to computer programming highlighting a new program in Georgia.
Is that a mouse on your face? Or your face acting as a mouse? Both? FaceMouse is some new Kinect related software from Channel 9. See also KinectMouse.
The May, 2013 edition of the SIGCT newsletter is now available for downloading  (PDF)
Why isn’t there a glut of good software engineers? There are good paying jobs out there with good clean change the world work so why are more people not entering computer science fields. This posts asks that question in detail.
Are you going to the CSTA Annual Conference this summer?  Microsoft opens the doors to the NERD Center for CSTA 13 attendees. Don't miss this tour! NERD stands for New England Research and Development. I used to spend a good bit of time there and there is lots of interesting things going on there. And the views of Boston are amazing.
Super Computer Science: Why you Need a Popcorn Maker in your classroom Fun idea from Rebecca Dovi . Not sure I can get away with it but it’s a thought.
Madlib Madness is about a fun project that Mike Zamansky uses with his programming students.
Benefits of Teaching Kids To Code That No One Is Talking About
“Teaching kids to code is not about programming itself. It’s about promoting creativity, curiosity, teaching persistence, and giving young people a sense of how they can create technology.”

Wednesday, May 01, 2013

Why Search Engines Can’t Replace Teachers (yet?)

My programming students are working on some projects these days. I have them working of teams of two to four. As they work I am listening to their conversations and occasionally stepping in to help with a problem they can’t figure out on their own. Yes they can and do use the Internet. And they are learning a lot that way. But sometimes searching the Internet doesn’t work.

Why doesn’t the Internet search work? A couple of reasons account for most of the problem. The primary reason is that students often don’t know who to ask the right questions. They often lack the vocabulary for asking a search engine for what they want. Other times they are asking for the wrong thing because they just don’t know enough to know what it is they need. Honestly, a lot of high school students are just bad as using search engines in general which is a whole other problem.

Another issue is that they don’t understand the solutions the search returns. Sometimes this is because the person who wrote what they found assumes knowledge that the student hasn’t acquired yet. Sometimes this is vocabulary and sometimes this included advanced concepts. Not all students are ready for the way a professional would do it but need something, maybe less powerful, that will just get the job done simply.

Sometimes the students are in too much of a hurry. Students today wanted to insert a line feed in a string and kept entering “/n” when what was needed was “\n” not realizing that not all “slash” marks are the same. Noticing little details like that sometimes escapes even the best of us but is a particular problem for beginners. Teachers are good at helping find these nits that can otherwise cause a lot of wasted time.

As a teacher I often need to ask “what problem are you trying to solve?” Starting from what the student thinks is the solution often wastes more time than first trying to understand the problem. Search engines don’t have that sort of dialogue with searchers. Maybe they will at some point but they are not there yet.

I also need to help them understand the answers they find. Or perhaps I should say help them apply solutions to problems similar to theirs to their actual problem. Helping them move from general to specific (or specific to specific but slightly different)  solutions is an area where teachers add value that search engines are not yet ready to do.

There is a difference between knowing something (a fact, a concept, a programming syntax) and being able to apply it in a specific situation to solve a specific problem. Teachers can help a lot here. And yes I know that there are self taught “wizards” in many fields. Even before the Internet there were autodidacts who taught themselves from books. The Internet lets people teach themselves a lot. But that sort of learning is not for everyone. In fact I doubt it works for more than a relatively small number of people. Teachers are education for the rest of us.