I think my biggest problem is that my scope of what is happening when I write programs is very limited. I understand best practices because my teachers and bosses have told me that how we do things but I don't understand why. I might be mistaken, but I'm hoping that understanding how things work conceptually will change how I in turn write programs. Its too bad that CS degrees aren't more focused on tangible software and skills though.
I'm looking at a Masters program right now at Pace University for Software Development and engineering. Here is a list of the courses I would take. http://support.csis.pace.edu/CSISWeb/docs/worksheets/GradWor...
Does that seem like it would be better than Computer Science?
In the end: I want to be a better programmer. I would do it concurrently with working. Does a program like the one I pasted above seem worth the student loans and time spent?