Monday, March 3, 2014



Best screenplay:  Her, about a man who falls in love with his operating system.
What did I tell  you?

Friday, January 31, 2014

Laws of the Girl Programmer

In the last 44 years of being a computer person, I have learned a few things.  Here are some of them:

1. In computing, some things are said to be transparent, meaning you can't see them.  I would add "and you don't need to see them."  If you need to see them, but can't, how transparent are they? 

2. Every program long enough to be useful has at least one undiscovered bug.

3.  There is no difference between software and programs.  Everyone who says "software programs" should be tarred and feathered.

4. Exception to rule #3:  There is one difference between software and programs.  Software is a set of programs that someone was paid to write.


I hope to add to this list. 

Wednesday, January 29, 2014

Is this cool or what?

Daft Punk

This is cool!  The Grammy's album of the year is named Random Access Memories, from a couple of guys pretending to be robots.

Also, one of the new movies just out recently, Her, is about a guy who falls in love with his operating system. 

Move over, wetware.  It's all about hardware and software!

Monday, January 6, 2014

Teaching programming - the "Boy Scout" method.

This holiday season, I was chatting with a fellow computer science teacher and shared this teaching method with him.  He urged me to put it on my blog, so here goes.

When my son was young and in Boy Scouts, I was an assistant scout master for a few years, and became familiar with the Boy Scout merit badge program. The merit badge concept is essentially this: The boy is to do some task.  He can (and probably will) have help.  Some lads do most of the task by themselves, and some need to be "pulled" through with a LOT of help.  Both boys get the merit badge.  Even the kid that needs hands-on help every step of the way learns something, and gets a huge confidence boost by earning the badge. 

I teach introductory programming using software called Alice, which is available free for download from www.alice.org.  There are several  texts available.  The one I use, by Tony Gaddis, has a lot of small lab assignments.  I have added to these with labs of my own devising.  What does this have to do with merit badges, you might be wondering?

In the class I teach, I treat each lab like a merit badge.  If a student is able to get the in-class lab assignment to work, even with LOTS of help from his fellow students (and me), he gets a check mark for the day.  The labs are short enough that even the slowest student can finish one in about 30 minutes or less. The day's lesson consists of a short lecture, followed by a lab assignment.  The student raises his hand when the lab is working, I come to his computer and verify that it is indeed working, and put the check mark in the roll book.  The satisfaction on the faces of these students when the lab works successfully is priceless!  And, when I calculate the grades, each checked lab is equivalent to a 100% homework assignment score. 

Alice is intrinsically fun, as the language generates little cartoons.  The student can SEE what a loop does because he/she can SEE something happening repeatedly on the screen.  It's the best tool, by far, for teaching elementary programming I have ever used.  By combining it with the "Boy Scout" method, we can attract and retain computer science majors much better than ever. 

Also, I have taught Alice to a bunch of high school teachers in this area, and some of them are using it in their classes, much to my delight.

Now that I am about to retire, I finally figure out what I am doing! 

Monday, December 23, 2013

Movie Review: Travelling Salesman: P=NP

This is a movie about a subject that only computer people generally are familiar with, so a little background discussion is needed. For those of you in the know, forgive my oversimplification.

In computer science, the kinds of problems that could be attempted by a computer are divided roughly in to two categories.  Those that can be solved in a reasonable length of time are called "P".  Those for which it is possible to solve them, but they aren't put on computers because they would take MUCH too long, maybe thousand of years even on the fastest computers, are called "NP".  The title, Travelling Salesman refers to a famous problem in the second category.  The problem is simple to explain.  Suppose you are a travelling salesman who must visit a list of cities.  Knowing the locations of the cities and the distances between them, what is the shortest route you can take which will take you to every city?  For a short list of cities, it's not a bad problem.  But, when you start adding cities, soon it becomes unbelievably hard to solve, even on a computer.   Theoretical computer scientists spend a lot of time studying this problem. 

The basic premise of the movie, which doesn't become entirely clear until about the last 10 or 15 minutes, is that a group of 4 of the most brilliant computer scientists have been hired (for a LOT of money) by the NSA to find a way of solving "NP" problems.  According to the movie, they were successful!   First, they found a proof that there is a way to convert "NP" problems into "P" problems, and second, they created a new kind of computer processor that would do just that.  So, with the new processor, lots of problems that were previously unsolvable (like the travelling salesman problem) would become solvable. 

The technical details of the new processor are never really discussed, because that's not the point of the movie.  The point is that the NSA wants to keep it secret, and only let the government use it for its own purposes, and not let it out to the world.  The movie consists of the computer scientists sitting around a table with a representative of the NSA discussing the legal, moral, ethical, and social effects of such a move.  The computer scientists were not expecting this.  They thought their discovery would be of benefit to all mankind, not just the NSA. 

I think it is a fascinating movie.  There are lots of references to famous computer scientists and mathematicians, such as G. H. Hardy, generally recognized as one of the best mathematicians of all time.  One of the computer scientists is supposed to be among the extra-brilliant, on par with Hardy, and he is the one that turns out to be most bothered by the situation. 

Watch the movie and let me know what  you think.

Thursday, December 19, 2013

Pointing and laughing.

It is the next-to-last day of finals week.  A student in the next room is taking his final for the directed study we did this semester.  He did fairly well in the course, so I am expecting a pretty good score on the test.  The rest of my work is as close to caught up as it generally gets.  I spent some of this week sorting my accumulated things-to-do into two piles:  "Do it NOW"  and "It could wait until after Christmas."  Almost everything in the "Do it NOW" pile is done, so I'm feeling pretty good.   As it was in my previous job, the administrative work takes more time than the school says it ought to. 

In the meantime, when I get a few minutes to think about things other than work or other day-to-day life tasks, it is great to think about my retirement plans.  Now that I know when I am retiring (next summer), and where I will be going (back down south to my home state), I can think about what I will be doing.  I have a very long list of things I would like to do!   A friend who recently (a year ago?) retired told me he was still adjusting.  My cousin has also been retired about a year, and she told me she has still not adjusted.  With so many things I want to do, I believe it will  take me about a week to adjust.  Maybe not that long!  Maybe 45 minutes. 

In a conversation last week at a Christmas get-together, the subject turned to the upcoming Mega Million lottery.  One of the guys said that if he won a big lottery sum, his plans were to point and laugh (I assume at the rest of us poor stiffs who did not win.)  I like that image!  I plan on doing pointing and laughing next summer. 

Monday, September 30, 2013

Memory lane


 
IBM 1130 - circa 1970
 
Since Southern Man posted a picture of the first computer he worked on, it inspired me to post the first computer I worked on.  The college I attended actually paid me (just minimum wage) to develop software - not for a class, but for the college to use. I had no idea what I was doing.  I had taken one course in programming, and earned a C.  But, they were desperate.  I worked in Fortran, and had a whopping 8K of memory.   I produced software for both accounts payable and payroll.  The payroll system was used until they got a new machine (an HP) in the late 70's.
 
If you look at the picture, you see the  computer on the left, with the disks on a rack on the top.  One would open the blue door to remove and insert the disks. Too bad the picture is too small to see, but just above the keyboard is a row of toggle switches for input, and above that are lights that show the binary content of all of the main registers. Just to the right is the IBM 1132 printer, capable of a blinding 80 lines per minute.  You could hear each letter strike separately.  On the far right is the card reader.