In fact, with a particularly strict reading of software patents, one can hardly get an education and fulfill the programming assignments given to students without tripping over a patent or three. For instance, looking at the above linked examples page, I notice that I infringed on Patent #5,175,857, in my second Computer Science class I took. ("Quicksort implemented using a linked list of pointers to the objects to be sorted.") A college sophomore did it all by his lonesome. Either I'm a genius (along with a good 5 or 6 other people in my class who did it the same way... lotsa geniuses for one class, don't ya think?), or it's not that non-obvious.