Showing posts with label Geometry. Show all posts
Showing posts with label Geometry. Show all posts

Wednesday, December 2, 2009

Flow Proofs and SSIS

Yesterday I was finishing up a SQL Server Integration Studio (SSIS) project and my youngest son came into my office. He is taking Geometry and mentioned that my computer program looked like a "flow proof." I thought his comment was interesting because computer programming reminds me a lot of proofs from back when I took geometry.

In computer programming, you have a starting point and a final ending. The idea is to get from the start to the end using a limited number of simple steps. That sounds a lot like geometry proofs to me. Unfortunately nobody ever has any fond memories of geometry class. So when I explain the similarities between coding and proofs, it turns people off from wanting to be a computer programmer.

Last night when I told my son that my project was a lot like flow proofs, he laughed at me, called me a nerd, and headed up to dinner. I followed him and thought about what makes coding more rewarding than math homework. While it is nice to get paid for work, there is more to it than just money. I think there is a sense of satisfaction when you build something and computer programming gives you that chance.

I also thought about how much computer programming and math are alike. Before colleges and universities had dedicated computer programming majors, it was the electrical engineers that built the computers but the math majors that would often end up programming them. Even now, most comptuer programming majors are an extension of the math department. My own Dad was a math major and his first job out of college was as a computer programmer.

This afternoon I thought about the relationship between math and software and came to the conclusion that the guys that designed the SSIS really had fun in geometry class. However I'm not sure it is a good method to try and get the computer to do what I want.

Wednesday, September 30, 2009

Geometry Homework

Last night my youngest son came and asked me to help him with his geometry homework. As part of the coursework required for my degree in electrical engineering I managed to pick up a minor in mathematics. I also have a minor in physics but that really wasn't important for last night's assignment.

Geometry is one of those topics that you really only experience at one time during your path to greater mathematical understanding. While you may continue to use one or two geometric formulas, the bulk of geometry is so different from all other topics that I was concerned I wouldn't be able to help my son.

He brought down his homework and we looked at it together. There were three proofs. His whole assignment was three problems that took up a single piece of paper. The first two problems had the hard part done. It was left to my son to label each of the steps required to go from "given" to "proof." He had done a fairly good job at guessing the labels. However the third and final problem required him to develop the steps on his own and that really had him confused.

I pulled out a scratch piece of paper and started working out the proof myself. Half a sheet of paper later, I had gone in a circle and was no closer to a solution than a monkey with a dart. So I put down my pencil and thought about the problem. Geometry proofs are like driving a car. You have a starting point and know your ending point. It is then up to you to use a series of theorems and postulates like roads to reach your destination. While it is possible to get in your car and drive around until you find your destination, a lot of gas can be wasted. It is much more efficient to map out a direct path.

I picked up my pencil and noted a couple of things that would take me from the start to the end as quickly as possible. The whole problem took about three steps and I was done. Then I could explain the problem to my son and help him get the answer on his own.

Even though it has been almost 30 years since I had geometry, I was still able to help my son with his homework. It isn't because I have a great memory and can still remember back that far. It is because geometric proofs teach you how to use simple steps to solve larger problems. That is all computer programming is. Since I have been programming for over 20 years, the skills I learned back in high-school have constantly been used and I was able to help my son. I guess I'd better apologize to my old math teacher from when I said, "I'll never use this."