Tag Archives: CS

The problem is NOT the computer

We were checking in to board the plane, and the woman at the check-in desk told me our seat assignments. “That’s not right!” I said. “We’re a family of three, traveling with a child. You cannot give us three separate seats.” The woman apologized, but said that the plane was full and she could not give us three seats – or even two seats – together. I argued and became insistent that we be given seats together, and she brought in her manager. The manager was able to do some rearranging and gave us two seats together for one parent and the child, and another seat nearby. I thanked her for accommodating us and said that the airline policy should be that families – especially with children – should always be seated together. That’s when she said it:

“The computer assigns the seats. That’s the problem.”

Before steam started coming out of my ears, I swallowed hard, counted to 10 (in binary) and then calmly and patiently explained to the woman that the problem was not the computer.

Perhaps nothing reveals the great need for Computer Science to be taught to every student in school than this very common misunderstanding. People in every job and every walk of life use computers every day. And many of them fail to understand fundamentally how computers work.

Computers do not do things magically, and they don’t operate on their own (yet). Computers do exactly what they are told by human beings, and how they accomplish those tasks is also controlled by human beings. That is called programming.

In this case, the airline (or their programmers) instructed the computer (their servers) to assign seats to passengers once they book a ticket (or when they check in or whenever). Seemingly, those instructions (program) prioritized business travelers, frequent flyers, people who checked-in early, etc. There seemed to be no provisions within the program for families or children.

The solution to the problem is very simple: adjust the program to ensure that children traveling with families are always given seats next to their parents (or at least one parent). Sure, this might interfere with frequent flyers choosing their ideal seats, but the program can be written to maximize the choices for prioritized customers without sacrificing at least two adjacent seats for every child traveling with family.

The problem does not come from the computer. The computer is only doing what it has been told to do by the airline’s programmers. The problem comes from the programmers not being told to prioritize children by the airline.

Too often people blame “the computer” when things do not go well. It’s more than just “blaming the messenger” – it shows that people really do not properly understand how computers work. It’s a mystery to them, so they can blame computers for mistakes .(And also presumably to praise computers for serendipitous good fortune – “Congratulations! The computer has selected you to be upgraded!”) If people truly understood that computers were programmed by human beings to produce the results they come up with, then they would not only be better able to explain problems but also feel empowered to fix those problems. Imagine the manager’s response if she had really understood the way computers work: “I’m sorry for the trouble. The computer system has obviously been programmed poorly to not take into account children traveling with their families. I will make a recommendation to my superiors that the program be revised so this problem doesn’t happen again.”

Aside: I know I’m whining a bit about my own situation. However, I’ve been on airplanes where air hostesses were scrambling to rearrange passengers after boarding to try to unite families who had been separated by “the computer.” It’s a problem that affects many airline customers as well as many airline employees. I could write about the dismissive treatment of passengers by airlines, but I’ll have to wait until I can do so calmly!

 

photo credit: andreas160578 from Pixabay (CC0/public domain)

Building games on a Saturday morning

The sixth grader stares intently at the screen, working the mouse and entering numbers on the keyboard. As the work progresses, a huge grin spreads across his face. He then pokes his friend, sitting next to him. “Hey!” he says, “Look what I can do!!”

On Saturday, about two dozen students, parents and teachers came to school to learn how to program. As part of the annual Computer Science Education Week which promotes the learning of Computer Science skills including programming, ICS held what may become the first of many Beginners’ Game Code-A-Thons. Using gaming as a hook, and emphasizing fun over strict programming protocols, two three-hour workshops were held to get younger students building games using the drag & drop block programming environment of Scratch and start older students learning Java code with the easy interface of Greenfoot. The goal was to learn enough of the program to build a game. Participants were given an opportunity to explore the program and see sample games and simulations. They were then walked through the creation of a simple game, and then given time to build their own games.

Nadia and Helen learn from Brendan

Turnout was not in huge numbers, but there was a decent cross-section of students and teachers from elementary school to high school. Several parent-child teams came in with both learning together and from each other.

Helen, the ES Art teacher was asking how to change the background to her Scratch program. “Can I show you?” her 3rd grade daughter, Nadia, asked. A big grin came over Helen’s face. “Oh, yes please!”

Seeing teachers become the taught was one of the many exciting aspects of the day. In the Greenfoot session, that aspect was completely on display. Adults – teachers, parents and the HS Principal – outnumbered students learning the system. They were eager learners, with various purposes – to learn programming, to build a game, to see what the fuss was about. The leaders of the session often found it challenging dealing with the diverse group. Particularly as they were students. Josh (9th grade) and Stephan (10th grade) ran the session with minimal input from me. As they worked to explain things clearly and keep things moving at a pace that suited most if not all, showing things in front and moving around to assist their students, both boys gained new insights into learning. Josh looked over at me at one point and said simply, “Mr Iglar, teaching is hard.” I looked at the principal and suggested we do more of this kind of event.

Was it worthwhile? You bet. Participants all enjoyed the sessions and expressed their appreciation of the students who led the workshops. Many were most appreciative of the fun prospect of building their own games, while a few were particularly interested in developing their ability to program in general.

Will we do it again? Definitely!