I am procrastinating a bit by writing this but its been in my head today.
I know going into the GIS program that it would be heavy on the computer programing. This was proved to be a steep learning curve. Only recently through both changes in the character of some classes and the work at my practicum have I really started to see what I really am getting out of this program.
While it is nice to get computers to draw pretty maps and extract information from databases to build maps. That is not what has gotten me excited. It turns out I have developed a liking for computer programming. Its not easy and it challenges one of my bigger weaknesses, it forces me to have greater attention to detail. It also forces me to think clearly. Being forced to take on those things is a good thing.
What really has been getting me excited is the problem solving. While I was never the largest fan of word problems as a child I find that in this space I love it. Right now I have a three week assignment using one of the hardest languages I have had to work into date. And in the coarse of 6 to 8 hours of work spread of three days I have gotten a good chunk of the first stages functionality built. Today I woke up with ideas about how to make it work running through my head. I built most of it.
Then I got stuck. But I got stuck in a way that was good. For I knew I knew how to ask it to give the map's layers names, I just did not have a logical and simple way of doing it off the top of my head. Thankfully I am lazy, this is an asset in programming. I researched a few paths I though might take me in the right direction before seeing them as too much work. My code was working but my logic was poor.
During a break I asked a roommate who is a computer science student about the problem. And here is where I really saw how much I had grown. I asked for help, I got the logical step I was missing. Within a few minuets I had told VBA, to make a array, its like an egg carton, this one was holding words and only words. And I had not even tried to make an array in that language before. 6 months ago or less I was struggling to get stuff into an array let a lone get it out of it again and make it do something useful. But I did get stuff out of it and it did do some thing useful.
With my practicum I have been given a baby steps project. It does tie into a tool they have. I was given a set of stages to built it in. I finished the last of small steps on Friday. Now I get to start playing outside of the little sand box of opening a txt file.
All of this has in common the wonderful feeling of having a problem that needs solving but also that it can be solved. So I find my brain running in the background coming up with ideas when I wake up even though I can't recall explicitly thinking of it during the previous day.
I also like that I am now with a heck of a lot of work and some brain pain able to produce something that can be useful.
'Array to hold string that is layer name
Dim aryName As Variant
aryName = Array("Crime 1995", "Skytrain", "Main Roads", "Police Zones")
Dim i As Integer 'counter for array
i = 0
'Loop till gxObj is nothing
'this will cycle through the selected enumerator
Do Until bgxObj Is Nothing
Set ShapeClass = ShapeWork.OpenFeatureClass(bgxObj.Name)
Set ShpLyr = New FeatureLayer
Set ShpLyr.FeatureClass = ShapeClass
ShpLyr.Name = aryName(i)
i = i + 1
Set bgxObj = bEnum.Next
The better part of this mornings work. Yes I do under stand what is going on here. Barely.
I told myself when I went into this program that I wanted to come out good at something. I think I will miss that target but I will have the tools to actually get good at something it will just take time.