EppsNet Archive: Computers

Teaching Computer Science: The Phones Aren’t Helping You

15 Feb 2018 /

I’m volunteering a couple mornings a week at a local high school, helping out with computer science classes.

The way the classes are taught, via an online curriculum, provides a great temptation to kids to get off-task, which they do, usually by entertaining themselves with their phones.

They get off-task in other ways too — web surfing, doing homework for other classes — but the main distractor is the phones . . .


“As I mentioned before, I worked with another CS class a couple years ago. No phones allowed in the classroom.

Students with cell phones

“I remember one day the assistant principal was in class observing . . . a student had a phone out, looking at it . . . he was holding it under the table so no one could see it, but this guy, the assistant principal, he did see it.

“Oh man, did he hit the roof! If a student had pulled out a gun, there couldn’t have been any more excitement in the room.

“I thought that was overkill at the time. But I have to tell you that those kids kicked ass on the AP exam. Can I say that? That was the CS A test. Hard test.

“Most of the students got a 5. Most of the students who didn’t get a 5 got a 4. Nobody got a 3, one student got a 2 and, out of about 35 students, 6 of them got a 1, including the guy who spent 47 hours playing video games instead of studying. What did you expect, right?

“Now you guys may crush it on the AP test too. We don’t know yet.

“A lot of programmers have a phone in view when they’re working . . . a lot of programmers listen to music, sometimes through their phone . . . but nobody has the phone in their hand looking at it every minute, you’d never get anything done.

“So it depends what your goals are. If your goal is to get a top score on an AP exam, I don’t think you’re helping yourself with the phones.”

Two Reasons For the Low Number of Women in Computer Jobs

15 Jan 2018 /

I saw this chart on LinkedIn with the heading “Chart: Women in tech continue to face uphill battle” and the hashtag #STEMSexism.


The first reason for the low number of women in computer jobs is that we rarely hear about women in computing except in the context of pay gaps, harassment, discrimination, “uphill battles” and #STEMSexism.

It’s self-perpetuating. “Computing is a terrible profession for women in so many ways.” Followed by “Why aren’t there more women in computing?”

You’ve answered your own question. If you think computing is a hostile profession (I do not, btw), why do you want more women to go into it?


The second reason for the low number of women in computer jobs — sometimes the simplest explanations are the best — is that women prefer to do other things.

Men and women are different and make different choices about their lives, as a result of which, women are underrepresented in some professions and overrepresented in others.

Women, for example, are overrepresented in nursing, family counseling, speech pathology, social work, education, to name a few.

Do we hear about a diversity crisis in speech pathology or social work? We don’t, right?

I worked with a nursing organization for five years. About 90 percent of nurses are women, but in five years I can’t remember a single instance where gender bias was cited as a crisis, a dilemma, a problem, or even something as mild as a cause for concern.

Women being overrepresented in certain professions is not widely considered to be a problem. But if women being underrepresented in computer jobs is a problem, then their overrepresentation in other professions is also a problem.

In fact, it’s the same problem. Because where are the women in computing going to come from?

On the safe assumption that the number of women is constant — that a large number of new women are not going to just appear out of nowhere — the women will have to come from other professions that they seem to prefer, the professions in which they are overrepresented.

Sorry girls, we can’t have so many of you working in healthcare, education and other helping professions because we need to boost the computing numbers.

Or — we could calm down about the computing numbers and leave young women to make their own choices about their own lives.

TL;DR -> Women are capable of making decisions for themselves. For the most part, they choose to do things other than work in computer jobs, which is okay. It’s possible that none of us really knows what is the “right” percentage of women in computing and it’s possible that none of us really knows what other people should be doing with their lives.

Thus spoke The Programmer

Teaching Computer Science: Asking for Help

9 Jan 2018 /

I’m volunteering a couple mornings a week at a local high school, helping out with computer science classes.

Cell phone

This morning, in AP Computer Science Principles, the teacher went through an explanation of the hexadecimal number system, then gave an in-class assignment for students to convert their cell phone number to hexadecimal. Not in two parts, 3 digits and 4 digits, but as a 7-digit number.

It seemed pretty obvious from the interaction and the body language and the looks on their faces that a lot of students didn’t get it, but in a class of 25 students, only one student asked for help. Until the teacher finished with that student and asked “Does anyone else need help?” and eight more students immediately raised their hand.

I asked the teacher, “Can I address the class for a minute?”


“First off, doing a 7-digit hex conversion is not easy. I know professional programmers who can’t do it. So I’d expect someone trying to do it for the first time to need some help.

“In fact, if you know any professional programmers, ask them to do a hex conversion on their phone number. Let me know what happens. I guarantee you won’t have to ask too many people before you stump someone.

Snap programming

“None of the material in this class is easy. Snap programming? You might look at it and think ‘There’s a cat and a fish and a duck . . . I’m not understanding it but it looks like a program for 5-year-olds. It’s embarrassing as a high school student to have to ask for help with it. Maybe I’m not very smart.’

“No, Snap is a university-level curriculum from Berkeley. Academically rigorous. I worked through the assignments myself and I found them pretty challenging. I’d expect many of you to find them challenging as well. So you should be asking for help.

“If you need help, waiting for someone to ask if you need help is not going to be a winning strategy. In school, in life or in anything. Because if no one asks, then you need help and you don’t get it.

“There’s probably a natural reluctance to ask questions because what if I’m the only person who doesn’t know the answer? Then I ask a question and look foolish.

“It’s going to be unusual in any class that you’re the only person who doesn’t understand something. If you find that happens to you a lot, you may have a problem. But normally it’s going to be pretty unusual.

“I can tell you in this class, there’s definitely more than one person who finds the material pretty challenging. As I said, I find it pretty challenging myself. It’s not so challenging that I need help with it, but it’s definitely challenging enough that I’d expect most people who are not programmers to need help with it.


“I’m also hearing some people today saying to themselves or to the person next to them, ‘Why do we need to know this?'” That’s actually a very good question. Binary of course is the fundamental language of computers, but why would you need to know hexadecimal? Anyone?”

No hands go up.

“OK, we’ll talk about that in a minute. If it’s not clear to you, in this class or any class, why you’re being asked to learn something, put your hand up and insist on understanding the relevance.

“One final anecdote:

“I worked with an AP class a couple of years ago at another school. About this same timeframe, late first semester, I was in class on a Monday and before the class started, one of the students asked me, ‘How was your weekend?’

“I said, ‘It was okay. How was yours?’

“‘It was great! I played like 47 straight hours of [some video game I can’t remember the name of].’

“And he was one of the worst students in the class, maybe the worst.

“I know he and his parents had met with the principal and the teacher to figure out why he was doing so poorly in computer science. It had to be the school’s fault, right?

“So I’m trying to wrap my mind around this. You played 47 hours of video games, you have no idea what’s going on in this class, and it’s the teacher’s fault?!

“No, it’s your fault. You put nothing into it so you get nothing out of it, you don’t ask for help, and that’s why you’re failing.

“Moral of the story: Don’t be that guy.

Thus spoke The Programmer.

Is A.I. a Threat to Humankind?

5 Jan 2018 /

Not with a bang but a whimper, as T.S. Eliot used to say. In some countries, the people are kept in a state of submission by violence and/or threats of violence, but here in America, the same effect is achieved via mindless entertainments and gadgetry.

More Words and Phrases I’m Sick Unto Death Of

13 Oct 2017 /

Although I can’t claim never to have said these things myself, if I had a dollar for every time I’ve heard someone say either a) “It was working fine 10 minutes ago,” or b) “It works okay on my machine,” I would be comfortably retired by now.

Thus spoke The Programmer.

What Does a Programmer Do?

8 Oct 2017 /

I was asked to give a talk last week to a high school computer science class on “What Does a Programmer Do?” (I’m indebted to Jim McCarthy for the “lords and ladies of logic” section.)


Programming is problem solving.


At the highest level, the problem that programmers solve is that people want to be able to do things with computers that they can’t do. And by computers, I don’t mean just the kind of computers you have on the desks here, I mean phones, watches, cars . . . more and more different kinds of devices are running software.

So one good thing about being a programmer is that pretty much every field of endeavor now uses software and data.

You can work at a tech company like Microsoft or Google or Twitter or Facebook, but you can also work in healthcare, finance, education, sports . . . you can work on cancer research, you can write video games . . . everybody uses software and everybody hires programmers.

Programming is a good job if you want to be learning new things all the time, if you don’t want to do the same things over and over.

The dark side of this is that it can be daunting trying to keep up with the pace of technological change. It can be overwhelming.

I was asked once in an interview, “What’s the coolest thing you’ve learned in the last week?” If you haven’t learned anything in the last week, it’s hard to answer that question, let alone if you haven’t learned anything in a month or a year. It’s easy to let your career slip away from you.

Programming has been a good job for me because I’ve been able to make a living doing things I like and things that I’m good at. I’ve always liked solving problems and building things.

To me that’s a good job: you do things you like and things that you’re good at. I don’t think most people can say that. Most people seem to be like “I hate Mondays,” “Thank god it’s Friday,” “Thank god it’s Thursday because it’s almost Friday.” If you spend a lot of time doing things you don’t like and you’re not good at, that’s a bad job.

As a programmer, you’re given problems to solve and a set of tools with which to solve them. You need to be able to figure out “what do i need to do, what do I need to learn, to be able to solve these problems with these tools?”

Self-reliance is good. Persistence is good. Floundering is bad. Know when to ask for help.

Asking for help is a no-lose strategy. Worst case, you ask for help and someone can’t help you or won’t help you, but you’re not any worse off than you were in the first place.

The demand for programmers exceeds the supply and it doesn’t look like that’s going to change anytime soon.

Nearly 30 percent of Americans ages 18 to 24 cannot locate the Pacific Ocean on a map, and 25 percent of Americans think the sun goes around the earth. Those people are not going to be programmers.

In a time of ubiquitous software and intellectual lethargy, programmers are like the priests in the Middle Ages. We are the lords and ladies of logic. We’re in charge of rationality for our era. We’re bringing common sense and sound judgment and aggregated wisdom and glory to everyone.

That’s our job.

What Would We Do Without Consultants?

2 Feb 2016 /
The Dark Side

Digital technology? You mean, like — computers?

Proofread Your Own Work

15 Dec 2015 /

FYI, if you meant to type “invest in education” but actually typed “incest in education,” which you might do because the ‘c’ and ‘v’ keys are right next to each other, a spell checker will not catch that as a mistake . . .

Time Passes and Love Fades

7 Oct 2015 /

You’re Now the Local Computer Expert

17 Oct 2014 /

Teaching Computer Science

1 Sep 2014 /

Tomorrow is my first day as an AP Computer Science teacher at Corona del Mar High School. It’s a volunteer gig through the TEALS organization.

Only about 10 percent of U.S. high schools offer computer science classes and at most of those schools, it counts as an elective, like Home Ec or Wood Shop, not as a class that can be applied toward graduation like math or science.

The most popular AP exam in 2013 was US History — 439,552 students took the AP US History exam. Only 31,117 students took the AP Computer Science exam. That’s about the same number as the AP Art History exam. I don’t want to denigrate the study of art history, but given the ubiquity of computers and software and programming in daily life, the study of computer science seems more likely to enable a person to be self-supporting and to contribute to the common good.

I’ve heard people say that computer science should be taught in every high school in America. That may be a good idea, but no one ever says where all the qualified computer science teachers are supposed to come from. The TEALS vision is to put high-tech professionals like myself in schools to teach computer science and to teach teachers to teach computer science.

I’m happy to have the opportunity but I’m also scared, I might as well put that out there. What am I scared of? Like everything else, that I won’t perform to expectations and that I’ll be exposed as a phony.

People Who Don’t Want Me to Know Things

12 Jul 2014 /

What I want to know is why there are so many people who don’t want me to know things . . .

Trudeau's book Natural Cures Updated Edition

And that doesn’t even include all the things that people “won’t tell me.”

Raising Our Kids

10 Jul 2014 /

The Cure for Missing Attachments

10 Jan 2014 /

I wrote an email in Outlook 2013, concluded by saying “Details are in the attached doc,” then clicked Send without attaching the aforesaid document.

I must not be the only person who does this, because when I clicked Send, this dialog box appeared:

Attachment reminder

Obviously, Outlook is looking for words like “attached” or “attachment” in emails that don’t contain an actual attachment. It turns out that this behavior can be turned on or off in the Outlook Mail options:

 Mail options

I have to admit that I don’t remember if “warn me” is the default option, or if I turned it on at some point in the past and forgot about it.

It Would Be Important to Get There and There is Probably a Way

8 Jan 2014 /
Dr. Douglas C. Engelbart

Dr. Douglas C. Engelbart (Photo credit: Wikipedia)

I often say, “Well, it’s just over on the other side of that canyon. So all we have to do is go.” It is always surprising to me that other people would expect me to tell them how we’re going to get there directly. That it is not enough to say, “Well, it would be important to get there and there is probably a way. Let’s go.”

Pictures of Food

7 Aug 2013 /
"The Basket of Apples" by Paul Cézanne

“The Basket of Apples” by Paul Cézanne

Years ago, if you wanted to show your friends a picture of your food, you’d have to break out the palette and the easel and paint one. Time-consuming!

Nowadays, with the likes of Facebook and Instagram, it’s just point and click!

Another way life gets better and better thanks to computers . . .

Do You Want to Take the Human Race to the Next Plateau?

28 Jul 2013 /
Geoffrey Moore One on One, DEMO Fall 2011

Geoffrey Moore (Photo credit: The DEMO Conference)

In 1986, Steve Jobs famously challenged John Sculley, asking him if he wanted to keep on making sugar water or help Apple change the world. While that did not quite work out the way either of them intended, the challenge itself still holds. Do you want to spend your next decade developing more digital distractions to amuse people while they stand in line at Starbuck’s, or do you want to take the human race to the next plateau?

From Science Fiction to Everyday Life in Just a Few Years

25 May 2012 /

This is the world we live in now. It’s one where computers improve so quickly that their capabilities pass from the realm of science fiction into the everyday world not over the course of a human lifetime, or even within the span of a professional’s career, but instead in just a few years.

— Erik Brynjolfsson and Andrew McAfee, Race Against The Machine

Intelligence in the Cloud

12 Mar 2012 /

IBM Watson, the Jeopardy champion, runs on 90 IBM Power 750 servers, with eight 3.5 GHz cores per server.

Currently on Amazon EC2, eight extra large compute instances will cost you $2.40/hour. If you want to run 90 of them, you’re looking at a shade over $200/hour.

This brings up a couple of questions:

  1. For what tasks could artificial intelligence be as good or better as a highly trained person at $200/hour?
  2. What would this mean for society?

Thanks to David Patterson at UC Berkeley for bringing this to my attention.

Tom Knight and the Lisp Machine

8 Mar 2012 /

A novice was trying to fix a broken Lisp machine by turning the power off and on.

Knight, seeing what the student was doing, spoke sternly: “You cannot fix a machine by just power-cycling it with no understanding of what is going wrong.”

Knight turned the machine off and on.

The machine worked.

Next Page »